Strategies · Record

a3-gap-acceptance-rejection

a3 / a3-gap-acceptance-rejection @ a3-v1 · code 128d930

campaign strategyREJECTED

Lightning Screen: Aggregate expectancy is positive (0.0924R) but 2/4 qualifying years (n>=15) agree with the aggregate sign, below the 60% bar for a reasonably consistent result.

Lifecycle
completed
Outcome
fail
Phase
Phase A
Research gate
LIGHTNING
Engine
strategy lab
Market
MNQ
Timeframe
MNQ 1-minute OHLC
Side
BOTH

Tracking

Family, lineage and what this record needs next
Mechanism family
Overnight / prior-day structure
a3-gap-acceptance-rejection
Mechanism parent
None declared.
Phase detail
Scientific validation lane (Phase A).
Next required test
None — this record is complete.

Integrity & certification

Signals as recorded; NOT_PASSED means not passed or not applicable
Engine certified
unknown
Execution certified
unknown
Integrity audit
unknown
Shadow verifier
unknown
Technical invalidation
None recorded.

Artifacts

Everything committed for this record
Campaign record (A3)
research-output/strategy-lab/campaigns/a3/campaign_state.json

Stage ladder

Each cell carries the campaign runner's own classification label — hover for the verdict and its reason
Intake
passed
Pre-reg
passed
Lightning
failed
Robust
Exec/stat
Validation
H-eligible
Holdout
Audit
Closed
failed
INTAKE
Registered into campaign A3 at code version 128d930.
PREREGISTRATION
Pre-test passed: distinct, causal, executable, required data available.
LIGHTNING
REJECTED_UNSTABLEAggregate expectancy is positive (0.0924R) but 2/4 qualifying years (n>=15) agree with the aggregate sign, below the 60% bar for a reasonably consistent result.
CLOSED
REJECTEDLightning Screen: Aggregate expectancy is positive (0.0924R) but 2/4 qualifying years (n>=15) agree with the aggregate sign, below the 60% bar for a reasonably consistent result.

Evidence recorded

Quoted from the campaign record — never recomputed here
Screen n (FIXED_2R)
476
Expectancy
+0.092R
Profit factor
1.15
Win rate
36.8%
Total R
44
Max DD
28R
Longest L streak
9
Trades / year
133.4
SplitWindownExpectancyPFMax DD
Discovery
Validation
Holdout

Read from research-output/strategy-lab/campaigns/a3/campaign_state.json

Holdout position

One-shot, sealed, never retried
Eligible
Authorised
Not authorised.
Specification frozen
Sealed data consumed
No.
Validation data consumed
No.

Lineage

Declared at intake, carrying any prior negative result
Relation to prior work
new independent mechanism

Frozen specification

Snapshotted at intake — not re-read from a live module
Mechanism hypothesis
A large RTH opening gap (vs the prior session's own close) is either accepted (price extends further away from the prior close) or rejected (price rounds back toward the prior close) within its first 30 minutes, and each outcome predicts a different subsequent direction.
Long rule
At the 09:30 ET RTH open, if |open - priorRthClose| / ATR(14, 5-minute, computed only from bars strictly before the open) >= 1, arm the gap. By the 6th closed 5-minute bar after the open: if price has extended >= 25% of the gap's own magnitude further from the prior close (ACCEPTANCE), enter LONG for an up-gap (or SHORT for a down-gap) in the gap's own direction. If price has instead rounded back through the open toward the prior close by >= 50% of the gap's own magnitude (REJECTION), enter in the OPPOSITE direction (toward the prior close).
Short rule
Symmetric for a down-gap: ACCEPTANCE enters SHORT (continuation of the down-gap), REJECTION enters LONG (fade back toward the prior close).
Entry trigger
Exactly one evaluation per RTH session, at the 6th closed 5-minute bar (30 minutes) after the 09:30 ET open, classifying the armed gap as ACCEPTANCE, REJECTION, or ambiguous (no trade).
Earliest executable entry
Next 1-minute bar's open after the 6th (30-minute) confirmation 5-minute bar closes.
Initial stop
1.5x the same pre-open ATR(14, 5-minute) baseline used to size the gap, placed on the adverse side of the entry price.
Exit
FIXED_2R only (this seed strategy's declared A3 scope), via the shared TradeTracker; 5-day max-hold expiry as a backstop.
Session restriction
Evaluated once per RTH session, 30 minutes after the 09:30 ET openThe mechanism is defined entirely in terms of the RTH open's own relationship to the prior session's close and has no meaning at any other time of day.
Causality
The gap and its ATR baseline are both fixed at the instant the 09:30 ET open bar's own open price is known, using only already-closed prior bars. The acceptance/rejection classification uses only the 6th closed 5-minute bar after the open (itself fully causal). Entry is deferred to the next 1-minute bar's open after that confirmation bar closes. No same-bar entry.
Expected frequency
LOW
Required data
MNQ 1-minute OHLC
Campaign data window
MNQ 2022-06-03..2026-09-15
Parameters
atrLength5m = 14 (integer) — 5-minute ATR lookback for both the gap-size normalization and the stop.largeGapAtrMultiple = 1 (number) — Normalized gap size (in ATR multiples) required to arm the gap.confirmBars5m = 6 (integer) — Closed 5-minute bars after the open at which acceptance/rejection is evaluated.extensionFraction = 0.25 (number) — Fraction of the gap's own magnitude the close must extend further from the prior close, to classify ACCEPTANCE.rejectionFraction = 0.5 (number) — Fraction of the gap's own magnitude the close must round-trip back toward the prior close, to classify REJECTION.stopAtrMultiple = 1.5 (number) — Stop distance as a multiple of the pre-open ATR baseline.

Read from research-output/strategy-lab/campaigns/a3/campaign_state.json

History

Every dated event this record appears in, newest first
2026-09-16
a3-gap-acceptance-rejection@a3-v1 registeredREJECTED · LIGHTNING_SCREEN
[a3] Lightning Screen: Aggregate expectancy is positive (0.0924R) but 2/4 qualifying years (n>=15) agree with the aggregate sign, below the 60% bar for a reasonably consistent result.
research-output/strategy-lab/experiment_registry.json