SolCmFailedBreakoutTrapFadeLS
Hypotheses
SOL COIN-M Failed-Breakout Trap Fade — Fade Stop-Hunt Liquidity Grabs Above/Below the N-Day Range, Long-Short (Single-Instrument SOLUSD_PERP.BINANCE_CM, 4H Bars, Plain OHLCV, 3-Parameter)
Hypotheses
A LONG-SHORT, SINGLE-INSTRUMENT mean-reversion strategy on BINANCE_CM SOLUSD_PERP (inverse, coin-margined, ~0.06% RT taker → 0.10% fee floor) that fades FAILED range breakouts — the classic crypto stop-hunt / liquidity-grab pattern where price pokes through an obvious multi-day high (or low), triggers resting breakout orders and stops, then snaps back inside the range as the move fails to find follow-through. It is deliberately NOT the generic RSI/Bollinger mean-reversion the anti-patterns warn against (the entry is a specific structural price event, not an oscillator extreme), NOT the volatility-compression breakout that died (it fades the OPPOSITE — the failure of the breakout), NOT a momentum/confluence clone, NOT a non-price supplementary gate (L46), NOT a liquidation/basis feed edge (L47), and NOT a long-only structural basket (L48). It fills two under-represented buckets — the COIN-M venue (3.2% vs 5% target) and long_short direction (13.1%) — while carrying ZERO options/cross-venue infrastructure risk: plain OHLCV only, all rolling stats O(1) via a fixed-length deque (no full-history rescan → no 300s timeout), on SOLUSD_PERP which has multi-year 4H history (ample trade count and walk-forward span, unlike the 90-day options chain cap). SOL is chosen over BTC/ETH because its higher volatility makes both false breakouts more frequent AND the post-trap reversion larger — key to clearing fees — and it diversifies the BTC-heavy portfolio. The 'close back inside the range' confirmation is itself the regime filter: a genuine breakout closes at/beyond the level, a trap closes back inside, so no separate trend gate (and no extra parameter) is needed. Three parameters only, to resist the overfit death mode.
Hypotheses
Iteration 2 fixes the QA-reported liquidation (total_return -100%, 2024-03-13) with the smallest change that removes the failure mode: the close-only ATR stop in should_exit() is replaced by a venue-managed bracket (use_bracket_orders + stop_loss_pct/take_profit_pct), so the protective level now triggers intra-bar and a 4H spike through the level can no longer run an inverse short unbounded. should_exit() no longer re-implements any stop/TP price level (that would double-exit) and keeps only the midpoint-target and time-cap SIGNAL exits. Risk is now structurally bounded rather than claimed: gross notional is capped at max_gross_frac x equity and the stop is a fixed percentage, so the worst single-trade loss is 0.50 x 2% = 1% of equity - there is no liquidation path at leverage 1.0. The bracket geometry is also asymmetric (TP 2x the stop) to address the secondary finding that avg_loss > avg_win; combined with the intra-bar stop, the -0.711% avg trade and PF 0.802 were both measured on a run whose tail was dominated by the single account-destroying trade, so the payoff statistics need one clean re-measurement. Everything that passed Layers 1-3 is untouched: same imports, same class, same continuous signal (close - range_mid)/range_half_width computed every bar, same graded ATR-unit trap scores, same O(1) deque state, same contracts_for_notional inverse sizing. Honest note: if the corrected run still shows PF < 1 with a normal tail, the fade mechanism itself is refuted and should be abandoned rather than tuned.
Hypotheses
Edge below trading costs at BACKTEST_REVIEW: avg_trade_return_pct 0.0947% is below the COIN-M 0.10% fee floor, profit_factor 1.07 over 374 trades (gross edge consumed by commissions), and max_drawdown 61.4% exceeds the 50% hard-abandon threshold. Sharpe CI straddles zero and annual returns are deteriorating. This is a single-name mean-reversion/fade (class 0/174 survivors) with PF < 1.15 — a known fee_edge pattern that re-tuning three thresholds cannot lift over costs. Not worth 2 hours of optimization.
Implementation
Long-short 4H mean-reversion on the SOL COIN-M inverse perp (SOLUSD_PERP.BINANCE_CM) that fades failed range breakouts (stop hunts): when a bar's high pokes >= poke_atr x ATR above the prior range_lookback-bar high but CLOSES back inside the range, it shorts the failed grab; the mirror below the range low goes long. Exits are venue-managed bracket legs (STOP_MARKET stop at stop_loss_pct, LIMIT take-profit at 2x that, both firing INTRA-BAR) plus a signal exit on reversion to the range midpoint or a 24-bar hold cap. Sizing risks 1% of equity against the fixed stop, hard-capped at 50% of equity gross, floored to whole $10 inverse contracts.
Verification Results
Verification failed (Layer 4 — QA review) [class=code_defect]:
- LIQUIDATION / risk-control defect. Sandbox shows liquidated=TRUE, total_return -100% on 2024-03-13, return_skew -6.33, kurtosis 162 — a single trade destroyed the account, contradicting the developer's claim of 1.5% per-trade risk cap and 'no compounding blow-up path'. Root cause: the protective stop is evaluated ONLY at bar CLOSE in should_exit (close >= self._stop_level for a short). For an INVERSE short, losses are convex as price rises, and a 4H close-only stop cannot bound an intra-bar spike — during the March-2024 SOL rally a faded 'failed' breakout that then succeeded ran the short over, losing far more than 1.5% before the close-stop fired, liquidating the coin-margined account. Same failure as the BTC CM regime-gated reversion sibling (liquidated 2024-03-04) — a systematic pattern for CM inverse-short fades with close-only stops.
- Secondary (cannot be cleanly assessed until the blow-up is fixed): even pre-liquidation the fade shows NEGATIVE gross edge — PF 0.802 (<1), avg_trade_return_pct -0.711%, win_rate 0.485 with avg_loss $2,504 > avg_win $2,136. Classic mean-reversion-fade inverted payoff (a failed breakout that then succeeds runs the fade over). Even with a corrected stop the edge is questionable.
Verification Results
During optimization push poke_atr/range_lookback toward selectivity; confirm avg_trade_return_pct clears 0.10% net with a non-tail-dependent payoff. If it cannot, abandon rather than iterate.
Verification Results
Fee marginality on default parameters. Sandbox avg_trade_return_pct is 0.0897% (net of commissions), just BELOW the ~0.10% COIN-M low-fee-venue floor. PF is a marginal 1.066, Sharpe 0.331 with CI [-0.385, 1.141] straddling zero, max_drawdown 61.4% over 374 trades. Not a code_defect/hypothesis_mismatch (implementation is faithful) and not a hard no_edge — a more selective poke_atr plausibly lifts per-trade edge above the floor, which is exactly what optimization exists to test.
Verification Results
No change required.
Verification Results
Minor midpoint-target timing nuance (immaterial). _sync_position_state() freezes _target from the prior bar's _pending_target before the current bar can overwrite it, so the correct trigger-bar target is captured. No bug.
Backtest Review
Mechanically sound: 374 trades over ~5yr, correct inverse COIN-M contract sizing, no liquidation after the iter-2 venue-bracket fix
Backtest Review
Trades match the hypothesis: balanced 198 short / 176 long failed-breakout fades, not a polarity bug
Backtest Review
avg_trade_return_pct 0.0947% is BELOW the COIN-M 0.10% fee floor — per-trade edge smaller than round-trip cost
Backtest Review
profit_factor 1.07 with 374 trades — gross edge sits entirely inside commissions (classic fee_edge signature)
Backtest Review
max_drawdown 61.4% — exceeds the 50% hard-abandon threshold; return is leverage/beta, not edge
Backtest Review
Sharpe 0.33 with CI [-0.38, 1.14] straddling zero; information_ratio -0.244, deteriorating annual returns (2025 -12%, 2026 -5.8%)
Backtest Review
Single-name mean-reversion/fade class (0/174 survivors) with PF < 1.15 — re-tuning thresholds has never rescued this
Outcome Summary
SolCmFailedBreakoutTrapFadeLS faded failed range breakouts (stop-hunts) on the higher-volatility SOL COIN-M perp, arguing the close-back-inside confirmation is its own regime filter and larger SOL reversions would clear fees. Iteration 2 correctly replaced the close-only stop that had liquidated the account (-100%) with an intra-bar venue bracket, hard-bounding per-trade loss — the strategy now ran cleanly across 374 balanced long/short trades. But the backtest revealed the edge lives inside costs: avg trade 0.0947% (below the fee floor), profit factor 1.07, a Sharpe CI straddling zero, and a 61.4% drawdown above the hard limit. As another fee-edge failure in the 0/174 single-name fade family, the analyst abandoned it at backtest review without spending an optimization run.
Outcome Summary
Fixing the risk control (intra-bar bracket removing the liquidation) can make a strategy survivable without making it viable — a single-name fade whose per-trade edge sits below the round-trip fee and whose PF is ~1.07 has its gross edge entirely inside commissions, a fee_edge death that threshold tuning cannot lift over costs.
Outcome Summary
It was abandoned at the pre-optimization BACKTEST_REVIEW gate for edge below trading costs: per-trade return under the fee floor, PF 1.07 over 374 trades (gross edge consumed by commissions — the classic fee_edge signature), and a 61.4% max drawdown exceeding the 50% hard-abandon threshold, with a Sharpe CI straddling zero. As a single-name mean-reversion/fade (0/174 survivors) with PF<1.15, re-tuning the three thresholds has never rescued the class, so it was judged not worth the optimization run. Optimization, analysis, and risk review were never reached.
Outcome Summary
A long-short, single-instrument, plain-OHLCV mean-reversion strategy on the SOL COIN-M inverse perp (SOLUSD_PERP.BINANCE_CM, 4H) that faded failed range breakouts (stop-hunt liquidity grabs) — shorting when a bar poked above the prior N-bar high by an ATR fraction but closed back inside the range, and mirror-longing below the low — with a venue-managed intra-bar bracket (2x-stop take-profit) and a mid-range reversion target.
Outcome Summary
Over ~5 years it made 374 trades (198 short / 176 long) but the edge sat inside costs: avg_trade_return_pct 0.0947% (below the COIN-M 0.10% fee floor), profit factor 1.07, total return +59.9%, Sharpe 0.33 (CI [-0.38, 1.14] straddling zero), information ratio -0.244, and a 61.4% max drawdown, with deteriorating recent years (2025 -12%, 2026 -5.8%). The iteration-2 venue-bracket fix did successfully remove the earlier liquidation (prior run was -100%).
Backtest and paper results are hypothetical. Trading involves risk of loss.