dogabot dogabot Documentation

Create a bulk backtest batch

post https://api.dogabot.com/api/v1/backtest/bulk

Creates a bulk backtest batch: one template expanded over sweep axes (symbols, timeframes, date ranges, param_ranges, …). run=false saves a draft. Requires the bulk backtest feature; each job uses quota. Requires the listed write scope and feat:api:write on an Institutional account. Send Idempotency-Key.

Scopes write:backtest write

Headers

Idempotency-Key string required

Unique key per mutation so retries stay safe.

Example retry-1

Body parameters

application/json

name string required
batch_id string

Optional client-supplied batch id (UUID).

run boolean

When false (default in examples), save a draft. When true, enqueue jobs (uses quota per cell).

template object required

Shared job template (same fields as a single backtest without name/symbol).

exchange string required
markets array of object

Optional fixed multi-leg markets for every cell. Multi-leg ⇒ symbols/exchanges axes ignored.

candle_timeframe string required
execution_interval integer required
start_time integer required
end_time integer required
initial_capital number
≥ 0
params object

Strategy params in the webapp / backtest save shape. Needs entry.rules (and usually exit/increase/reversal sections) for validation. Named-rule wire shapes: https://docs.dogabot.com/rules/ (JSON: /rule-examples.json). Ask AI / customLogic recipes: https://docs.dogabot.com/recipes/ (JSON: /recipe-examples.json).

symbols array of string

Symbol sweep axis (single-leg templates).

name_pattern string

Optional name template for each cell (supports placeholders used by the bulk expander).

candle_timeframes array of string
execution_intervals array of integer

Milliseconds; must stay compatible with each candle_timeframe cell.

date_ranges array of object
start_time integer required

Unix milliseconds.

end_time integer required

Unix milliseconds.

param_ranges array of object
param_key string required

Dot path inside params. Rule instances use a numeric segment, e.g. entry.rules.rsi.0.params.period.

values array of number

Explicit sweep values (preferred for discrete sets).

choices array of any

Non-numeric sweep choices when needed.

start number

Linear range start (with until + step).

until number

Linear range end (inclusive-style until).

step number

Linear range step.

initial_capital_range object
start number required
until number required
step number required
exchanges array of string

Exchange sweep for single-leg templates.

trade_directions array of string

e.g. long, short, both.

day_trade_modes array of boolean
day_trade_close_times_utc array of string

HH:MM UTC close times when sweeping day-trade mode.

periodic_close_days array of integer

0 = off; 2..90 = close + cancel every N UTC days.

periodic_close_times_utc array of string

HH:MM UTC for periodic close when enabled.

Responses

202 Accepted
401 Unauthorized
403 Forbidden — missing scope or feature gate
404 Not found
429 Rate limited