CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. 66 % of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money.

US stocks - execution time / delay / latency

Hi all,

I’m using an MT5 EA to open trades and it works mostly OK, but the execution time for a market order (US Stocks) is quite high. Sometimes it takes only a few seconds to execute the trades, sometimes it takes from 7 to 30 seconds and in one case 2 minutes. Maybe this is because I do schedule EA trades for a specific time and in some cases I open 4 trades at the same time. I have the feeling that opening several trades at the same time with the EA increases the overall execution time of all trades.
What should be the normal execution time with EA’s? I assume it should be in the hundreds of milliseconds or at least below 1 second, right? Not 7 or 30 seconds.

I’m running MT5 on a laptop with Intel i7 core / 4GB RAM. Idle CPU is between 0 and 1% utilization
MT5 server response time is about 40 - 50 ms.
EA order execution time for my demo account is always less then 2 sec. , even with 4 trades opened concurrently.

Thanks in advance for your comments.

Maybe you should change the category of this topic to “help/support” to get a better answer from Darwinex about the stock trading connection.

My MT4 EA trades only Currencies and CFDs and the usual time for a trade execution is 95% less than 1 second and the remaining 5 % less than 2 seconds. My latency is between 20 and 35 ms here.
I cannot trade stocks or BTC with that account.

There are a lot of other questions to give a more qualified answer to EA usage:
How many open charts do you have?
How many EAs are running?
Are there error messages in the protocols (journal or EA messages) showing that 1 EA blocks the account for a while and the others can’t trade and produce the related error codes?

thanks for sharing your experience. Meanwhile I also have some more experience with US stocks and I’ve found out that my long execution times seem to be related to the liquidity of a symbol. With highly liquid symbols like Apple , I have very small execution times. With others like NEM (Newmont Mining) I can wait for 2 min. and the trade can even be rejected. I admit that this was a rather small trade worth only 800 $ , but It seems very strange to me that there is no seller for 2 long min. . FCX ( Freeport ) has similar problems with 30 sec. of execution time and not as bad as NEM. In general NEM has trading volume of about 4.000.000 $ in the first 5 min. So I wonder why a 800 $ trade can’t be executed within 2 min. or even within seconds.
I can see that such trades are hanging there with a message like “request adding” until the trade is opened or rejected. This is happening also with manual trades. So I don’t believe that this is about my EA. Maybe it also has to do with the fact that I’m trading close to the opening time of NYSE as I’ve reported here another problem related to US Stocks. I’ve still no idea why this could be though.
The hint with the EA message is good, this is the way I’ve found out what has happened.
It looks like the trade is send to the Broker (Darwinex) and it’s then forwarded to the liquidity provider. But the provider doesn’t provide any liquidity for these symbols.
Possible reasons:

  • my trade is too small for sellers that are available to the liquidity provider
  • too few sellers at the liquidity provider
  • lot size is too small for the liquidity provider, even though minimum requirements for lot size is meet.

My EA configured on multiple charts (4-5), but some of them are inactive for auto trading. However, these inactive EA is still generating messages (like “Auto trading disable”) and they keep generating these messages for 2 minutes once every second, per chart. I don’t know if those pointless retry’s do disturb the execution of the active EA. I’ll remove them and see what happens, but as I mentioned above I don’t believe those long delays have anything to do with the EA. Maybe a very small delay, yes. I’ll find out.

They do, but I cannot say how massive they disturb. In extreme cases this could also last more than a minute. The I/O generating the message costs also time. It is better to open only the charts used and to remove the EAs not used as you want to try out.

The same is with indicators on the chart - keep only what you really need.

If you check your execution report (updated weekly) at your real account at Darwinex, you should see the delays after an order is send to the market.

Edit: sometimes it is better to open 2 terminals for the same account and split the number of charts and EAs between both (or more, if necessary).

1 Like

I’ve tried that as well today, but it didn’t help. I will keep testing that.

There were only 2 retries within 1 second and since I have a powerful CPU, it shouldn’t really matter. But you’re right. It’s better to remove everything that is not needed. I will try that as well.

CPU is not all. If you run Windows 10, RAM is also important.

If you have other applications running on the MT5 PC, watch that in the task manager.

A few weeks ago I had a problem here with Firefox’s storage management on the 8 GB Laptop and it killed the performance of my 2 MT4 terminals. Meanwhile I use only one Terminal there (the demo terminals run all on another PC now) and Firefox is only open when I need it.

I’ve also plenty of free RAM left (2GB) , so that should be ok too. My task manager says that CPU utilization is consistently only at 0 - 1% in idle mode. All applications are closed.
The thing is also that I believe that the trade is already send to the broker (indicated by the message “request adding”). This is there and stays there for the 2 min. (or 30 sec.) . After the trade is canceled or opened, this messages disappears.

1 Like

You should see that in the execution report as delay next week. If not, ask Darwinex what happens during this message and where your orders are hanging around.