Trading Bot HQModels & runsTestsResearch

Declared scan: H4-open ignition (R3 — mentor claim)

Date declared: 2026-07-24, before any computation. Split: Research only (BTCUSD 2017-08-17 → 2022-12-31). Layer 3, Edge Lab. Lineage if anything survives: mentor — this is his most mechanizable original claim ("the first 15 minutes of an H4 candle"), from the technique journals (critique doc §5, rung R3).

The claim, made falsifiable

Two separable parts:

(a) Ignition-continuation (signed): a strong move in the first 15 minutes of an H4 candle continues. Event: the M5 bar closing exactly 15 minutes after an H4 boundary (H4 boundaries: 00/04/08/12/16/20 UTC), where |net move over those 3 M5 bars| ≥ 1.5 × ATR14(M5) (constant declared here; the neighborhood 1.25/1.75 is reported for plateau reading, hypotheses counted). Direction = sign of the 15-min move.

(b) H4-opens are special at all (unsigned): absolute forward move after the :15 mark of H4-boundary hours vs the same :15 mark of NON-boundary hours (the clock-time control — same minute-of-hour, different H4 status). If (b) shows boundary ≈ non-boundary, the claim reduces to ordinary time-of-day structure and (a) is just displacement by another name.

Conditions and accounting

  1. h4_ignition signed, threshold 1.5 (primary) — 4 horizons
  2. h4_ignition_1.25 and h4_ignition_1.75 signed (plateau neighborhood) — 4 horizons each
  3. h4_open_any unsigned (all boundary :15 bars, no magnitude filter) — 4 horizons
  4. non_h4_open_any unsigned (non-boundary :15 bars, the control) — 4 horizons

Horizons: 15, 30, 60, 240 min (240 ≈ the rest of the H4 candle). Forward moves close-to-close in ATR units and bp. Universe: valid M5 bars, ATR14 > 0, complete forward window. Nulls: full battery, engine defaults; the shuffle null is meaningful for (a) (direction varies per event) and degenerate for (b) (noted per the level-reaction precedent). 5 conditions × 4 horizons = 20 hypotheses (cumulative 57 → 77 of 2,000).

Pre-declared reading

Displacement already taught us BTC continues after large M5 bars generally; (a) only matters if ignition at H4 opens beats what the same-size bar does anywhere (compare against the run-19-era displacement magnitudes on record — qualitative comparison, no new hypotheses). Honest prior: (b) probably shows modest time-of-day vol structure (session effects held twice in this project), (a) probably reduces to generic displacement. The mentor claim survives only if boundary-anchored ignition is distinctly stronger.

Results (filled 2026-07-24, single ledger-logged run; 20 hypotheses, cumulative 77/2000)

FAIL as pre-registered — (a) refuted (null-to-reversal, non-monotone), (b) weakly confirmed. Full table in results/h4-ignition-btcusd.json; new columns move15_atr / move15_sign / h4_open15_bar / non_h4_open15_bar added directly to tradingbot.edgelab.features.build_features (FEATURE_VERSION bumped 1.1.0 → 1.2.0; not an additive side-parquet+join like the R7 level columns, since no separate state machine is needed); 149 tests green (148 + 1 new feature-correctness test).

Grid convention, stated explicitly: the M5 feature store is OPEN-labeled (a bar's index timestamp is its open; it covers [index, index+5min) and closes at index+5min). "The M5 bar closing exactly 15 minutes after an H4 boundary" is therefore the bar whose index sits at :10 past the hour (opens at :10, closes at :15). move15_atr = (close − open.shift(2)) / atr14 at that bar (the 3 bars spanning the boundary are the :00/:05/:10-indexed bars, so the boundary's own open is 2 bars back).

Condition (signed) n Signed mean ATR: 15m / 30m / 1h / 4h shuffle-p
h4_ignition_1.25 3,353 −0.055 / −0.154 / −0.151 / −0.139 0.033 / 0.000 / 0.005 / 0.179
h4_ignition (primary, ≥1.5) 2,327 −0.032 / −0.106 / −0.095 / −0.101 0.305 / 0.035 / 0.156 / 0.410
h4_ignition_1.75 1,583 +0.006 / −0.075 / −0.080 / −0.064 0.882 / 0.244 / 0.338 / 0.682
Condition (unsigned) n Abs mean ATR vs unconditional, rand-p: 15m / 30m / 1h / 4h
h4_open_any 11,739 0.914/0.877 p=.031 · 1.281/1.239 p=.045 · 1.790/1.761 p=.088 · 3.692/3.687 p=.453
non_h4_open_any (control) 35,218 0.851/0.877 p=1.00 · 1.228/1.239 p=.826 · 1.782/1.761 p=.058 · 3.688/3.687 p=.492

(a) Ignition-continuation: REFUTED. The primary condition's signed effect is null-to-negative at every horizon (shuffle-clean only at 30m, p=0.035, and that cell is a reversal, not continuation: sign is negative). Worse, the effect is non-monotone with magnitude in the wrong direction — going from the 1.25 to the 1.75 neighborhood, the signed effect moves toward zero at every horizon (e.g. 15m: −0.055 → −0.032 → +0.006; 30m: −0.154 → −0.106 → −0.075), the opposite of the plateau a real dose-response would show. Year-blocks at the primary condition: 30m and 1h are 5/6 sign-stable (reversal direction), 15m is 4/6, 4h is mixed (3/6) — a mild, non-strengthening mean-reversion artifact after large moves, not a continuation edge.

Comparison vs the displacement scan (reports/scan-displacement-events/results-btcusd.json, disp3/4/5, no new hypotheses):

n 15m 30m 1h 4h
disp3 (≥3× baseline, anywhere) 1,306 +0.123 +0.117 +0.053 −0.002
disp4 517 +0.288 +0.456 +0.381 +0.238
disp5 282 +0.500 +0.685 +0.670 +0.269
h4_ignition_1.25 (H4-anchored) 3,353 −0.055 −0.154 −0.151 −0.139
h4_ignition (H4-anchored) 2,327 −0.032 −0.106 −0.095 −0.101
h4_ignition_1.75 (H4-anchored) 1,583 +0.006 −0.075 −0.080 −0.064

Generic same/bigger-size displacement bars anywhere in time show a positive continuation that strengthens monotonically with magnitude through 1h (disp3→disp5). A move of comparable or larger size anchored specifically at an H4 boundary shows approximately zero-to-mildly-negative signed effect that weakens as magnitude rises. H4-boundary ignition does not inherit the generic displacement finding — if anything it behaves oppositely to it. The mentor claim does not survive the "distinctly stronger than generic displacement" bar set in the pre-declared reading; it doesn't even match generic displacement, let alone beat it.

(b) H4-opens are special at all: weakly CONFIRMED. h4_open_any (boundary :15 bars) shows abs move mildly elevated over the unconditional baseline through 1h (rand-p 0.031–0.088); non_h4_open_any (same minute-of-hour, non-boundary hours) sits at or below baseline (rand-p 0.826–1.000 at 15–30m, 0.058 at 1h). Both fade to noise by 4h. This matches the pre-declared honest prior ("modest time-of-day vol structure") — real, small, and specific to the boundary hour, not shared by the clock-time control.

Consequence for the mentor branch: the ignition-continuation half of the H4 claim is refuted as mechanized here; the time-of-day-structure half is weakly real but modest, consistent with session effects holding twice before in this project (Research Program §7). Mechanized mentor-derived claims remain 0-for-4 on the continuation/direction axis; the rhythm scan (below) is the next and last item on the R3/R4 mentor-layer ladder before R7.