← Strategy library

Execution Qualitythe difference between your backtest and your fills

Evidence: ModerateIntermediateScalping · Execution

Two accounts running an identical bot on the identical strategy will produce different results, and on a scalping timeframe the difference can be larger than the edge. The cause is execution: how the order is routed, how long it takes, and what happens when the market moves while it is in flight.

None of this appears in a backtest, which fills every order instantly at the printed price. Measuring the gap between your tested fills and your real ones is the only way to know whether a strategy is working, and most traders never do it.

Category
Scalping · Execution
Timeframe
M1 to M15
Suitable pairs
Any — the effect is about your account, not the instrument
Session
Worst at session opens, around news, and in the last minutes before a rollover
Indicators / tools
Your own trade history with requested and filled prices · a slippage log kept by the bot

Valid setup

SC-05 · EXECUTION QUALITY — SIGNAL PRICE AGAINST FILL PRICE XAUUSD · M1 · the backtest filled at the signal · the account filled six dollars higher, on the fast bar EXECUTION 4357.43 4364.40 4371.37 4378.34 4385.30 4392.27 4399.24 THE FAST BAR — where signals and slippage both happen the gap — invisible in every backtest ACTUAL FILL SIGNAL PRICE — what the tester assumed 1 2 3 4380.00 4374.00 ① The signal fires on a fast bar — as they often do ② The order is in flight while price keeps moving ③ The fill is worse. Every time, in this condition ④ Log requested and filled prices on every order ⑤ Feed the measured slippage back into the test ⑥ Stops slip further, and always against you

Exact rules

Entry

  • Log requested price and fill price on every order. If your bot does not record both, that is the first thing to fix — everything else on this page depends on it.
  • Compute average slippage per hour and per signal type. You will usually find it concentrated in a few conditions rather than spread evenly.
  • Prefer limit orders where the strategy allows it. A market order accepts whatever is there; a limit order refuses, at the cost of missing some trades.
  • Measure the missed trades too. A limit order strategy that misses the fast moves may be selecting for exactly the trades that do not work.

Stop loss

  • Stops slip more than entries, and they slip against you by definition — a stop triggered in a fast market is filled wherever liquidity is.
  • Size assuming the stop slips. On a scalping timeframe a stop can easily cost 50% more than its distance suggests during a fast minute.
  • Never place stops at obvious round numbers if you can avoid it. That is where everyone else's are and that is where the gap is widest.

Take profit / exit

  • Add your measured slippage into the backtest and re-run it. If the strategy survives that, it is a far more credible result than the original.
  • Compare live to backtest monthly. A persistent gap that is not explained by slippage usually means a look-ahead bug in the test.
  • Execution quality is worth more on this timeframe than any entry refinement, and it is the part of the problem a retail trader can actually improve.

Build Execution Quality

Reading this page is free and always will be. Taking it is what costs — the complete MQL5 for the rules above, yours to keep, permanently. Five of them cost $10 and they never expire.

More from Scalping

Trading carries risk and most retail accounts lose money. Nothing on this page is financial advice or a recommendation to trade. The chart is an illustration of the rules on constructed candles — it is not a record of a trade and not a backtest.