EthOiConfirmedRangeBreakoutContinuationLS
Hypotheses
ETH Open-Interest-Confirmed Range Breakout Continuation — Long-Short, Ride Only Breakouts Backed by FRESH Leveraged Conviction (ETHUSDT.BINANCE USD-M, 4H Bars, Enter an N-Bar Range Break ONLY When Open Interest EXPANDS Through the Break = New Money Entering, Skip Hollow Short-Covering/Spot-Only Breaks; ATR Trailing Exit, 3-Parameter)
Hypotheses
A LONG-SHORT, single-instrument, mid-horizon directional CONTINUATION strategy on ETHUSDT.BINANCE USD-M perpetual, 4H bars, held ~1-3 days. This is deliberately the OPPOSITE mechanism to the dead OI-divergence-FADE class (which faded moves on FALLING OI) and is NOT the dual-timeframe momentum-confluence template (L62) nor a naked price breakout: the load-bearing, economically-motivated filter is that a range break is only tradable when it is CONFIRMED by EXPANDING open interest — i.e. new leveraged capital is entering in the direction of the break (genuine conviction), not a hollow short-covering or spot-only pop that lacks follow-through fuel. Naked breakouts on majors die because most breaks are noise; conditioning on OI expansion is the specific filter that separates breaks with a positioning tailwind from those without, directly attacking the whipsaw that kills breakout systems. It explicitly AVOIDS every currently-dead class per the latest lessons: NOT BINANCE_CM inverse (L65), NOT Deribit/options (L64), NOT the liquidations feed or dated quarterlies (L61), NOT a market-neutral major-perp basket (L45), NOT a multi-factor composite (L60). Data is safe and multi-year: ETHUSDT.BINANCE 4H OHLCV + the open_interest supplementary feed are both plumbed into the sandbox (OI is one of the Layer-2 injectable supplementary types alongside funding and liquidations). Direction is LONG-SHORT (under-represented at 14.2% vs long_only 85.8%). Only 3 free parameters to resist overfitting (the #1 killer). Fires symmetrically in both bull and bear regimes (breaks + OI expansion occur in both directions), so it does not suffer the bear-only zero-trade death that killed the spot dip-buyer. Risk: 2% equity-at-risk per trade sized as 2%/stop-distance, leverage 2x (shorts + >1x justify the USD-M futures venue over spot), one position at a time, ATR trailing stop is the primary risk control plus a hard time stop.
Hypotheses
Implements the hypothesis exactly: the load-bearing filter is OI EXPANSION through an N-bar range break (new leveraged money entering = follow-through fuel), the direct opposite of the OI-divergence fade class, and it is direction-symmetric so it fires in both bull and bear regimes. Single instrument, single timeframe, one confirming feed - no dual-timeframe confluence stack and no multi-factor composite. Only 3 free edge parameters (breakout_lookback, oi_lookback_bars, oi_expansion_threshold), all clamped to declared _param_bounds so the optimizer never tests a value the code rewrites. calculate_signal returns a continuous Donchian position recomputed every bar (never gated behind the entry condition); the entry decision thresholds it at +/-1 in should_enter alongside the OI gate. Open interest is COIN-denominated contract OI (USD OI would embed the price move and confound the price x OI test), parsed once in __init__ from open_interest_by_instrument (the engine's hourly multi-year per-leg map merged from the Vision metrics and fapi open_interest_hist mirrors) with the raw open_interest / metrics row-dict lists as fallback - which is also what Layer 2 synthesizes. Per bar the OI cost is two O(log n) numpy searchsorted lookups and the ATR is an incremental bounded deque, so nothing scales with accumulated history. Venue is USD-M futures rather than spot because the strategy shorts and because leverage is genuinely consumed: position_size reads self.config.leverage as the notional cap, and in low-volatility regimes the 2%-risk / 3-ATR sizing exceeds 1x equity notional. Entry frequency is designed to be measurable, not rare - a ~3-day range break plus a moderate 1% OI-expansion gate on 4H bars fires on the order of 40-60 trades/year, with multi-day holds whose expected move is well above the ~0.10% USD-M round-trip cost.
Hypotheses
L73 single-perp OI-gated breakout — the exact class (and near-exact instance) already run optimize→abandon this session; not worth 2 hours. Over 162 trades in 6.7 years: Sharpe 0.50 with bootstrap CI [-0.30, 1.24] straddling zero, PSR 0.763, profit_factor 1.22 (below the ~1.7 L73 threshold), total_return +64.9% (CAGR 10.5%). The OI-expansion gate does not add robustness the ~225-trial deflation can't strip (base Sharpe 0.50 is the ceiling), and the result is carried by 2022 (+40.4%) and 2024 (+29.1%) while 2025 (-13.3%) and 2026 (-1.1%) are negative — rolling Sharpe swung from +8 to negative, so the last-20% holdout sits in the losing regime, and max_drawdown is 26.5% (CI to 49%). To its credit it clears the fee floor (avg_trade_return_pct 0.387%), carries positive expectancy with correct RR asymmetry, and is cleanly built — but this is the L73 single-perp OI/supplementary-gated breakout family crossed with the L30/L63 breakout graveyard, and a Sharpe-0.50, PF-1.22 breakout whose recent two years are negative predictably fails the deflated-Sharpe/holdout gates. Failure pattern: no_edge/overfit single-perp OI-confirmed breakout, recent regime negative (L73/L30/L63).
Implementation
Long/short 4-hour range-breakout CONTINUATION on ETHUSDT.BINANCE USD-M perp, confirmed by expanding open interest. Every bar it computes the close's position inside the prior 18-bar Donchian channel, normalized so +1 = closing at the prior-range high and -1 = at the prior-range low. A break is traded ONLY when contract open interest has expanded by at least 1% over the prior 6 bars (1 day): new high + OI expanding -> long (fresh leveraged buyers), new low + OI expanding -> short (fresh short conviction). Breaks on flat/contracting OI (short-covering squeezes, spot-only pops, deleveraging) are skipped entirely, and when the OI feed is missing or stale the strategy stays flat rather than degrading to a naked price breakout. Exits are an ATR(14) trailing stop at 3 ATR ratcheted from the running favourable extreme (anchored at entry, so it doubles as the initial hard stop) plus a hard 18-bar (3-day) time stop. Sizing risks 2% of equity across the ATR stop distance, capped at equity x 2x leverage.
Verification Results
CLEAN RESTART 2026-09-04 — this run's verdict history and learning records were removed and it was restarted from verification. Its previous abandonment came from the pipeline, not from the market: the Layer-2 harness mis-bound @staticmethod helpers (fixed), QA issued terminal performance verdicts on an unoptimized smoke test (removed — QA now judges correctness only), and sandbox timeouts came from backtest-slot starvation (fixed). The hypothesis and the strategy code are unchanged. Verify the code on its merits; performance is decided later by the full backtest and the optimizer.
Verification Results
No code change required. Analyst should confirm trade frequency stays >100 over full history before/after optimization.
Verification Results
oi_expansion_threshold draw (0.0199) sits at the ceiling of its bound combined with the shortest oi_lookback (3 bars = 12h); a stricter gate on other draws could reduce trade count. Currently measurable (162 sandbox trades).
Backtest Review
Not fee-dead (avg_trade_return_pct 0.387% clears the floor, commission 3.6% of gross), positive expectancy with correct RR asymmetry (avg_win $4625 > avg_loss $3122)
Backtest Review
Cleanly built (contract-OI parsing, point-in-time lookups, no price-only fallback); reasonable sample (162 trades over 6.7 years)
Backtest Review
L73 single-perp OI-gated breakout class (explicitly cited as ETH OI-confirmed range breakout optimize→abandon) crossed with the L30/L63 breakout graveyard; PF 1.22 < ~1.7 threshold
Backtest Review
Not significant: Sharpe 0.50 with CI [-0.30, 1.24] straddling zero, PSR 0.763; base Sharpe is the ceiling deflation lowers
Backtest Review
Carried by 2022 (+40%) and 2024 (+29%); 2025 (-13.3%) and 2026 (-1.1%) negative, rolling Sharpe +8 → negative — holdout in the losing regime
Backtest Review
max_drawdown 26.5% (CI to 49%), kurtosis 9.1, 7 consecutive losses
Backtest and paper results are hypothetical. Trading involves risk of loss.