AlgoVerdict

Backtest vs Live: Why EAs Fail

Last updated: 04 June 2026

The most expensive moment in algo trading

You have an EA whose backtest shows 150% return at 12% drawdown. You go live. Three months later the account is in the red. The EA is not "broken" — the backtest simply simulated a world that does not exist. This guide dissects the concrete mechanisms where backtest and reality diverge.

This guide complements the backtesting and forward-testing methodology: that one covers how to test properly, this one covers why good backtests still fail live.

Reason 1: Over-optimisation (curve-fitting)

The most common cause. The more parameters and optimisation passes, the higher the probability that the EA fits the past perfectly by chance — without a real edge for the future.

Symptoms:

Curve-fitting is insidious because it looks like a great EA in the backtest. Only a clean out-of-sample and forward test exposes it.

Reason 2: Slippage

In the backtest the order fills at the requested price. Live, you get the next available price — and on fast moves it is worse.

The mechanics in detail are in the What is slippage? guide. Key point for testing: set a realistic slippage value in the tester — not zero.

Reason 3: Spread widening

Many backtests use a fixed, often minimum, spread. In reality the spread is variable and widens exactly when it matters:

An EA tested at a 0.8-pip spread that pays 2–3 pips live loses exactly that difference — on every trade. So test with the real average spread of your target broker, not the advertised minimum. The broker comparison for EA/algo trading shows which brokers are honest here.

Reason 4: Requotes and order rejections

With market-maker and some hybrid brokers, an order at the requested price can be rejected and a new price offered (a requote) — or execution is delayed. In the backtest this phenomenon does not exist; every order fills instantly.

For EAs with time-critical entries that means the trade that produced the profit in the backtest either does not execute at all live or fills at a worse price. ECN/STP brokers with direct execution substantially reduce this problem.

Reason 5: Broker execution and latency

The backtest knows no network latency, no server processing time, no differences between brokers. Live, the execution chain decides:

A latency-sensitive EA belongs on a VPS with low latency to the broker data centre — otherwise it runs in a different reality live than in the test.

Reason 6: Poor tick data quality

The backtest is only as good as its data. MT4 interpolates ticks from M1 bars; broker-supplied data often has gaps or low modelling quality. This leads to:

For reliable tests you need genuine tick data (e.g. 99% tick data from an independent import) — details in the testing methodology.

Closing the gap: from backtest to live reality

Backtest assumptionLive realityCountermeasure
Fixed minimum spreadVariable, wider spreadTest with average spread
Fill exactly at priceSlippageRealistic slippage in the tester
Instant executionRequotes, latencyECN/STP broker, VPS
Perfect ticksData gapsImport 99% tick data
Optimal parametersRegime changeOut-of-sample, walk-forward

The only reliable test is a forward test with real money in micro-lots: only there do slippage, real spread and execution become visible. Plan for at least 100–300 live trades before trusting the EA.

Conclusion

An EA rarely fails live because of a single mistake but because of the sum of underestimated friction: curve-fitting masks the missing edge, while slippage, spread widening, requotes, latency and poor tick data erode the backtested performance piece by piece. Anyone who tests realistically and forward-tests consistently closes this gap — and finds out whether the edge is real before the account delivers the answer.

Frequently asked questions

Why does an EA earn in backtest but lose live?

Usually for two reasons: the backtest was over-optimised (curve-fitting), or it underestimated real trading costs and execution effects — slippage, spread widening, requotes and latency. Together these explain the large majority of failed EAs.

Which effect costs the most performance?

For high-frequency and scalping EAs it is the gap between the spread/slippage assumed in the backtest and reality. A few tenths of a pip per trade compound over thousands of trades into an edge-destroying amount. For lower-frequency EAs, curve-fitting dominates.

How large a gap between backtest and live is acceptable?

Some degradation is normal — but live should land in the same range as a clean out-of-sample test. If live performance collapses to a fraction of the backtest, the test was unrealistic or over-optimised.