Skip to content

Backtests API

List Backtests

GET /api/backtests?strategyId=str_abc&status=completed

Query Parameters:

ParamDescription
strategyIdFilter by strategy
statusFilter by status: queued, running, completed, failed

Get Backtest

GET /api/backtests/:id

Returns the backtest with full results (equity curve, trades, metrics).

Create Backtest

POST /api/backtests

Body:

json
{
  "strategyId": "str_abc123",
  "symbols": ["BTCUSDT"],
  "startDate": "2024-01-01",
  "endDate": "2024-03-01",
  "marketType": "LINEAR",
  "fees": { "maker": 0.0002, "taker": 0.0004 },
  "leverage": 5,
  "slippage": 0.0001,
  "params": { "lookback": "20", "threshold": "1.0" }
}

The backtest runs in a sandboxed subprocess (no filesystem, no network, memory/CPU limited).

Real-time progress is available via WebSocket on channel backtest:<id>:progress.

Cancel Backtest

POST /api/backtests/:id/cancel

Cancels a queued or running backtest.

tradectl — Automate Crypto Trading