Strategies
COIN-M ETH Inverse-Perp Regime-Gated Bollinger Mean Reversion, Long-Short (Single-Instrument BINANCE_CM, 1H, Fade Band Extremes ONLY in Ranging/Low-ADX Regime, Mid-Band Take-Profit, Failed-Reversion Stop, Pure OHLCV, Low-Parameter, Cheapest-Fee Venue)
Outcome: Abandoned
EthCoinMRangingBollingerReversionLS
Well-measured (781 trades over 5.8 years); clean 4-parameter pure-OHLCV construction with an ADX regime gate and correct inverse-contract sizing
Hypothesis
Implementation
Long-short ADX-gated Bollinger band fade on the ETH COIN-M inverse perpetual (ETHUSD_PERP.BINANCE_CM, 1-hour bars, pure OHLCV). It computes the close's Bollinger z-score over 20 bars, arms a fade when z reaches a band extreme (+/-2.0), and enters only once price starts reverting back inside the band while Wilder ADX(14) confirms a ranging regime below 20. The mid-band (z crossing the SMA) is the take-profit and a 48-bar time stop bounds the hold. Iteration 2 moves the failed-reversion stop from a bar-close z check to a VENUE-MANAGED bracket leg at 2.0% that triggers intra-bar, so a fast adverse move is cut at the level instead of at the next close. Sizing risks 0.5% of equity over that bracket stop distance, capped at 0.75x equity of gross notional, floored to WHOLE $10-face inverse contracts.
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.
Analyst to decide abandon vs optimize on full history; if PF stays ~1.0 after walk-forward, abandon per the developer's stated condition rather than burning a 3-phase optimization.
Fee-viability is marginal by the developer's own measurement (gross per-trade edge ~0.11% vs ~0.10% CM round trip), realized as breakeven-to-negative (PF 1.0001, avg_trade_return_pct ~0). Classic mean-reversion fee-graveyard tension: the mid-band TP caps wins small while the 2% bracket stop makes losses ~2x larger, so almost no post-fee headroom. Not a code defect — the mechanism, gate, and exits are correctly implemented.
Backtest Review
- Sharpe
- -0.02
- Total return
- -19.62%
- Max drawdown
- 35.12%
- Trades
- 781
- Win rate
- 64.3%
- Profit factor
- 0.91
Well-measured (781 trades over 5.8 years); clean 4-parameter pure-OHLCV construction with an ADX regime gate and correct inverse-contract sizing
Iteration-2 intra-bar bracket stop worked mechanically (win_rate up to 64%); no blow-up, contained per-trade risk
Negative expectancy: PF 0.907, avg_trade_return_pct -0.059%, expectancy -$14.74/trade, total_return -19.6%, Sharpe -0.019 (CI [-0.85, 0.76])
RR still inverted (avg_win $224 < avg_loss $444, ~0.5) — the high win rate does not overcome the loss asymmetry; the stop fix lifted win-rate but not expectancy
Fee-fragile: commission 17.34% of gross at the 1H reversion cadence
L55 single-name fade/reversion family (0/174 survivors); loses in most years; stress windows almost all negative; max_drawdown 35% (CI to 76.5%)
Iteration History
Backtest and paper results are hypothetical. Trading involves risk of loss.