Order execution characteristics
Executing any operation takes a certain amount of time. When a trader places an order to open a trade (clicks a button in the terminal), depending on their location and the nearest server, it takes time to send that request to the server (for example, 50–100 ms). Then, the order is queued for execution, which also takes some time. Although we are constantly working on optimizing and reducing the time between the request and execution moments, it cannot be reduced to zero.
The price you see in the terminal also has to be delivered from the server to the terminal. Thus, by the time it reaches the terminal, the price may already be outdated — at least by the delivery time. Accordingly, the request price may differ from the actual price on the server and the execution price.
Slippage can be both positive and negative, and the ratio is approximately 50/50.
The lower the volatility, the less frequently quotes are updated → the fewer the price "jumps" → the fewer slippages. However, when volatility increases sharply, slippage becomes inevitable.
Slippage is the execution of an order at a price different
from the level specified by the trader.
Slippage is closely related to the term "gap" — a price change in which the next quote differs from the previous one by several points.
Slippage often occurs:
At the end of the trading day, as liquidity at such moments is extremely low due to many market makers simply stopping trading during those minutes;
During holidays in any given country, as liquidity drops due to fewer market participants;
During major news releases. The greater the impact a news item has on a particular instrument, the more the spread will widen for the corresponding instruments.
It is very important to take into account market events, which can be found in the Market Calendar. News and events can significantly widen the spread, which may lead to the opening or closing of a trade at a price that differs significantly from the price on the chart.
In other words, during times of high volatility or low liquidity, a situation may arise when quotes received by the terminal have large differences between each other. This leads to trades being executed at prices different from those set in the order.
When the price reaches the set level, the order is marked as ready for execution and is executed at the first available price after activation.
Stop Loss Example
Let’s say you open a buy trade at 1.04000 on the EUR/USD pair and set a Stop Loss at 1.03900.
Every first Friday of the month, Non-Farm Payroll (NFP) data is published — this is one of the U.S. macroeconomic indicators. It shows how many new jobs were created in all sectors of the economy, except agriculture.
Suppose a sharp price movement occurs when the news is released — from 1.0399 to 1.03800.
Since a gap occurred, meaning the next quote after 1.0399 was 1.03800, your trade would be closed upon reaching the Stop Loss level at the first available price after the gap, which is 1.03800.
It is impossible to exclude the possibility of slippage during a gap, as such "slippages" are not technical errors but fully reflect real market conditions.
Also, note that market orders are executed using Market Execution technology. This is a buy or sell system that automatically aggregates volume from liquidity providers depending on the order volume and calculates the execution price of that volume, returning it to the trader’s terminal.
Since the volume available at the time of order execution is limited, this price may differ from the one you saw at the moment of opening the position in the terminal. Thus, there is a direct correlation between the size of the trade and the execution price and speed.
Reducing the order size may increase the likelihood — but cannot guarantee — precise execution, especially during periods of high volatility and low liquidity, which are typical during news releases.
Keep in mind that other traders' requests are processed in parallel with yours, which directly affects the execution price of each individual trade.