Three assumptions that flatter the result
The gap between test and live results usually comes from three silent assumptions, all of which work for you on paper and against you in the market:
- Fixed spread — the test assumes one value while reality widens around news and in quiet hours.
- Perfect fills — no slippage and no rejections, while live execution pays both.
- Curve fitting — every parameter tuned until results improve describes the past more and predicts the future less.
So the most important output is not total profit but maximum drawdown and trade count: the first tells you whether you could live with running it, the second whether the sample means anything.
Where the assumptions break
Platform terms are usually explained as menu paths, but the real problem is not where to click — it is where the assumption breaks. So this family is written around failure modes: a backtest that looks excellent and does not repeat, a server you believe is the cause of slow fills when it is not, a timeframe you analyse on and execute on differently.
The shared rule: the platform does exactly what you asked, and the error lives in the assumption rather than the tool.
A worked example
A test shows +0.20R expectancy over 100 trades with an assumed 30-cent spread on gold. Very attractive.
Recompute with a realistic average spread of 45 cents plus 20 cents of slippage: cost rises from $3 to $6.50 per trade on 0.10 lots. At $10 of risk per R, expectancy falls from +0.20R to roughly −0.15R. Neither the system nor the data changed; one assumption did, and the result flipped from profitable to losing.
Common mistakes with this term
- Tuning parameters until results improve, so the system describes the past instead of predicting the future.
- Reading total profit without maximum drawdown and trade count, which are what decide whether it is runnable.