Test Your Strategy

Home / Blog / Backtest vs live

Why your backtest doesn't match live results

It is the most common message we get: the equity curve climbed beautifully in testing, the live account is flat or down, and nothing about the rules changed. There are six usual causes. In our experience they show up in roughly this order of frequency.

1. Costs were never charged

The single most common cause, and the easiest to fix. TradingView's Strategy Tester defaults commission and slippage to zero unless you set them. MetaTrader models spread but not always your broker's real commission. A strategy averaging 12 points per trade on Bank Nifty looks excellent — until you subtract brokerage, STT, exchange charges, GST and stamp duty, and discover the round trip costs 8 points.

The smaller your average win, the more lethal this is. A scalping system with a 6-point edge is essentially a cost-recovery exercise. Charge everything, including a realistic slippage assumption, before you believe any number.

2. Look-ahead bias

Your test used information that did not exist at the moment of the trade. The classic version: a signal computed from the current bar's close, but the entry filled at that same bar's open. In backtesting that's free money. Live, you cannot know the close until the bar has closed.

It hides in subtle places too — a daily indicator referenced intraday without offsetting, an economic release applied to the whole day it landed in, a stock universe filtered by data published months later.

Diagnostic: if your backtest win rate is above roughly 70% with a reward-to-risk ratio also above 1.5, be suspicious rather than pleased. That combination is rare in real markets and common in tests that peek.

3. The sample is too small to mean anything

Forty trades is not evidence. With that few, the difference between a 55% and a 40% win rate is comfortably within chance. We generally want 200+ trades before treating a result as informative, and more if the strategy is rare-signal by nature.

This is why expiry-day-only strategies are so often mis-assessed: 52 opportunities a year means even five years gives you 260 trades, spread across only a handful of market regimes.

4. Curve fitting

You adjusted parameters until the curve looked right. That is not strategy development; it is fitting a model to noise that has already happened. The tell is fragility — profit exists at RSI 14 but vanishes at 13 or 15.

The check is cheap: nudge every parameter ±20% and re-run. A real edge degrades gracefully across that range. A fitted one falls off a cliff. If your strategy only works at one exact setting, you have found an artefact, not an edge.

5. Execution assumptions that don't survive contact

The backtest filled you at the limit price every time. Live, you got partial fills, or no fill on the exact move you were trying to catch. Options strategies suffer worst — a backtest using mid-prices on a strike with a two-rupee spread is describing trades nobody could have made.

Ask of every entry: at that moment, at that size, was there someone on the other side at that price? For illiquid strikes and small caps the honest answer is often no.

6. The regime changed

The rarest cause, and the only one that isn't a testing error. Volatility structure shifts, a spread compresses permanently, an inefficiency gets arbitraged away. A strategy that worked for seven years genuinely can stop working in the eighth.

You can't prevent this, but you can detect it: a rolling performance chart shows an edge decaying long before your account balance makes it obvious.

How to work out which one is yours

  1. Re-run with costs doubled. If profit disappears, you had a cost problem.
  2. Shift every entry one bar later. If profit collapses, you had look-ahead bias.
  3. Count the trades. Under 100, you have no result yet — just a small sample.
  4. Sweep the parameters ±20%. If the edge only exists at one point, it was fitted.
  5. Split the history in half. Profitable in the first half, flat in the second suggests decay rather than a testing flaw.

Run all five before concluding your strategy is broken. Usually it isn't the strategy — it's the test.

Want this done properly on your strategy?

Every backtest we deliver includes costs, a sensitivity sweep and an honest verdict — including "this doesn't work".

💬 WhatsApp