trading / confluences / b_nr7

b_nr7 — Crabel NR7 daily range contraction DEAD

Online lane — published (Crabel) · Scored and did not clear its own noise floor.

BURNED DATA — 2019–2026 was selected on before this lab existedNOT TV-VERIFIEDSCREENING ≠ CERTIFICATIONOPTIMISTIC FILL MODEL — touch fills, zero slippageMES ONLY · P1 M2 managementSOLO LEDGER IS NOT A BOOK — never summed

What it asks

Was yesterday the narrowest-range session of the last seven? The classic volatility-contraction-precedes-expansion setup.

Exact definition · verbatim docstring from backtests/conf_lab/bits.py (sha1 5473adbbf694)

Crabel NR7 — daily volatility contraction. 1 iff the most recent RTH
session strictly before the decision day has a range (hi-lo) STRICTLY
smaller than each of the 6 sessions before it.

Sessions come from `_rth_daily_from_m5` over `view.history("m5", n=12000)`,
the same builder `_daily_atr20` uses. Fewer than 7 prior sessions -> 0.

NOT the FDR-dead `n1-narrowOR`: this is prior-DAY range, not opening-range
width. Evidence tier: PUBLISHED (Crabel, plus decades of practitioner
replication). Window 7 fixed a priori; no sweep.

Fixed parameters & provenance

Every parameter below was fixed in the design document before any candidate value was computed. No sweep, no tuning: a bit that needs tuning to pass has failed.

FieldValue
Source componentURL-lane: Crabel NR7 (published book + decades of practitioner replication)
Evidence tierPUBLISHED
measure"RTH session range"
min_prior_sessions7
stricttrue
window_sessions7
Noteprior-DAY range, not OR width — NOT n1-narrowOR
Design docbacktests/conf_lab/SCREEN-2026-08-07-DESIGN.md
Doc sha256e2ba7ca77acce01c03ebcdb7afb51ffade7bb7a591303a2923329dba13a91d94

Screen analytics — screen-2026-08-07

Conditional association on mean solo R, stratified on the count of the OTHER live bits, against a per-bit prevalence-matched null (50,000 i.i.d. Bernoulli draws at this bit's own prevalence, scored on its own strata). Population: 2,882 candidates, 2,289 filled, MES, 2019-06-04 → 2026-07-31.

Prevalence
16.03%
of filled rows
Pooled Δ mean R
-0.0040
stratified, vs bit=0
Matched-null p
0.9575
4.25th pctile of own null
BH q (15-bit family)
0.9575
q=0.25 gate
Bootstrap 95% CI
[-0.148, +0.148]
week-block, n=20,000 · p=0.9629
Win-rate Δ
+0.0036
secondary statistic

Per era · reported separately, never pooled into a verdict — each cell is a smaller sample than the headline

Eran filledPrevalenceΔ mean Rmatched pboot 95% CIflag
pre-20251,79015.59%+0.03440.6835[-0.138, +0.214]
2025+49917.64%-0.13730.4148[-0.380, +0.128]

Funnel & fill conditioning · a bit that mostly predicts whether a limit FILLS is not the same discovery as a bit that predicts whether a trade WINS

MeasureValue
Candidate rate (all 2,882)16.48%
Limit fill rate — bit = 177.26%
Limit fill rate — bit = 079.85%
Fill-conditioning gap-0.0259
Live take rate — bit = 116.84%
Live take rate — bit = 017.53%

Novelty vs the six live bits · high agreement means the bit is mostly restating a gate that is already in the stack

Live bitAgreementJaccard
c1_trend62.08%0.1197
c2_vwap41.77%0.1537
c3_volume29.01%0.1528
c4_sweep32.46%0.1519
c5_htf64.48%0.1095
c6_room77.94%0.0751

By stratum — does it work where the method actually trades? · the live A/B take rule is count >= 4, so the count>=4 rows are the only ones that could change a live trade

Stratumn onn offmean R onmean R offcrude Δ
other live bits == 0 SMALL02-0.4742
other live bits == 11591-0.1140-0.3013+0.1872
other live bits == 2101568-0.0164-0.0754+0.0590
other live bits == 3165788-0.0943-0.0080-0.0863
other live bits == 472404+0.1697+0.1050+0.0647
other live bits == 51362-0.0234-0.0269+0.0036
other live bits == 6 SMALL17-1.0960-0.0660-1.0300

Status — DEAD

The flattest result in the entire slate, and notably so given it carries the slate's ONLY 'published' evidence tier (Crabel's book plus decades of practitioner replication). Pooled delta −0.004 R. Matched p=0.958 — the 4.25th percentile of its own null, i.e. more null-like than 95% of random columns at the same prevalence. q=0.958. A published, widely-believed daily-volatility factor adds nothing to this intraday method's confluence stack. That is the single most useful sentence the online lane produced.

Retest path

None. This is as clean a null as the instrument can deliver, on a bit that was carefully distinguished from the dead n1-narrowOR (prior-DAY range, not opening-range width) before it was run.

Standing caveats

screen-2026-08-07stream conflab-pop-v1opportunity sha256 b62ca795de4a647b…harness ok · 0 real violations