All posts
MT5
Order execution
Trading analytics

· 4 min read

How to Measure MT5 Slippage: Compare the Right Quote with the Fill

Build an execution-quality worksheet with direction-aware slippage, weighted fills, timestamps, and broker records. Avoid mixing spread with quote-to-fill movement.

By TickerAI

Slippage measurement compares an actual execution with a defined price benchmark. The result depends on the benchmark's price side, timestamp, and relation to the order. A chart close or requested stop is not automatically the appropriate reference for every operation.

Write the comparison rule before reviewing fills. Otherwise choosing a favorable earlier quote after the trade can turn a measurement into hindsight.

Choose a benchmark that answers a question

A decision-time quote measures one kind of delay and movement. A submission-time quote measures another. A requested stop price measures exit performance relative to the protective instruction rather than the entire entry process.

Investor.gov's discussion of order execution explains why execution location and handling can affect transaction cost. Its stock-market context should not be mistaken for a specification of every forex broker's rules.

For MT5 analysis, preserve the actual broker quote and operation facts available to you. If a benchmark was never recorded, label the result an estimate rather than inventing a precise historical quote.

Make adverse movement positive consistently

One useful convention is to report adverse slippage as positive and favorable slippage as negative:

Buy: actual fill minus benchmark ask

Sell: benchmark bid minus actual fill

Suppose a hypothetical EURUSD buy is benchmarked to ask 1.1000 and fills at 1.1002. The adverse difference is 0.0002, or two conventional pips. A hypothetical sell benchmarked to bid 1.1050 and filled at 1.1049 has one pip of adverse difference.

At an assumed $1 pip value for the selected volume, those two differences correspond to $2 and $1. They are example measurements, not observed broker statistics.

Keep spread and slippage separate

If you compare a buy fill with a midpoint rather than the ask, part of the difference can reflect crossing the spread. That is a valid benchmark choice only if you label what it measures.

Do not then add the full spread again and describe the sum as pure slippage. Likewise, actual entry-to-exit price P/L already contains the fill differences; subtracting the same slippage again would double-count it.

Use trading-cost accounting to reconcile the final net result separately from an execution-quality benchmark.

Weight multiple fills by their quantity

Assume a hypothetical buy receives 1,000 units at 1.1001 and 1,000 at 1.1003. Its volume-weighted average fill is 1.1002.

Against a benchmark ask of 1.1000, that is two pips adverse. With 2,000 units and the usual EURUSD pip convention, the money difference is $0.40 under the simplified USD-account calculation.

A simple average works here only because the quantities match. With unequal quantities, weighting is necessary. Also preserve the unfilled remainder and canceled amount rather than judging execution using successful fills alone.

Match samples before comparing averages

Separate symbols, order types, time periods, and relevant execution contexts. Averaging raw price distances across EURUSD, gold, and an index mixes different units.

For a distribution review, include sample size, median, large adverse observations, and favorable outcomes. A mean near zero can hide occasional large losses. Explain missing benchmark coverage and whether excluded records differ from the retained ones.

Do not infer broker quality from a few trades around one release. The sample and benchmark must support the claim being made.

Build the worksheet with TickerAI

Record account alias, exact symbol, side, quantity, benchmark type, benchmark timestamp, submission timestamp, fills, and applicable costs. TickerAI can retrieve supported account trades and positions, but its current tools do not guarantee historical bid/ask snapshots for every decision or a dedicated slippage report.

Ask it to calculate only rows with adequate evidence and list unresolved rows separately. Use the trading journal to preserve benchmarks before execution and timeout reconciliation for uncertain outcomes.

A useful slippage report explains the comparison it made; it does not claim that a requested price was guaranteed or that future fills will match the sample.

Try it on a demo account

Free to start. Crypto needs no broker at all.

Create your account