Backtests evaluate a saved strategy against historical candles. Each run is recorded, has its own configuration snapshot, and can be re-run or compared later.
Launch
From the strategy detail page or /backtests:
- Click Run backtest.
- Pick a date range. The candle store covers the last several years on most symbols.
- Set starting capital and (optionally) override fees / slippage.
- Submit.
The run goes to a queue worker and returns when complete (usually seconds to a minute, depending on timeframe and date range).
What runs
The engine ingests candles in chronological order, computes indicators, evaluates entry / exit rules bar by bar, and records every entry and exit as a trade row. Position sizing uses the specified starting capital and updates as P&L accumulates.
Results
The detail page shows:
- Headline metrics (return, drawdown, win rate, Sharpe, etc.)
- Equity curve
- Trades table with reasons + per-trade P&L
- The exact strategy JSON used (snapshot)
See Results overview for what each block means.
Pitfalls
- Sample size: backtests with very few trades are mostly noise. Watch the trade count metric.
- Look-ahead: the engine guards against it but pathological strategies can still leak. See Common pitfalls.
