Using MQL5 signals service
Trade execution can often be critical or at least impact a traders P&L a bit, especially when placing larger orders or trading when the market is choppy such as around news times. To understand execution a bit better we need to break it down and really understand what constitutes good execution and how execution can be poor.
Some years ago a large percentage of brokers were offering so-called “instant execution” in MT4, which effectively meant a trader gets the exact price they requested (as taken from the feed or the price they see on their screens) or their order was not accepted at which time a requote would be issued. With this old style of order placement, fulfilment used to take some seconds as an actual human dealer was at the other end deciding whether or not to accept the order or issue a requote. In the past this was exploited by brokers as they had a period of time to secure a better price before confirming the order and there was no obligation to accept any order. This provided unworkable execution in a choppy or fast moving market and clients rarely received the best market price. Thankfully those days are gone and the manual acceptance of orders is safe in the past with nearly every modern broker.
Nowadays, nearly all brokers offer “market execution” in MT4, which effectively means a trader requests to buy or sell at the price that is available on the market at the time their order is filled (not at a requested price) and the order should not be rejected. That does mean that the trader is not guaranteed to secure the price they see on the screen at the time the request is sent (as the market can move between the time an order is placed and the time an order is filled). However, execution should happen in milliseconds or at least appear to be immediate following clicking the order placement button. In a fast moving market it is common that the trader may receive a better or worse price than what was displayed on the screen when they clicked the button to place their order. This price discrepancy is known as “slippage” and can occur as the price can move between the times the order was requested and when it was filled. Therefore, the faster execution occurs the more likely the trader is to receive the best pricing available in the market at that time and the less likely they are to receive slippage.
With market execution (or market orders) we have just touched on how slippage can occur due to a fast moving market. This kind of slippage can be positive or negative. However, there is another kind of slippage that can occur due to very large orders being placed and that kind of slippage can only be negative. To understand why slippage occurs on very large orders we need to explain how orders are routed to liquidity providers. Let’s use an example of a trader placing an order for 50.00 standard 100k lots (which is effectively 5m of base currency in volume). In this case the broker will attempt to fill the entire volume with the liquidity provider that quoted the best price (which was streamed on the price feed). Since the order is very large the liquidity provider that quoted the best price might only be able to partially fill the order with 20.00 lots at that price. When this happens the remaining 30.00 lots will be routed to the next best priced liquidity provider and they might only fill 25.00 lots. The remaining 5 lots will go to the next best priced liquidity provider that will fill the remaining 5.00 lots. The client will therefore receive a volume weighted average pricing from the 3 fills and will end up with negative slippage as the total order volume could not be filled at the best price, which was being quoted/streamed at the time the order was placed. In the case of insufficient liquidity it can happen that an order is not filled in its entirety. For all of the above reasons most brokers set maximum order size limits in the platform to avoid slippage and partial fills. The best execution performance occurs when the top-of-book fills are deeper, less slippage occurs with larger orders and orders are filled in their entirety. In reality the vast majority of traders do not place such large orders but those that do understand just how important deep liquidity can be.
So now we have covered order types, execution speed, slippage and liquidity depth we should now understand what constitutes good execution and why some brokers might be better than other for particular styles of trader.
For those keen to understand how to gauge a brokers performance or compare execution between brokers there are some simple things that can be checked, as follows:
1. Click on the Signals tab in the MT4 Terminal window and browse through the signals
Execution speed
Execution speed can be assessed by placing an order in MT4, closing it and then checking the Journal tab in the Terminal window. The journal tab records and shows every action that occurred in MT4 and timestamps it to the millisecond. If you look carefully you will be able to find an order request such as “order buy market” and the fill/confirmation with the price such as “order was opened…”. If you compare the timestamps between these two logs you will find the execution time to open an order. If you do the same thing on the order closure you will find the execution time to close an order. It is interesting to see that there are often varying delays between brokers and you can often find some inconsistencies. Brokers with the best execution will have low and consistent order fulfilment times.
Journal showing difference between order request and order fill times:
Slippage
Slippage on opening a market order can be difficult to assess as there is no record of the market price when the button was clicked (when using market execution in MT4). However, if you use limit/stop orders to open an order or TP/SL stops to close an order it is very easy to identify slippage and it may shock you that the vast majority of orders might contain a little slippage. This is not wrong, it is simply how the market works and a broker with the best execution will often never be able to fill an order at the exact price of the feed but it should be very close. If you notice consistent negative slippage on limit and stop orders during times of low volatility and when the market is liquid this should be questioned.
Showing TP and actual fill price, indicating slippage: