What’s New
One conversation, many strategies
The AI assistant grows up: a conversation starts empty, writes a strategy only when you describe a trade, keeps every version each turn produced, and can publish several strategies without ever closing. The code editor gains the builder’s live backtest panel, and the strategy-code reference now shows a worked example for everything you can call.
Today's update is about the two newest ways to author a strategy. The AI assistant stops treating a conversation as a one-shot form, and the code editor gains the live backtest the builder and the assistant have always had.
A conversation starts empty. The assistant no longer puts a strategy on screen that you didn't ask for. A new conversation begins with no strategy at all; the first message that describes a trade — however briefly — produces a complete, backtestable one, and the assistant tells you which conventions it filled the gaps with. A message with no trade in it gets a question back, not a guess.
Saving no longer ends the conversation. Until now a conversation produced exactly one saved strategy, and saving it froze the chat. That is gone. Every turn that changes the strategy now leaves that version behind in the conversation with two buttons of its own: view brings that exact version back into the preview — summary, parameters, risks, and its own backtest — and save publishes it as an immutable strategy with those results attached. The conversation stays open, so you carry on refining and save again: one conversation can publish several strategies, including a version you had already moved past. Each saved strategy still links back to the message that wrote it.
Nothing you watched it write is lost. When the assistant says something and keeps working, that progress message now stays in the conversation instead of vanishing when the turn finishes. And when a heavy day uses up the daily allowance, the conversation says so straight away and tells you exactly when you can continue — the allowance drains over a rolling 24 hours, so it comes back a little at a time rather than at midnight — and a message the limit refuses hands your typed text back instead of eating it. One more note: an older conversation may ask you to refresh its strategy before it continues, and results after a refresh can differ from the numbers discussed before it.
The code editor backtests as you write. The code page now carries the same live results panel the builder and the assistant show: open it with code in the editor and the Validate check runs by itself, and every version that passes takes over the panel — equity curve, metrics, daily P&L across every trading session — before you have saved anything. A version that fails flips the panel to the errors instead, so you fix them in the editor and go again. The same door is open over the API: POST /strategies/preview now takes source where a config would go — it costs no credits, and at the active-runs cap it parks the run and starts it automatically instead of answering 429. Details on the strategies API page.
The code reference got a full pass. Every member of ctx on writing strategy code now comes with a worked example you can lift straight into the editor, and the page names the language — Starlark — and links its official documentation. Four members nobody used have left the authoring contract (ctx.day_index, ctx.tick_index, ctx.expected_move_points and ctx.greeks — the last two duplicated ctx.expected_move and the delta ctx.option already returns); strategies you have already saved keep running unchanged, the rule applies only to new code. The reference also now says plainly what was always true underneath: every callback runs under a generous work-and-memory budget, so a runaway loop is stopped and reported instead of stalling your backtest.
If the form builder is how you work, nothing changes for you today. The assistant guide and the code reference are both up to date with all of the above.