Is API implementation stable?#
The API is ready for production use at this point.
How can I be sure your service is reliable enough?#
We implemented over a thousand automated unit and user acceptance tests which we execute before each release.
What is the maximum workload size supported by your service?#
The service was tested integrationally with workloads of up to 5K MetaTrader accounts. This does not mean that 5K accounts is a limit. The theoretical limit based on load test results of individual service components is 1M accounts. It is theoretical because we just can not get as much hardware at this point to test this kind of workload integrationally. This said, it is necessary to run appropriate load tests before launching workloads bigger than 5K accounts.
What is your service uptime?#
We are constantly working to improve our uptime. The averate per-MT account uptime measured on production during trading session exceeded 99.5% in Feb, 2021.
For trading robots or other apps where uptime is critical we recommend to launch your workloads on an infrastructure with increased reliability. Workloads launched in this mode were load-tested to have per-MT account average uptime of up to 99.96%.
What are the latencies introduced by your servers?#
Median trade execution latency introduced by our servers was measured to be 6ms. Median update streaming latency introduced by our server was measured to be less than 1ms.
Ping time from our servers to New York is less than 9ms, meaning that when you trade via MetaApi using a broker located in New York, then the network latency for trade execution will be less than 4.5ms.
Please note that network latency and latency introduced by our servers is added on top of regular broker latency, i.e. the latency which is introduced solely by your broker. E.g. a typical ICMarkets latency for trade execution usually varies between 150 and 450 milliseconds.
If you are trading correlated strategies on your accounts please consider using resource slots feature to reduce trade & signal latency.
Where the API servers are located?#
Our API servers are located in a data center next to New York which is suitable for brokers who have servers located in NY area, such as ICMarkets. Please contact us (email@example.com) if your application runs in a different location and you need lower latency for your location. We will consider deploying API infrastructure in different regions as per your request.
We recommend you to deploy your app either on a New York VPS or in AWS Ohio (us-east-2) region for lowest possible latency.
I would like to see working code samples, do you have some?#
Please check this short video to see how you can download samples via our web application.
Please check also our GitHub repos.
- node.js: https://github.com/agiliumtrade-ai/metaapi-node.js-sdk/tree/master/examples
- Python: https://github.com/agiliumtrade-ai/metaapi-python-sdk/tree/master/examples
- Java: https://github.com/agiliumtrade-ai/metaapi-java-sdk/tree/master/examples
Please note that these all are working code examples. We execute them before each release to make sure they still runs correctly after each update we make to our service.
If you have questions on how to use them, please check Using code examples document.
How to get an optimal latency for my app?#
To get a lowest possible latency we recommend you to host your application in AWS Ohio (us-east-2) region. This way your trading and data synchronization latency for brokers hosting their servers in New York is expected to be magnitude lower than a typical broker delay for popular brokers.
Will I be charged for an account I added to your app?#
You will be charged for it only if API server is running (i.e. in deployed state). You can stop the API server any time.
I would like to save on a cloud offering by launching an API server for a short time, then executing some actions, then stopping it again. Can I do so?#
Yes. Please note that in current version you are billed for 6 hours each time you start your server.
I would like to get a trial, is this possible?#
MetaApi provides a free tier so that you can test our APIs.
I plan to run many accounts at once. Can I get a discount?#
We designed our pricing so that you pay equal or less than amount you have to pay for executing your own infrastructure even in high volume usage scenario. Please check our pricing.
Is the service safe to use?#
Security of our service is mostly based on the fact that it is not possible to transfer funds from your trading account using trading terminal access, because access to deposits/withdrawals is split from trading access by your broker. Our app requires only trading terminal access to operate correctly. Feel free to do your own research on this subject if you want.
When you add your trading account to our, you expose your trading password (so that our app can connect to your broker) and your API calls to our app.
In our company we employ standard industry security protocols. The application code is being reviewed by senior management before going into production. The cloud infrastructure runs on an isolated network and all ingoing and outgoing communication is encrypted and uses strong authentication. The number of people who have access to production infrastructure is limited to a single person who administers the infrastructure and resolve technical issues if they arise.
I want to try a service without risk of making real trades, can I do so?#
You can add a demo account to our service.
Alternatively you can specify investor password for read-only terminal access (trading features will not be available in this case).
I'm getting 404 NotFound or 401 UnauthorizedError error when I'm trying to access my account via API, what might be wrong?#
Please make sure that the URL you use to access your account matches the region account is deployed at. You can find region-specific URL on API access page.
Any question? Post it via online chat any time to get a response. We will be happy to answer.