From a hunch to a candidate.

Follow one opening-range breakout on an example market through all nine chapters. The agent does the legwork, and the engine produces every number.

Figures in the product windows below are illustrative, not performance claims.

01Idea

Start with the idea, in your words.

Describe the strategy to the research agent the way you would to a colleague. Your thesis is stored verbatim.

  • Gaps are marked unspecified, not filled in
  • Assumptions wait for you to confirm them
New strategyStrategy BuilderResearch agent

Trade the breakout of the first 30 minutes on an example market. Go long above the opening-range high, short below the low, stop two ticks beyond the other side of the range, target twice the risk. Only on days with above-average volume.

Saved your thesis word for word. The exit and sizing are unspecified, and I assumed the regular session for you to confirm.

Thesis, stored verbatimthesis:8899d818
Market
Example market
Timeframe
1-minute bars
Session
RTH 09:30–16:00Assumed
Entry
Close beyond 30-min range
Stop
Opposite side of range
Target
2 × risk
Filter
Above-average volume
Exit
Unspecified
Sizing
Unspecified

02Theory

Write down what would prove it wrong.

Before any code exists, the agent sets out why the edge might exist and which computable result would falsify it.

Theory v1Derived from thesisAwaiting evidence

Why it might work

Opening auctions concentrate institutional flow. A break of the first 30-minute range shows which side is absorbing it, and trend followers add to the move.

What would prove it wrong

  1. expectancy_R < 0.05DevelopmentFalsifies
  2. profit_factor < 1.00Development, +1 tickFalsifies
  3. trade_count < 150DevelopmentInconclusive

Open questions

03Specification

Rules written down before code exists.

The theory becomes fixed rules and tunable parameters with ranges. Each version is recorded and never overwritten, so you can always see what is being tested.

Specification v1base-orbImplements theory v1
ParameterTypeDefaultRange
or_minutesInteger3015–60, step 5
stop_ticksInteger20–8, step 1
target_rDecimal2.001.0–3.0, step 0.25
rel_volume_minDecimal1.000.8–1.6, step 0.1
Changing a rule records v2. Nothing is overwritten.Recorded v1, 14:02

04Build

Compiled in a sandbox. Checked before it runs.

The agent writes C# against the Evrant Strategy SDK, and a pinned compiler rejects anything non-deterministic.

  • Wall clocks, I/O, threads and reflection are blocked
  • Diagnostics go back to the agent for repair
  • A smoke run compares full and truncated data
BuildSandbox, pinned compilerOrbStrategy.cs
Attempt 1Rejected

AX0107 DateTime.Now is not allowed. Wall-clock reads break determinism.

- var now = DateTime.Now;+ var now = bar.Timestamp;

Agent repaired it from the structured diagnostic.

Attempt 2Checking
  • Compiled with 0 errors and 0 warnings
  • Every member reference is on the allow-list
  • Four parameters match specification v1
  • Smoke run found entries and closed every position
  • Full and truncated data give identical results
Build bld:3f9a1c20 verified. Baseline queued.2 of 5 attempts used

05Baseline

See every trade the code actually took.

A verified build runs a baseline on development data straight away. Every marker shows the rule that fired, and you confirm the trades follow your rules before research begins.

BaselineDEMO 5m, base-orbDevelopment data
Net profit
$48,210
Trades
1,284
Win rate
44.6%
Profit factor
1.41
09:3010:3011:3012:30Opening range4549.504515.004497.75

Trade #214, longEntry

R2: close 4515.00 above range high 4511.50

10:10 ET, risk 17.25 points

Select a marker to see the rule that fired.

06Research

Ask why it works, and when it doesn't.

Each experiment states a question, a hypothesis, what changed and the result that would falsify it.

  • Trade counts and intervals for every bucket
  • Thin buckets look as weak as they are
Experiment exp-014Supported

Is the edge concentrated in the first hour after the range forms?

Hypothesis
Breakouts before 11:00 ET carry most of the expectancy.
Falsified if
The first-hour interval overlaps later buckets.
Expectancy per trade (R) by time of day

Whiskers show 95% bootstrap intervals. Hatched buckets have fewer than 30 trades.

Finding f-031 cites study dec-07

07Optimisation

Choose the plateau, not the peak.

Grid, random or Bayesian search on development data scores each point by its neighbours.

  • The top trial is never auto-promoted
  • Every trial counts towards the deflated Sharpe ratio
  • You choose what goes to validation, with a reason
OptimisationGrid search, development data90 / 90 trials
or_minutes 35, target_r 2.00: Sharpe 1.03
  • Not promotedTop trial, Sharpe 1.48. Its neighbours collapse.
  • SelectedPlateau centre, neighbourhood 0.88. Reason recorded.

08Validation

Then Evrant tries to break it.

Out-of-sample, walk-forward, Monte Carlo and stress tests run on a frozen configuration.

  • Pass criteria you can edit before the run
  • Validation jobs cannot read sealed data
  • Every run adds to the exposure count
Validation suiteDefault v1Frozen c-bed514
  1. Out-of-sample

    Validation range, 2022-01 to 2024-06

    62% of expectancy keptPass
  2. Walk-forward

    8 rolling windows

    6 of 8 profitablePass
  3. Monte Carlo drawdown

    2,000 bootstrap paths

    Drawdown within limitPass
  4. Monte Carlo loss

    Over 100 trades

    9% chance of lossPass
  5. +1 tick slippage

    Per side

    Expectancy −31%Pass
  6. 1-bar entry delay

    Robustness

    Fragile, −52%Warning
5 pass, 1 warningValidation exposure +1

09Candidate

A candidate comes with its evidence.

A configuration becomes a candidate only with a completed suite and a decision you record.

  • Unresolved assumptions stay on the list
  • Your decision is recorded with the evidence
Candidate dossierrpt-ef0fd85c92Awaiting decision

Opening-range breakout, example market

Branch base-orb, immutable report

Configuration
c-bed514885f3daa66
Parameters
or_minutes 35, stop_ticks 2, target_r 2.00, rel_volume_min 1.0
Data
Illustrative 1-minute bars, v2026.09
Split plan
v1, 55 / 25 / 20, one-week embargo
Validation suite
5 pass, 1 warning
Thesis fidelity
Consistent refinement
Exposure
Validation 1, sealed 0
Open assumptions
1 (RTH session)
Evrant has reported. The decision is yours.

The loop, not a pipeline.

Any finding can send the strategy back a chapter. Move in any direction. The hard rules only protect the evidence.

Validation sends it back to the buildResearch sends it back to the theory
Frozen before validation
Validation runs only on a frozen configuration.
Development stays blind
Development jobs never read validation or sealed data.
Sealed opens once
Sealed data opens only by your explicit, recorded action.
You make the call
A candidate needs a completed suite and a decision you record.

Early access

Run your own idea through it.

Join free for an early-access invitation. No account or payment required. We’ll confirm market coverage before you choose a plan.

For your early-access invitation only. Request removal anytime at [email protected]. See our privacy notice.