Skip to main content
Trading guide · Execution quality

Why Your Backtest Results Don't Match Live Trading

Almost every trader runs a backtest that looks better than their live performance. The gap is not usually strategy failure — it is the difference between how backtests execute orders and how live brokers actually fill them.

TL;DR

Backtests execute at the historical bar price with zero transit time, no spread variance, and no broker queue. Live trading adds: network latency (order transit time), broker execution time, spread at the moment of fill, and partial fills. The sum of these explains most of the backtest-to-live gap.

Backtest
Instant fill at the bar price — no transit time, no queue, no spread variance.
Live
Order travels to broker, waits in queue, fills at available price while market moves.
Gap driver
Network latency × market speed = the entry price gap between backtest and live.

What backtests assume vs. what live trading actually does

A backtest executes a buy signal at the next bar's open price. No delay. No transit. Fills exactly at the chart price. Live: order leaves MT4, travels across the network to the broker's server (10–300ms depending on route), enters the order queue, fills at the best available price at the moment the broker processes it. The market has moved during that transit window.

Slippage: the most common culprit

The gap between backtest fill and live fill is usually slippage — market movement during order transit. In slow markets: small impact. In fast markets (news, session opens): 0.5–5 pips per entry. Across hundreds of trades, this compounds. For details on how latency drives slippage, see our guide on latency and slippage mechanics.

Latency: orders arriving after the bar has moved

Bar-based strategies enter at the exact bar open in backtests. Live, your order arrives after the open — potentially after the price has already moved. 50ms of network latency means entering into a market that is already mid-move.

Spread variance and requotes

Backtests use fixed spreads. Live spreads widen during news and session transitions. An EA optimised on 1-pip spread data may perform far worse when the live spread is 3–8 pips at the entry moment. Requotes reject orders and re-queue them.

How to narrow the gap

Step 1: Use realistic spread assumptions in strategy tester. Step 2: Add slippage modelling in MT4 (the Slippage field in Strategy Tester). Step 3: Reduce live slippage by lowering network latency — see our broker DC reference for latency targets by location. Step 4: Test with real money at small size before scaling. For a complete setup walkthrough, see configuring SOCKS5 in MT4.

Execution Quality

The gap between backtest and live is mostly fixable.

Realistic spread modelling handles the data side. Lower network latency handles the execution side. TradersProxy reduces the transit window that creates slippage.

Try it free for 7 days
FAQ

Usually three causes: overfitting to historical data, unrealistic execution assumptions, or strategy decay. Execution improvements only fix the second.

Use 'Every tick based on real ticks' with broker-provided tick data for most realistic results.

Conservative: 0.1–0.3 pip average for majors in normal sessions. During news: 0.5–2 pips.

Yes. Total time-to-fill = your network latency + broker execution time. TradersProxy reduces network latency; choosing a better broker reduces execution time.

No. Some gap always exists. The goal is minimising it so strategy performance is directionally consistent.