The Goal of Backtesting Is Evidence of Edge
Backtesting does not predict the future. It shows how a defined set of rules behaved on historical data under a stated set of assumptions.
Therefore, the professional question is not, “How much money did the test make?” It is, “What behaviour did the rules produce, and is that behaviour repeatable?”
You are testing behaviour, not indicators
Indicators are mathematical transformations. The real subject of the test is price behaviour, volatility, regime, execution and risk.
Level 0: Visual or Eyeball Testing
Use charts to reject weak ideas quickly
Scroll back, mark entries and exits, inspect structure and estimate whether the idea has enough logic to justify further work.
At this stage, look for clean behaviour, repeatable turning points, sensible stop placement and realistic reward-to-risk.
Visual testing is biased
It is useful as a filter, not as proof. Human memory selects attractive examples and often ignores missed trades, slippage and ambiguous signals.
Level 1: Statistical Assumption and Forward Testing
Turn the idea into rules and a trade log
When the historical win rate is unknown, begin with conservative assumptions and record every valid signal over a meaningful period.
The lecture proposes a simple baseline of a 51% win rate at 1:1 reward-to-risk, followed by a three-month micro-sized forward test.
What should be tracked?
Win rate and expectancy
Measure average outcome, not just total profit.
Drawdown and losing clusters
Understand how the strategy behaves when results turn against it.
Regime and behaviour
Record trend, volatility, session and market conditions.
VaR and statistical stress testing
A rolling risk model can compare realised P&L against expected statistical bands. However, normal-distribution assumptions should never be treated as complete protection because markets can produce fat tails and sudden regime shifts.
Level 2: Off-the-Shelf Backtesting Platforms
Use a platform to increase speed and consistency
Tools such as NinjaTrader and TradingView can test many rules quickly and produce structured performance reports.
At this level, the trader can compare markets, time periods and parameter ranges. More importantly, they can inspect drawdown, trade clusters and sensitivity to small rule changes.
| Tool | Best use | Main limitation |
|---|---|---|
| TradingView | Fast strategy prototyping and visual inspection | Execution assumptions and data limits must be understood |
| NinjaTrader Strategy Analyzer | Futures strategy testing, optimisation and reporting | Historical fills may differ from live execution |
| Excel | R-multiple models, Monte Carlo and risk simulation | Manual data handling and limited market logic |
| Python | Custom data, portfolios and advanced validation | Requires coding discipline and careful debugging |
Level 3: No-Code and Low-Code Automation
Convert simple rules into repeatable tests
Strategy builders, templates and spreadsheets can remove emotional judgement without requiring full programming skills.
Excel is particularly useful for prototype work. It can model R-multiples, randomised trade sequences, drawdown distributions and conservative position sizing.
Level 4: Programmatic Backtesting with Python
Use code when platform limits become the bottleneck
Python allows custom data processing, portfolio testing, advanced execution models and large-scale parameter research.
However, faster testing also makes it easier to overfit. A researcher can run thousands of variations and accidentally select the luckiest historical result.
Backtests Lie When the Assumptions Are Wrong
A profitable backtest can be fake even when nobody deliberately manipulated it.
- Entries use information that was not available at the time.
- Slippage and commissions are omitted.
- Historical fills are unrealistically generous.
- Data contains survivorship or selection bias.
- Too many parameter combinations were tested.
- The strategy only works in one regime or market.
A beautiful backtest is not proof
The more perfect the equity curve appears, the more carefully the assumptions and optimisation process should be inspected.
The Five Tests of a Real Trading Edge
Multiple regimes
The strategy should not depend on one isolated market phase.
Parameter tolerance
Small input changes should not destroy the result.
Stable drawdown
Risk behaviour should remain broadly consistent.
Logical equity curve
Performance should reflect understandable market behaviour.
Out-of-sample survival
The edge must work on data not used to design it.
How to reduce curve-fitting
- Keep the rules simple.
- Use behaviour-based logic.
- Test several instruments and regimes.
- Separate development data from validation data.
- Use walk-forward testing and Monte Carlo simulation.
- Include realistic costs and execution delays.
The Practical Backtesting Framework
From idea to controlled live deployment
What to do with the results
Identify weak behaviour, simplify the rules and retest. Do not improve the strategy merely by forcing better historical numbers. Instead, improve the economic and behavioural logic.
A trading system is a living process
Systems evolve, edges decay and markets cycle. Therefore, backtesting is not a one-off exercise completed before launch.
The strategy must be monitored, compared with its expected behaviour and reviewed when live performance changes materially.
The edge comes from the full process: research, validation, execution, risk and disciplined maintenance.
Start Testing Futures Strategies with the $200 Renko Trading Starter Pack
Build your futures platform foundation through Stephen Hoad’s tracked NinjaTrader route and claim the Renko Trading Starter Pack. No funding or live trade is required for this bonus route.
Official backtesting documentation
See NinjaTrader’s Backtest a Strategy guide, its Strategy Analyzer overview, and TradingView’s explanation of backtesting and forward testing.
Backtesting a trading strategy: frequently asked questions
Can I backtest without coding?
Yes. Begin with visual testing, spreadsheets and strategy-building tools before moving to custom programming.
How many trades should a backtest contain?
There is no universal number, but the sample should cover enough trades and market regimes to make the behaviour meaningful.
What is out-of-sample testing?
It tests the strategy on data that was not used to select or optimise the rules.
Why do live results differ from backtests?
Live trading includes slippage, latency, spread changes, missed fills, emotional decisions and market behaviour not captured by the model.
