The definition that matters
Slippage is the difference between the price you requested and the price you received.
That word "requested" is the whole problem. Your statement holds the fill. The request existed for a few hundred milliseconds inside your terminal and was never written to any file you can export. So the measurement requires something watching at the moment the order goes out — which is why this is not a number any upload-based tool can give you.
It also runs both ways. Positive slippage — a fill better than requested — happens too, and a broker that only ever slips you against your position is telling you something. What matters is not whether slippage exists (it always does) but whether it is symmetrical.
The arithmetic
Slippage feels small because it is quoted in points. Multiply it by how often you trade:
cost per year = average slippage per fill × fills per year
fills per year = trades × 2 (entry and exit both slip)
A trader taking five positions a day, 250 days a year, makes 2,500 trades — that is 5,000 fills. At half a point average slippage on each:
5,000 fills × 0.5 points = 2,500 points a year
On a standard forex lot at roughly $10 a point, that is $25,000. On a mini lot, $2,500. Either way it is not a rounding error, and for most active traders it exceeds their annual commission bill — which they can see, itemised, and worry about constantly.
Where it comes from
Latency. The time between your click and the broker's book. The price moves during it. Nothing pathological, just physics plus network.
Spread widening. The quoted spread at the instant of execution is not the spread you saw on the chart a second earlier. Around news it can multiply.
Liquidity at your size. A larger order fills across several price levels. The bigger you trade, the more this dominates everything else.
Order type. A market order accepts whatever the book offers. A limit order cannot slip against you at all — it simply may not fill. That trade-off is the only real lever most traders have.
"My broker has no slippage"
Almost always this means one of three things:
- Nobody measured it. The statement does not show it, so it does not exist.
- Trading happens in liquid hours at small size, where it is genuinely fractions of a point — real, but small.
- The broker is a dealing desk quoting its own prices, in which case slippage is not absent but invisible: the spread already contains it.
The third case is worth understanding. If your counterparty sets the price rather than passing your order to a market, then the difference between the fair price and the quoted one is a cost you pay without it ever being labelled.
What to do about it
Measure it before changing anything. A broker switch based on a feeling is a coin flip.
Compare like with like. Slippage at 09:30 on an index is not comparable to slippage at 02:00 on an exotic pair. Same instrument, same hours, or the comparison means nothing.
Consider limit orders where the strategy allows. Not always possible — a breakout entry that must be taken is a market order by definition — but many discretionary entries have thirty seconds of tolerance that people never use.
Recognise when it does not matter. If you hold for days and target hundreds of points, a point of slippage is noise. Spend the attention elsewhere.
What our tools can and cannot tell you
The free analyzers on this site read exported files, so they see none of this. They will not estimate your slippage, because the data is not in the file and an estimate would be an invention.
Measuring it needs the terminal-side connection, which records the requested price alongside the fill for every order. That is a product feature, not something a page can do — and it is worth saying plainly rather than implying otherwise.
What the free tools can do is show you the costs that a file does contain: what the spread and commission cost you per trade and per year.