Why does an EA that looked amazing in backtest disappoint live?

This is the single most common heartbreak in automated trading, and it’s rarely because the EA is “fake”.

The usual culprits, in order: (1) the backtest used poor tick data or a 90% model instead of every-tick 99.9%; (2) spread and slippage on the live account are wider than the test assumed; (3) the parameters were curve-fit to the past — a profit factor above ~2.5 over many years is a red flag, not a selling point; (4) the live broker’s leverage/feed differs from the test.

The defense I trust: out-of-sample testing (optimize on the first half, validate on the untouched second half) and treating suspiciously perfect numbers with suspicion. What’s the biggest backtest-vs-live gap you’ve personally hit?

The usual suspects, in order of how often they’re the cause: (1) over-optimization — the EA memorized the past instead of learning a pattern; if you optimized many parameters over the same data you tested on, this is almost certainly it; (2) unrealistic backtest conditions — default spread, no slippage, no commission; (3) regime change — the EA is genuinely fine but was built for a volatility/trend regime that ended; (4) broker differences — spread, stop levels, quote feed. The diagnostic: run a walk-forward test (optimize on 2019–2023, test untouched on 2024–2025). If the untouched period fails, it was #1 all along — which is the most common answer.

Seconding over-optimization. My rule now: the fewer parameters I tune, the closer live results track the backtest. Every extra optimized input is another way to memorize noise.