Sometime, you see that your order is not executed at the exact price you placed. Is that a cheat from broker? Or a bug of MT4 platform? Fortunately, it is not. This is the nature of the forex market, where price may changes faster than the speed of order filling. There are two execution method to fill your order in MT4 (maybe also in some other platforms): Market Execution and Instant Execution.
If your broker offers Market Execution, you will see interface of order board in MT4 as follow:
At market execution, your order will be fiiled at the next available price on the market from the price you ordered. The broker can’t guarantee for filling order at the exact price you see on screen when you click Buy or Sell. This is because the process from the moment you click on your computer to the execution on server side would take time, while the speed of price changes may be faster than that in some high volatility markets. The difference between ordered price and filled price is called “slipage”. Slipage length depend on the gap between two consecutive available prices. The longer slipage is, the more it against your position. For instance, you click Buy when you see price 1.20000 on the screen but price is changing so fast and next available price on the server side is 1.20010 when your order come, then it will be filled at 1.20010. Worse, it maybe filled at 1.20050 or higher if next available price is at that level. You have to face to big killer “Slipage” with market execution, but your order will always be filled at anyway. Because the filled price is not guaranteed, market execution method doesn’t allow you to pre-set stoploss and takeprofit points. You have to modify the order after it has been filled. Market execution can be used by any type of brokerage model.
If your broker offers Instant Execution, you will see interface of order board in MT4 as follow:
At instance execution, your order will be filled at your desire price if it is available at server side when your order come. But different from market execution, which will fill your order at next available price no master how long the slipage is, instant execution will not not fill your order if it is not available. With instant execution, you can set maximum deviation, which allows order still to be filled within your acceptable price difference from your ordered price. This function help you to avoid “Requote” message that ask you for accept to fill order at new quoted price if it different from ordered price.
Filled price of instant execution is pre-determined, hence you can pre-set stoploss and takeprofit points. This execution method is used only by dealing desk or regular STP brokers, who doesn’t connect their client’s orders directly to liquidity providers but keep them in the system to process, so the orders can be accepted or not.
Comparison and Conclusion:
The comparison between Market execution and Instant execution is presented as following table:
|Market Execution||Instant Execution|
|Filled at next available market price||Filled within the maximum deviation of the ordered price|
|Auto execute if filled price is differrent from ordered price||Ask if new quoted price different from ordered price|
|Always to be filled||May not be filled if new quoted price is outside of maximum deviation|
|May suffer slipage||May suffer requote|
|Don’t allow to pre-set stoploss and takeprofit||Allow to pre-set stoploss and takeprofit|
|Used by any brokerage type||Used by dealing desk broker only|
It shows that each execution type has its own pros and cons. Which is better depend on your trading style and strategy. In our opinion, market execution is fairer while instant execution is safer. If you put priority on order filling chance and trade on larger timeframe, in which a small slipage doesn’t master, then market execution is your choice. But if exact filling price is vital to your strategy and trade on smaller timeframe, instant execution may be more suitable.