Pending order execution

 
Hi fellow traders.
Let's say I'm trading EURUSD
I put a buy stop at 1.03005. 

Option A : MT5 will wait until the price match or go above 1.03005, and will then send a market Buy to the trading server. 

Option B : The buy stop is immediately sended to the trading server. Then it's the trading server that will wait until the price match or go above 1.03005, before trying to open a market buy. 

So in short who is sending the market buy order. 

I'm trying to find out. 
Because I got to much delay beetween when the conditions are met and when the pending end up being a market order. (like 300 ms). 
Thanks! 
 
Yerim Rayann Gon Diarra:
Hi fellow traders.
Let's say I'm trading EURUSD
I put a buy stop at 1.03005. 

Option A : MT5 will wait until the price match or go above 1.03005, and will then send a market Buy to the trading server. 

Option B : The buy stop is immediately sended to the trading server. Then it's the trading server that will wait until the price match or go above 1.03005, before trying to open a market buy. 

So in short who is sending the market buy order. 

I'm trying to find out. 
Because I got to much delay beetween when the conditions are met and when the pending end up being a market order. (like 300 ms). 
Thanks! 


The answer is Option B! However, the speed at which the order is satisfied (on the trading server), and it may even fail, depends on various conditions, such the available liquidity and the amount of volatility.

 
Fernando Carreiro #:


The answer is Option B! However, the speed at which the order is satisfied (on the trading server), and it may even fail, depends on various conditions, such the available liquidity and the amount of volatility.

Thanks you Fernando!!
Well, even thought it's broker dependent, can I do something to help reduce the delay? 
 
Yerim Rayann Gon Diarra #: Well, even thought it's broker dependent, can I do something to help reduce the delay? 

Use non-dealing-desk account types (e.g. STP or ECN depending on your needs) that directly connected to liquidity providers, and select a broker that is regulated and reputable.

EDIT: Broker discussions, recommendations or suggestions are not allowed on the forum. Read the following — Broker selection

Broker selection
Broker selection
  • 2023.05.02
  • Carl Schreiber
  • www.mql5.com
MetaQuotes (MQ) is NOT a broker nor does it provide any financial, investment, brokerage, trading or data feed services, nor is it involved in any...
 
Yerim Rayann Gon Diarra:
Hi fellow traders.
...
I'm trying to find out. 
Because I got to much delay beetween when the conditions are met and when the pending end up being a market order. (like 300 ms). 
Thanks! 

just wondering how you do the measurement between price changed and your order filled ?

 
Soewono Effendi #:

just wondering how you do the measurement between price changed and your order filled ?

https://www.mql5.com/ru/blogs/post/748959

Pending orders.

The frame shows the duration of execution of limit orders that opened positions. From tens of milliseconds to several seconds.


TP/SL-orders.

The frame shows the time it took to create a TP order (the first term), and then the time it took to execute it (the second term). It is clear that sometimes the creation of a TP order takes tens of milliseconds instead of zero.

Длительность исполнения торговых приказов
Длительность исполнения торговых приказов
  • 2022.05.03
  • www.mql5.com
Величина различия в мат. ожиданиях одной и той же торговой стратегии в Тестере и на реальном счете зависит не только от компетенции автора робота, но и от качества исполнения торговых приказов
 
Soewono Effendi #:

just wondering how you do the measurement between price changed and your order filled ?

Well I just go and check ticks and there time stamp. You can acces the tick by doing right click on an asset then click on symbol, then go the tick section and request tick for a period long enough to cover the placement of the pending order to their execution. 

Here is an example. For the sake of simplicity we will not consider spread. 

My buy stop order was place at 13 : 29 : 56.108 (hour : minutes : second.ms) at 1.03084.

So if the price go to be equal or superior to 1.03084, the trading server should open a market buy as soon as possible.

Couples of tick went by 

At 13 : 30 : 01.222 price jump to 1.03326. We are well above our pending order price. That mean the server should open a market buy order as soon as possible.
 For me I expect the trade to be open immediately, since they knew in advance at wich moment to open the trade, so it's not like they have to wait to receive an order from MT5 (wich may cause latency). 
And on top of that, they next tick came 30ms later. 30 ms time range is enough for a server to process that it's the moment to open the trade and opening it before that next tick. 

But somehow the market buy, got open 300ms and 4 ticks later. 
Meanwhile the price is already gone. 

Why the h*** do there server need 300ms to process a simple info and open a trade? Something my laptop can do in a couples of ms? 

For us scalper 300ms delay feels like 10 years. 

So that's how I figured out they took eternity to open my trade, resulting in a loss 


 
thanks for the info, very helpful