Set realistic data and costs, avoid statistical traps, split IS/OOS correctly, and plan multi-symbol/timeframe tests that actually hold up.
Garbage in → garbage out. Ensure sufficient, continuous history; set spreads, commissions, swaps, and slippage realistically.
Compounding (reinvestment) changes equity shape; align with your live plan.
More history captures different market regimes.
Gaps can cause false signals or missed entries.
Scalpers need ticks; swing traders can use OHLC.
Mismatched settings = wrong position sizing results.
Rollover spreads widen; news times vary by broker TZ.
Compounding doesn't create edge; it magnifies it.
Most backtest failures stem from hidden biases. Name them, prevent them, and document safeguards.
Separate optimization (In-Sample) from evaluation (Out-Of-Sample). Test across symbols/timeframes to avoid regime dependence.
Aim IS ≥ 24m, OOS ≥ 6m.
Spot the difference: costs, slippage, and IS/OOS separation often turn 'amazing' systems into average ones — that's truth.
| Metric | Report A (Optimistic) | Report B (Realistic Costs) |
|---|---|---|
| Net Profit | $12,450 | $4,320 |
| Profit Factor | 2.85 | 1.42 |
| Max Drawdown % | 8.2% | 15.7% |
| Total Trades | 847 | 821 |
| Expectancy (R) | +0.45 | +0.12 |
| Win Rate | 68% | 52% |
Test your understanding with 3 questions. Pass with 2/3 correct.