Why do backtests fail in live trading?

Backtests usually fail live for five reasons: curve fitting to past noise, spread and commission not being modelled, unrealistically optimistic fills, look-ahead bias where the test uses data it couldn't have known, and too few trades to be statistically meaningful.

1. Curve fitting

The most common cause. Parameters get tuned until the past looks perfect, capturing noise rather than a repeatable behaviour. The tell: results collapse when you shift the date range slightly, or the optimal settings sit on a sharp peak rather than a broad plateau. Always prefer a setting from the middle of a stable plateau.

2. Costs not modelled

Spread, commission and swap are real and relentless. On gold at 0.01 lots a 30-point spread costs about $0.30 per round trip. A strategy with an expectancy of $0.20 per trade is profitable on paper and loses money in reality. If a backtest doesn't subtract costs, it is not a backtest, it's a fantasy.

3. Unrealistic fills

Backtests often assume you get filled at your exact price with no slippage, even during news. Live, fast markets gap through levels and stops fill worse than requested. Conservative testing assumes the stop is hit first when a bar spans both stop and target.

4. Look-ahead bias

Subtle and deadly: using information the strategy couldn't have had at that moment. A classic version is computing a range using the current bar and then trading a 'breakout' of that range — mathematically impossible in real time. We found exactly this bug in our own momentum logic, and it had silently disabled the setup entirely.

5. Too few trades

Thirty trades tells you almost nothing; the range of luck is enormous. You want hundreds of trades across different regimes before treating a result as evidence rather than an anecdote.

We publish every result — including the failures.
Get the free MIDAS EA and Module 0, or the full course with all 8 documented experiments. Get the free pack →

Frequently asked questions

How different should live results be from backtest?

Somewhat worse is normal, mainly from costs and slippage. Dramatically worse usually means curve fitting or a modelling error.

Should I include spread in my backtest?

Always. Excluding it flatters every result and is the single most common way thin edges look profitable.

What is look-ahead bias?

Using data in a test that wouldn't have been available at that moment in real time — it makes impossible trades look profitable.

Related evidence