
But when your broker is playing the role of the exchange, there’s clearly huge scope for price manipulation along the way. Price manipulation allows your broker to make a riskless profit using your money. This means you receive unfair execution of your trade orders, often without ever knowing.
It pays to understand how price manipulation can work against you, and check that you are getting fair treatment.
What is Price Slippage?
Put simply, slippage means that the market has moved between the time an order was placed, and the time the order can be filled. Take the following example.
The broker quotes EUR/USD as follows:
Bid 1.05310
Ask 1.05320
A trader receiving the above quote in his trading terminal enters an order to buy EUR/USD at 1.05320. The order is sent to the broker across the network. On receiving the order, the broker then has to check that the client has sufficient funds to cover the new order. This means checking that the client has enough free-margin after taking into account any other open positions.
From the communication transfer to data processing, these steps all create a delay. This means that from the time the broker received the original quote, to the time the broker can fill the order, the live price may have changed. The difference in the quoted price and the fill price is known as slippage.

For example, suppose that by the time these checks are complete, the market has moved. The bid/ask is now 1.05300/1.05310. What happens to the original order?
Dealing with Slippage
When you enter a “market execution” order, you are committing to buy or sell at whatever level the market is currently at. This means, your order will be filled regardless of the amount of slippage that’s taken place.
Some brokers will allow you to set a slippage limit when placing an order. This is defined as a point limit or maximum deviation from the quoted price.
For example, suppose you set a limit at 10 points. This means the order will only execute when the fill price is within 10 points of the open price that was set when the order was placed.
The problem here is that a lot of your orders might not execute at the times you want because they’ll be outside of the slippage limit.
Requotes
Rather than filling an order at a new price, some brokers do what’s known as requoting. This means, if the market has moved by a certain limit, the broker will send you a new price. This is a “re quote“. You’ll then have the choice to trade at that new price or not. Of course, there’s no guarantee that the new order will fill either.
You might receive another requote. This frequently happens if the market is moving quickly, for example, around economic news releases.
Requoting might be annoying but it simply reflects the reality that the market is moving quickly and trading at a new price level.
Why Does Slippage Matter?
Slippage matters a lot because it can lead to you receiving unfair execution prices. In other words, the broker can make a riskless profit off your back.
Take the example above. The broker quotes EUR/USD as:
Bid: 1.05310
Ask: 1.05320
When you send a market execution order, you’ve agreed to buy when the ask price was at 20. Now because of the order handling delays, the market has moved down to 10. The broker can now fill the order at 10. But you’ve agreed to buy at 20. Thus the broker buys EUR/USD in the market at 10 and sells to you at 20, making a riskless profit of 10 on your order.
In this case, you as the trader aren’t aware that anything is wrong. You just see your buy order execute at 1.05320 which was the price at which the order was placed.
Now what if the market moved the other way? When the broker fills your order, let’s suppose the ask price is now 1.05340. But you sent a market execution order when the price was at 1.05320. In this case the broker buys EUR/USD in the market at 40 and sells to you at 40. Your order executes at 1.05340. You duly see this recorded as a slippage of 20 points against you.
Asymmetric Slippage
If this happens for a small number of trade orders, it could be put down to arbitrary price movements in the market. If you placed hundreds of orders, and the slippage is always against you, then it’s time to be suspicious.
When a broker handles orders differently according to whether the market has moved in your favor or against you, this is called asymmetric slippage. This practice is illegal and is defrauding you of profit.
The NFA sets out some guidelines on slippage that help to ensure clients receive fair prices.
Here’s what the NFA said about several FDM (forex dealer members) it disciplined:
The kinds of asymmetric slippage they found were:
- The threshold for slippage against the client was set much higher than slippage that would be profitable to the client.
- The number of contracts that were allowed to execute at slippage disadvantageous to the client was set much higher than those that could execute at slippage that was profitable to the client.
- The broker would deny the client a better price if the market moved in the client’s favor.
This amount of scrutiny only applies to brokers with operations regulated in the United States. Keep in mind that offshore brokers have no oversight into their trade execution practices at all.
How to Test Slippage and Unfair Price Execution
So how do you check if you’re receiving fair execution prices from your broker? Testing on a demo account isn’t going to help. Forex demo accounts usually present you with a near perfect trading platform.
The only accurate way to check is to gather data in a live account. You can either do this as a one off check, or build it in as part of your trading strategy.
The buy slippage and sell slippage are calculated as:
Buy slippage = quoted ask price – execution price
Sell slippage = execution price – quoted bid price
For example, the table below shows three transactions on the buy side.
Quoted ask price | Executed at | Slippage |
1.05244 | 1.05248 | -4 |
1.05302 | 1.05302 | 0 |
1.06312 | 1.06319 | -7 |
Total | -3.7 |
For the sell side orders, the slippage is:
Quoted bid price | Executed at | slippage |
1.06122 | 1.06118 | -4 |
1.05168 | 1.05160 | -8 |
1.06113 | 1.06110 | -3 |
Total | -5.0 |
You then calculate the average slippage over a large number of trade orders. This needs to be done over a few weeks at least and preferably on more than one market. From that you’ll be able to see if you are getting fair execution prices or not from your broker.
If the movements are entirely arbitrary, you’d expect the number of positive and negative slippages to be about the same. Over time, they should average out close zero.
If the number of negative slippages is much greater than the number of positive slippages, that’s a sign that something is wrong.
The advantage of doing a random test is that you don’t introduce any bias from your strategy.
Slippage testing does cost money, but its money well spent. It’s especially important if you’re doing high frequency trading or if trading in large volume with your broker.
As with wide spreads, a slippage of a few points against you can quickly render a profitable strategy useless.
thank you so much for this great paper
What would be an allowable limit around about for slippage? In pips that is.
Anything above a couple of points should be looked at more carefully, especially if you’ve measured it accurately over a lot of trades. But in the end it really depends what you can live with and what your strategy is doing. A few pips here or there might be negligible for a strategy that’s holding positions for weeks, but for a scalper it would be catastrophic.
How do we find the quoted price and the execution price? I assume the execution price will be the one shown in account history, but the quoted price probably isn’t displayed by the broker -so – take a screen capture or something? This still doesn’t prove that you submitted the order at the quoted price.
With a market order the open price sent to the broker is the same as the last quote (bid/ask depending on buy or sell). That has to be captured in code and recorded for every order. You can’t get it from the account history as far as I know. The point is not to prove something to the broker here. They’re only going to say that the reason is slippage anyway, which we already know. It’s about checking for systematic bias in the order handling.
Thanks..Personally I would never trust a broker until I test on a real account. Slippage will cost you way more than spreads and the worst is you don’t know it’s happening. All hidden behind the broker’s wall.