What Is Slippage Trading (And How It Eats Your Edge)
Slippage is the tiny gap between the price you wanted and the price you got. Once or twice it’s nothing. Across a thousand trades it can erase your entire edge.
You run a backtest, tweak the entry, polish the exits. The curve looks smooth. Then you take it live and the equity line develops a limp.
This is a plain-English guide to slippage trading.
The trades are the same. The fills aren't.
What is slippage trading, really?
Slippage is the gap between the price your system asked for and the price you actually got filled at.
That’s it. No mystique. Just a small, constant leak.
On a buy order, negative slippage means you pay slightly higher than expected. On a sell, you receive slightly less. Positive slippage exists in theory, like supposedly safe arbitrage and honest Instagram PnL screenshots, but in most retail trading it’s rare and small.
The direction of travel is usually one way.
Formally, for a single trade:
Slippage per unit = (Executed price − Expected price) × Direction
Where direction is +1 for buys, −1 for sells. Positive number = cost. Negative number = benefit. Simple enough.
The problem is not one fill. The problem is aggregate slippage multiplied by position size, then compounded over hundreds or thousands of trades.
That’s where it quietly eats your edge.
Why your backtest "forgets" slippage
Most backtests assume you get filled at the bar’s open, close, high or low. Or at the bid/ask shown. With zero delay and no queue.
That’s fantasy execution.
Say your system buys when price crosses 1.1000 and sets a 20 pip take-profit and 10 pip stop. The tester dutifully assumes you bought exactly at 1.1000 every time.
Reality: you might get 1.1001, 1.1002, or worse in fast markets.
Let’s say your average negative slippage is just 0.2 pip per trade. Tiny. Forgettable. On a single EURUSD trade with a 10 pip stop and 20 pip target it feels irrelevant.
On 2,000 trades, it stops being irrelevant.
Total slippage cost ≈ 0.2 pip × 2,000 trades = 400 pips. If your entire backtested net profit was 600 pips over that sample, real execution has just quietly erased two thirds of it.
Your curve still goes up. Just not as much. Until another leak joins in.
Combine this with trading costs, spread, and the usual backtest optimism and you’re very close to the world described in "What Is Walk Forward Testing (And Why Backtests Lie)" — pretty charts, weak reality.
The chart is loyal to the settings, not to you.
How slippage shows up in your stats
Slippage doesn’t usually change your win rate much. It does something subtler and nastier.
It compresses your average R per trade.
Take a simple hypothetical system:
- Win rate: 50%
- Average winner: +2R
- Average loser: −1R
- Expectancy: (0.5 × 2R) + (0.5 × −1R) = +0.5R per trade
Looks healthy. This is the sort of thing people proudly describe in "What Is Trading Expectancy (And Why Your Win Rate Is Lying To You)?"
Now slip each trade by just 0.05R against you. A small drag relative to target and stop.
- Winners become: 2R − 0.05R = 1.95R
- Losers become: −1R − 0.05R = −1.05R
- New expectancy: (0.5 × 1.95R) + (0.5 × −1.05R) = +0.45R
Your expectancy per trade is down 10%. From slippage you could barely see on a single order ticket.
Make the original system marginal — say +0.1R per trade — and a similar slippage cost takes it all the way to zero or negative.
That’s the real danger: not that slippage turns a monster system into a disaster, but that it turns a fragile edge into no edge.
Why the win rate fools you
This is why staring at win rate on a live track record is often misleading when you’re evaluating what is slippage trading doing to me?
The pattern of wins and losses may look the same. The depths of the losses don’t.
Imagine two versions of the same system, hypothetically:
| Metric | Backtest | Live (with slippage) |
|---|---|---|
| Win rate | 52% | 51% |
| Avg win | +1.8R | +1.7R |
| Avg loss | −1.0R | −1.1R |
| Expectancy | +0.34R | +0.17R |
That’s a 50% haircut on expectancy for what looks like a near-identical system at a glance.
Your brain sees "still winning about half" and relaxes. The maths disagrees.
If you size using any kind of growth logic — fixed fractional, or worse some Kelly-inspired enthusiasm from "What Is The Kelly Criterion (And Why Full Kelly Ruins You)?" — that halved edge bites twice.
Edge is lower. Volatility is the same. Drawdowns get bigger relative to growth.
Where slippage actually comes from
Forget conspiracy theories for a second. There are a few very basic mechanical reasons slippage happens:
- Latency: Time between your system deciding to trade, the order hitting the broker, and the order being routed.
- Market impact and queue position: You’re not alone at that price level. If you’re at the back of the queue and price moves, you chase.
- Volatility and gaps: Around news, sessions opens, or thin liquidity, price just jumps.
- Order type: Market orders will fill. Limit orders might not. Stop orders turn into market orders once triggered.
Automation removes one source of latency — human reaction time — but not the rest.
A discretionary trader clicking on a DOM during NFP might see half a second of hesitation and get wrecked on slippage. An automated system will be faster. It will still sometimes hit a moving train.
Robots don’t make you immune. They just make you consistently exposed.
Automation: what it fixes and what it doesn’t
This is the bit everyone gets backwards.
They think "If I automate, I will avoid slippage". No.
Automation does a few useful things:
- It triggers instantly on a signal. No human delay. No "just one more tick" hesitation.
- It behaves the same way on trade #3 as trade #3,000. No boredom. No revenge entries.
- It lets you measure typical slippage per market, per time of day, per broker because you finally have consistent behaviour to analyse.
That last one is the key.
What automation does not change:
- The broker’s actual liquidity and routing.
- The fact that thin markets slip worse.
- The impact of volatile news periods on order fills.
- The reality that stop orders become market orders and can gap straight through your level.
In other words: automation lets you see slippage clearly. It doesn’t magic it away.
Why marginal systems die from slippage
All of this comes back to one uncomfortable truth: most retail strategies don’t have much edge to spare.
Slippage doesn’t have to be dramatic to kill something that was mostly curve-fitting and hope.
If your backtest shows a profit factor of 1.15 with no slippage modelled, that’s already on life support. A few tenths of a pip per trade in slippage plus live spread and commissions, and in reality you may be oscillating around breakeven with the occasional horrible drawdown.
From the outside it looks like "bad luck" or "the broker". The maths calls it thin ice.
This is why building for robustness matters. Wider targets relative to your typical slippage. More margin between spread+slippage and your average trade move. Less obsession with win rate, more with expectancy per trade and distribution of outcomes.
You design with leaks in mind, because you will have them.
How to factor slippage into your testing
You can’t fix slippage, but you can plan for it.
Step one is to stop pretending it’s zero.
Some practical options when you’re building and testing systems:
- Hard-code slippage assumptions: Add a fixed or variable slippage cost per trade in the backtest: e.g. 0.1 pip on major FX, more on gold or indices, or a fraction of the ATR.
- Test a range: Run your backtest with zero, moderate, and "ugly" slippage assumptions. If the system only works at zero, treat it as broken.
- Look at sensitivity: How much does your profit factor and expectancy fall when you increase slippage assumptions? Robust edges degrade gracefully, not catastrophically.
- Use realistic order logic: If your rule says "buy at breakout", model the fill closer to the ask beyond the breakout, not the perfect tick.
This sits alongside everything else we’ve covered on testing properly, like out-of-sample work in "In-Sample vs Out-Of-Sample Testing" and basic trade count sanity from "How Many Trades Do You Need To Test A Strategy Properly".
Your goal is not to build a system that works when the universe is kind. It’s to build one that survives when it isn’t.
Slippage is part of the universe.
Broker, market, and instrument choices actually matter
Different markets have different typical slippage behaviour.
If you scalp a thin CFD index overnight and then complain about fills, that’s on you.
A few broad, hypothetical patterns:
- Major FX pairs: Often tighter spreads and less slippage during liquid sessions, but news can still be savage.
- Gold (XAUUSD): Heavier ticks, more jumpy around news, can slip harder relative to stop size.
- Indices: Session opens and closes are especially messy; size and timing both matter.
On something like gold, where even a 0.01 lot minimum makes equity swings noisy on small balances, slippage is more visible because every tick is worth more relative to account size.
Two traders with the same percent risk per trade can have very different emotional experiences purely because one picked an instrument where a tiny bit of slippage is fraction-of-R noise and the other picked a market where the tick size makes the same slippage noticeable.
The risk is the same in theory; the ride is not.
Mitigating slippage without fantasy
Can you reduce slippage? Yes. Can you make it vanish? No.
Anyone who says otherwise probably also knows a bloke with an indicator that never loses.
Some realistic levers you do control:
- Avoiding the chaos: If your edge is not explicitly a news-edge, don’t trade into major releases. Stand aside. One horrific slip can dwarf twenty tidy fills.
- Order type discipline: If your logic genuinely needs a breakout, fine, accept stop order slippage. If not, prefer limits at levels where you’re happy to miss a trade rather than chase.
- Position sizing and volatility: If you insist on trading very fast timeframes or volatile instruments, size smaller than your spreadsheet says you "could". You’re compensating for real-world friction.
- Broker and routing choice: Execution venue matters. You want consistent, measurable slippage more than you want the occasional "free" positive fill.
This is all deeply unsexy work.
But the traders who survive are usually the ones who spent more time thinking about slippage, spread, and size than about exotic entries.
Entries are a promise. Execution is the bill.
What to watch when you go live
You’ve built the system, you’ve modelled slippage in backtests, you automate it. What next?
You verify that reality roughly matches your assumptions.
Some things worth tracking explicitly:
- Average slippage per trade: In pips, ticks, or fraction of ATR. Compare to the backtest assumption.
- Distribution of slippage: Are there rare but catastrophic slips? Tied to particular hours or events?
- Impact on R-multiples: Is the average win and loss shrinking in line with what slippage would imply, or is something else off?
- Time-of-day patterns: You might find slippage is consistently worse at certain times; that can inform when your system is allowed to trade.
Automation helps here because you can actually collect and analyse every fill, across multiple systems and markets, rather than trying to remember whether "it feels worse recently".
The goal is a clean feedback loop: assumptions → system behaviour → real fills → updated assumptions.
Not assumptions → blind faith → surprised drawdown.
And always remember the dull line that matters more than the curve: past performance, simulated or live, is not a guide to future results, and you can lose money trading leveraged products.
Slippage won’t disappear. Your edge might.
You don’t need to be terrified of slippage. You need to respect it.
Treat it as a structural cost, like spread and commission, that sits between your pretty backtest and your actual account.
If your edge survives realistic assumptions for slippage, execution costs, and a bit of bad luck, you’re in the right ballpark. If it only works on perfect fills, you don’t have an edge. You have a story.
The markets are full of those already.
If you want to see how automated, systematic strategies actually behave — winners, losers, slippage and all — watching real accounts run live is more educational than any spreadsheet.
Start your free 14-day ArcisTrade demo →
Watch multiple automated FX, gold and index systems mirrored into your own broker, no card required, no martingale or grid hiding under the hood. Every trade visible. Including the ones that slip.
Common questions
What is slippage in trading in simple terms?
Slippage is the difference between the price you expect on an order and the price you actually get. If your system plans to buy at 1.2000 but you’re filled at 1.2002, that 0.0002 difference is negative slippage. It happens because markets move while your order is being executed, and over many trades those small gaps add up.
Is slippage always bad in trading?
No. In theory you can get positive slippage, where you buy slightly cheaper or sell slightly higher than expected. In practice, especially for retail traders, negative slippage tends to dominate. The key is to measure your typical slippage and factor a realistic cost into your strategy design and backtesting, rather than assuming it will cancel out.
How can I reduce slippage on my trades?
You can’t remove slippage, but you can reduce it. Avoid trading during major news if your edge isn’t news-driven, prefer more liquid markets and sessions, size smaller in highly volatile instruments, and use limit orders where your strategy allows. Automation can also help by removing human hesitation, giving faster and more consistent execution to measure.
How should I model slippage in a backtest?
Add a realistic slippage assumption per trade, based on the instrument and timeframe. That can be a fixed tick or pip cost or a fraction of ATR. Then run your backtest across a range of slippage values to see how sensitive your expectancy and profit factor are. If the system collapses as soon as you add modest slippage, treat it as too fragile for live trading.