The backtester pulls real candles from the venue you'd be trading on, replays your strategy across them with the actual fee schedule and a configurable slippage assumption, and reports the same metrics you'd see live. The same engine validates every Strategy AI recommendation and every Spot Grid AI grid configuration before they reach your dashboard.
Pick the strategy, the symbol, the venue, the timeframe, and the date range — or accept the strategy-specific defaults the engine ships with.
Real candles from the venue, including a warm-up window (50–100 candles ahead of the primary range) so the strategy's indicators have settled before any signal can fire.
The exact strategy code that runs live runs again on the historical bars. Signals fire, entries open, stops and take-profits apply, and exits close — using the venue's actual fee schedule and a configurable slippage assumption.
A full trade ledger plus the standard performance metrics. Multi-window consensus runs additionally split the ledger into sub-windows so you can see whether the strategy worked consistently or only on one stretch.
The backtester is not a separate tool that only lives in a corner of the dashboard — it's the same engine driving validation for every AI surface.
Every Strategy AI recommendation is run through the backtester before it surfaces. Multi-window consensus tags the recommendation PASSED or FAILED — and a FAILED rec still appears in your list with the failure reason, because the decision is yours.
Every grid parameter set is validated against a 30-day historical window when it's recommended, then recalculated at deploy time. Recommendations get a VERIFIED or HIGH_RISK badge depending on whether the backtest cleared the gates.
You can run a custom backtest from the strategies surface — pick the configuration, pick the window, and the engine queues it. Results are saved to your backtest history with the full trade ledger for drill-down.
A strategy that worked in one historical window often fails in a different one. The engine splits the primary backtest into sub-windows and asks whether the result held up across them — not just whether the headline number was positive.
The strategy is backtested once across the primary range; the resulting trade ledger is then split into sub-windows. No additional backtest passes — the same simulation is sliced for consistency analysis.
Default consensus rules require at least two of three sub-windows to be profitable, with the worst drawdown across them under 30%. A strategy that survives one window and blows up in another does not pass.
Grid and Perp strategies validate against 60–90 days. MA Cross validates against 180 days because the crossover signal needs more bars to fire enough times to be meaningful. Mean Reversion sits in the middle at 90 days.
Even on a single-window check, a strategy needs at least three closed trades, a non-negative return, and a maximum drawdown under 25% to clear the bar. Tighter than just 'positive P&L'.
At least two of three sub-windows must have meaningful data; the primary window needs at least three closed trades; the median sub-window return must be non-negative; the worst-window drawdown must be under 30%.
For Spot Grid AI recommendations, the parameters need positive net P&L, a 50% or better win rate when there are enough cycles, a max drawdown under 15%, and at least four trades plus a completed grid cycle.
The engine annotates rather than hides. A Strategy AI recommendation that fails multi-window consensus still appears, labelled FAILED with the failure reason, so you can decide whether the historical fit matters to you in current conditions.
Maker / taker rates are fetched per-venue from the live exchange. If the venue's API is unreachable, the engine falls back to a published platform rate so the numbers are never silently zero.
A default slippage assumption is applied to every market fill. You can override it per backtest. The number is honest about being an assumption — not a per-order-book reconstruction.
Perp backtests can charge funding against open positions per bar — prorated against the venue's funding interval (1 hour on Hyperliquid, 8 hours on CEX perps by default). The rate is a single value you set per backtest; the engine does not replay the venue's actual historical funding-rate series. Default is zero — if you don't set a rate, no funding is modelled.
A backtest is a model of live execution, not a replay of it. Knowing where the model diverges is half the work of using a backtest responsibly.
Fills happen at the open or close of a candle, plus high/low for trailing stops. A live limit order that gets filled mid-bar will not match a backtest that has to wait for the next bar to react. An intra-candle sub-step walk that closes this gap is on the backlog.
The backtester does not reconstruct depth or spread per bar — it does not know whether your size would have moved the market. That is the gap any single-venue candle backtest has, and slippage is the assumption that stands in for it.
Gas costs on on-chain trades are not yet folded into the backtest cost line. A DEX strategy whose live edge is consumed by gas can look healthier in a backtest than it will run live.
HODL, Arbitrage, Risk Management, Sentiment, and TradingView (spot + perp) sit outside the bar-by-bar replay model — HODL is just held, Arbitrage needs two venues' order books at once, Risk Management attaches to live positions, Sentiment depends on a feed that isn't historically replayable, and TradingView is webhook-driven so the alert stream can't be reconstructed. Every other spot and perp strategy — including Perp Grid — runs through the engine.
A backtest that passes can still lose money live. The engine guards against look-ahead bias and includes delisted pairs to reduce survivor bias — but it cannot eliminate regime change. Read the Risk Disclosure before you deploy.
On-demand backtests are rate-limited per account to keep the queue responsive — typically 20 runs per hour. AI-driven backtests (Strategy AI, Spot Grid AI) run on the platform's own quota, not yours.
Backtests are surfaced automatically on every AI recommendation. You can also run a custom backtest from the dashboard any time.