Run & evaluate

The multi-instrument screener

The screener fans one approved strategy across many instruments and timeframes in a single run, then ranks the results side by side. It answers a different question than a single backtest: not just does this work? but where does it work — and is that a real edge or a handful of correlated markets moving together?

What a screen is

A screen takes one approved strategy version and runs it across every (instrument × timeframe) pair you pick, over a single date window — one launch, one ranked readout.

  • Entitlement-filtered instruments. You can only screen instruments your account is entitled to; the rest never appear.
  • A cost estimate before you launch. The whole-sweep estimate (per-item cost × the number of items) is shown up front, so there are no surprises.
  • A dead instrument is an error row, never a dead sweep. If one item fails, it is recorded as an error row with its reason and the rest of the screen carries on.

Launching a screen

Pick a project, a workspace and an approved plugin version — or, since 2026-10-22, A built-in template: a strategy version of one of the two templates, run unchanged on every market you pick (its brief must be approved) — then choose the entitled instruments, the timeframes, and the date window. Your code’s version shows its strategy settings — the fields of its config class: give every required field a value (a blank field keeps your config’s own default), and the screen runs that one setting on every item. A few controls shape the readout:

  • Rank by the metric you care about (for example Sharpe).
  • Min trades — a floor a row must clear before it is allowed to compete for a rank.
  • Finalists promoted to full backtests (top-K) — the top K items by your rank metric become real backtests of that exact configuration, with stored artifacts and their own audit verdict, queued when the screen completes.
  • One tier. Every item runs the full conservative cost model — the same simulator that grades a backtest — so there is no cheaper tier to pick and nothing to re-confirm. Screens run before this change used an idealized tier with a realistic confirmation; they keep their labels exactly as recorded.

Reading the ranked readout

The ranked table shows one row per item with its metric, trade count, win rate, net, max drawdown and a worst realistic cost cell, plus a link to the promoted backtest when a finalist was promoted (older screens show their realistic confirmation chip as recorded). Two rules keep it honest:

  • The min-trades floor binds before ranking. A row below the floor never competes; it drops to a separate filtered out before ranking section instead of padding the leaderboard with thin samples.
  • Every row is a real run. Each item is a normal saved run you can open to read its full scorecard, gates and provenance.

Two charts summarize the sweep: a performance-ordered instrument × timeframe heatmap (the strongest fits cluster together) and a robustness scatter of win rate versus max drawdown, where bubble size is the trade count and color is net return — four dimensions of where a strategy fits, at a glance.

Correlated instruments count once

Some instruments track the same underlying market — for example a full-size contract and its micro sibling. A strategy that “works on both” of those has really been confirmed once, not twice. The screener flags these correlated baskets and tells you plainly: a fit across a basket is one confirmation, not several.

Breadth is evidence, not a guarantee

A strategy that ranks well across many independent instruments is a stronger result than one that shines on a single symbol. But a screen ranks candidates — it doesn't certify them. Open the runs that interest you and read their scorecards and robustness views before you trust a result.