The strategy builder breaks the work into four steps. Each step writes to a different part of the strategy JSON. You can move between steps in any order - the builder validates the full strategy when you save.
The top tabs (Visual Builder, JSON Editor, AI Assistant) all edit the same strategy. The Visual Builder is the safest entry point. Drop to JSON when you need a field the visual builder doesn't expose yet. The AI Assistant takes a natural-language description and produces a complete strategy you can then refine in Visual.
The four steps
- Indicators declares the technical indicators the strategy will compute on every bar. Pick the type, give it a name, set its params. The names you give here are what the Entry and Exit steps reference.
- Entry Rules says when to open a position. Two top-level lists,
longandshort, each with conditions joined by AND or OR. Filters apply to both sides. - Exit Rules says when to close. Three sub-parts: a stop loss, a take profit, and optional modifiers (breakeven, trailing stop, scaled exits, trend-reversal). Native SL/TP are sent to the exchange when the entry fires.
- Risk Management sizes the position and caps account risk. Position sizing method, per-side leverage, max concurrent positions, fees, slippage.
What "save" does
Save writes the JSON to the database. It does not start trading.
A saved strategy starts in draft status. From the strategy detail
page you can run a backtest, paper trade, or go live - each is an
explicit, separate action.
When you get stuck
- Every non-obvious field has a
?icon next to the label. Hover or click for a one-line explanation and a link to the full article. - The
?button in the app header opens the help drawer, which surfaces articles tagged for the page you're on. - Press
?orCmd+/(Ctrl+/ on Windows) to open the drawer from anywhere.
Why these four steps
The split mirrors how the engine evaluates a bar: compute indicators first, then check entry conditions, then check exit conditions, then size the next trade. Keeping the builder in the same shape means the JSON you write maps one-to-one onto what runs.
