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.