Run Backtest

Two-layer backtest flow: first create a task (exchange, spot/futures, time range, fees/slippage), then for each trading pair set the timeframe, capital, leverage, strategy, and execution config. Once started, it produces metrics like return and drawdown.

Run Backtest takes the "strategy + execution config" trading algorithm and replays it over historical K-lines to validate performance, assess risk, and decide whether to move on to paper or live. It uses a "task level + per-pair level" two-layer structure: first create a backtest task (pick the exchange, market type, time range, fees / slippage), then add one or more trading pairs under the task and configure the timeframe, initial capital, leverage (for futures), strategy, and execution config per pair; once launched, the system simulates matching by realistic trading rules and produces a separate report per pair. This structure lets a single task compare the same signals across multiple pairs side-by-side, with capital and risk parameters tunable independently per pair. You can run a backtest via the UI or the AI Agent.

Two ways to run a backtest

Option 1: Via the AI Agent

In the AI Agent, describe the backtest you want—e.g. "Backtest a dual-MA strategy on Binance spot BTC/USDT and ETH/USDT 1H over the last 3 months"—and the AI Agent fills in the task-level and per-pair configuration and launches the run; you can also ask it to interpret return, drawdown, and other metrics. For a conversation example see 5-minute quick start.

Option 2: Via the UI

  • From the strategy: in the "Strategy Library", find the strategy, click "Backtest", and fill in the task / pair configuration in the backtest creation form before launching.
  • From the backtest module: open the "Backtest" page, click "Create Backtest", and configure a blank task following the flow below.

Two-layer configuration

Task-level configuration (shared across the task)

ItemDescription
Task name / descriptionFor identification and bookkeeping
Exchangee.g. Binance, OKX; determines the market data source and the available pairs
Market typespot or futures; determines the available pairs and whether leverage can be configured
Time rangeThe start and end of the backtest; we recommend at least 1 month and ideally covering different market regimes
Fees / slippageOptional; once set, the backtest deducts the corresponding cost, bringing it closer to live

Per-pair configuration (one set per pair)

ItemDescription
Trading paire.g. BTC/USDT, ETH/USDT; one task can include multiple pairs
TimeframeThe pair's main K-line timeframe (e.g. 15m / 1H / 4H)
Initial capitalInitial capital for spot; initial margin for futures
LeverageOnly configurable for futures tasks; ignored for spot
Strategy (signals)Pick a strategy from the Strategy Library; indicator parameters can be tuned specifically for this pair (e.g. swap MA(5)/MA(20) for MA(10)/MA(30)), and the change only affects this pair—the original strategy in the library is untouched, which lets you tune appropriate values per coin
Execution config (risk)Position (fixed amount / percentage), stops / targets, max drawdown, scale-in rules, etc.; see Execution Config

When a task spans multiple pairs, each pair holds its own "strategy + execution config"—which is exactly why execution config sits separately from the strategy: BTC vs. small-cap volatility, futures vs. spot leverage needs—all of it can be tuned at this layer.

For field-by-field details see Create Backtest, Backtest Config; for risk recommendations see Risk Management.

Run Backtest flow

Create a backtest task

Fill in the task name and description, pick the exchange and market type (spot / futures), set the backtest time range, and optionally configure fees and slippage.

Add trading pairs

Add one or more trading pairs under the task (e.g. BTC/USDT, ETH/USDT); pairs in the same task share the task-level settings.

Configure each pair

For each pair, set the timeframe, initial capital, and leverage (for futures), pick the strategy to use (with optional per-pair indicator tuning that only applies to this pair), and fill in the execution config (position, stops, targets, max drawdown, scale-in, etc.).

Launch the backtest

Click "Start Backtest"; the system simulates each pair in parallel and produces reports.

Review and iterate

Inspect each pair's return, max drawdown, win rate, trade count, etc.; use Result Analysis to interpret. If results aren't great, adjust the strategy or execution config and re-run, or open Backtest Optimization for parameter search.

What to look at in the backtest results

  • Return: total return, annualized return
  • Risk: max drawdown, Sharpe ratio, etc. (evaluated under this run's execution-config constraints, useful as a live-risk reference)
  • Trading: trade count, win rate, profit factor

After the backtest you can view K-line charts and individual entry / exit points for tuning and iteration in the Adjust phase. For a deeper read of the metrics see Backtest Result Analysis.

Tips

  • Time range: at least 1 month, ideally covering different market regimes (up, down, ranging).
  • Run multiple pairs at once: running the same signals across multiple pairs independently lets you compare how well the strategy fits each coin and calibrate execution config side-by-side.
  • Avoid overfitting: don't over-tune for a single window—watch out-of-sample behavior.
  • Backtest vs. live: live includes slippage, fees, liquidity, and other factors; after a backtest passes, we recommend Paper Trading before going live.

Next steps