SolDailyVolumeConfirmedDonchianBreakoutLong
Hypotheses
SOL Daily Volume-Confirmed Donchian Breakout Long (Pure Mechanism)
Hypotheses
A long-only, single-instrument, single-timeframe strategy on SOLUSDT.BINANCE DAILY bars implementing the PURE analyst-validated Volume-Confirmed Donchian Breakout template — explicitly WITHOUT regime-filter overlays. Fills the clean instrument-timeframe gap on this template: BTC 4H, BTC Daily, ETH 4H, ETH Daily, SOL 4H, BNB 4H, LINK Daily, XRP 4H, ADA 4H variants all exist; SOL Daily Volume-Confirmed Donchian does NOT. SolDailyEmaTrendContinuationLong covers SOL Daily but uses a different mechanism (EMA trend continuation, not Donchian channel breach). The PURE template: 20-day Donchian high breakout + volume confirmation + 50-day SMA trend gate. Three filters only, no calm-vol/anti-chop/rising-slope overlays — keeps trade count high for walk-forward statistical power per the analyst's recurring guidance ('over-filtered strategies fail walk-forward'). SOL Daily provides three specific advantages: (a) SOL Daily ATR is 3-7% (vs BTC's 1.5-3%), so 3×ATR target gives 9-21% gross moves with enormous margin over the 0.10% perp fee floor; (b) SOL has distinct narrative cycles (memecoin frenzies, ecosystem launches like Solana Mobile, NFT cycles) that produce Daily-bar breakouts decoupled from BTC/ETH beta; (c) SOL Daily bars are CONFIRMED WORKING (SolDailyEmaTrendContinuationLong validates this exact bar type — Daily, not 4H which has had stale issues). Single-instrument, single-timeframe, NO secondary dependencies — directly avoids the multi-instrument audit_stale failure mode.
Hypotheses
Iteration 2 fix: the only change from the previous version is converting the _mean helper from a @staticmethod taking one argument into a normal instance method (def _mean(self, values)). The Layer-2 synthetic proxy rebinds class methods onto its proxy object in a way that does not honor the staticmethod descriptor, so self._mean(trs) passed self+trs (2 args) into a 1-arg function and raised 'takes 1 positional argument but 2 were given' across all six scenarios. As an instance method the signature (self, values) matches every existing call site (all already use self._mean(...)), so the fix is minimal and does not alter any signal, entry, exit, or sizing logic that already passed Layer 1. The strategy otherwise implements the analyst-validated pure Volume-Confirmed Donchian Breakout template (20-day breakout + volume confirmation + 50-day SMA trend gate, three filters only) on the clean SOL Daily instrument-timeframe gap, routed to BINANCE_SPOT because it is long-only with no leverage and no funding edge.
Hypotheses
Failed deflated Sharpe: DSR=0.559 (vs 0.95 bar), expected-max=8.55 over 225 trials — the optimized Sharpe 8.92 is only marginally above the best-of-N luck bar and is_significant=FALSE. Every forward/multiple-testing gate confirms an overfit, decaying edge: the HOLDOUT FAILED with a NEGATIVE Sharpe -1.636 (ratio -0.735); walk-forward is_overfitted=TRUE with avg IS 15.07 collapsing to avg OOS 2.23 and OOS windows [0.0, 6.68, 0.0] — two of three windows produced ZERO trades, so the 'positive' average rests on a single window; PBO 0.7831 (78% overfit probability). The optimized metrics (Sharpe 8.92, Sortino 46.9, Calmar 51.7) are artifact-territory and the PSR 0.9998 / DSR 0.559 split is the diagnostic tell that this is best-of-225 selection inflation, not edge. The edge is front-loaded and decaying (optimized annual 2021 +252% to 2026 -8.3%), which is why the recent holdout is negative. Not iterate (attempt 1 of 2): the failure is a decaying, front-loaded edge with zero-trade OOS windows and a negative holdout — not a robust region the sweep under-explored; a second sweep re-finds the same bull-concentrated config that fails forward. Not revise_hypothesis: the volume-confirmed Donchian breakout mechanism is already validated and landed on the liquid majors (BTC/ETH/BNB/SOL-4H/LINK); SOL-Daily is the decaying arm of that family's asset-selectivity, not a proven mechanism stranded on a structurally dead target. FAILURE PATTERN: the FourHour/Daily Volume-Confirmed Donchian Breakout family does not generalize robustly to additional alt arms — a clean sensitivity grid (0 cliffs) and a flashy optimized Sharpe (8.92) still fail deflated Sharpe (0.559, near the 8.55 luck bar), with PBO 0.78, is_overfitted with zero-trade OOS windows, and a NEGATIVE holdout (-1.64) because the edge is concentrated in 2021/2023 bull years and decays to negative by 2026. Identical signature to the abandoned ADA (DSR 0.13, holdout -3.63), AVAX (DSR 0.06, holdout -3.78), and DOGE (holdout -1.23) volume-Donchian siblings: a positive whole-sample CI and clean sensitivity do not rescue an edge whose time-ordered holdout loses money.
Implementation
Long-only, single-instrument Volume-Confirmed Donchian Breakout on SOLUSDT.BINANCE_SPOT daily bars (pure mechanism, no regime overlays). Enters long when the close breaks above the prior 20-day Donchian high (in ATR units past a small buffer) AND current volume exceeds 1.3x the 20-day average volume AND the close is above the 50-day SMA. Exits on a 3xATR take-profit, a 1.5xATR stop-loss (both measured from entry with ATR snapshotted at entry), or a 10-day Donchian low channel exit. Risk-based position sizing (2% of equity over the ATR stop distance), notional capped at 95% of equity. CASH/spot account, leverage 1.0, OHLCV-only.
Verification Results
Verification failed (Layer 2 — synthetic scenarios):
Parameters used: ['risk_pct', 'atr_period', 'sma_period', 'sl_atr_mult', 'tp_atr_mult', 'volume_mult', 'min_notional', 'size_precision', 'entry_atr_buffer', 'volume_ma_period', 'max_notional_frac', 'donchian_exit_period', 'donchian_entry_period']
Check that __init__ sets all attributes from self.parameters.get().
- steady_uptrend: TypeError: SolDailyVolumeConfirmedDonchianBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735692720000)
- steady_downtrend: TypeError: SolDailyVolumeConfirmedDonchianBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735692720000)
- flat_ranging: TypeError: SolDailyVolumeConfirmedDonchianBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735692720000)
- volatility_spike: TypeError: SolDailyVolumeConfirmedDonchianBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735692720000)
- zero_volume: TypeError: SolDailyVolumeConfirmedDonchianBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735692720000)
- price_gap: TypeError: SolDailyVolumeConfirmedDonchianBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735692720000)
Backtest Review
Mechanism correctly implemented: 46 long trades, ~11-day holds, Donchian breakout + volume confirmation + 50-SMA trend gate, matching the hypothesis
Backtest Review
Clean single-instrument/single-timeframe spot design — avoids the multi-instrument stale-leg failure mode
Backtest Review
NOT outlier-driven: return_kurtosis 1.3, skew 0.29, PF 1.73, max_DD 14.8% — distributed edge across normal-sized trades (unlike fat-tail siblings)
Backtest Review
46 trades is adequate (if light) for walk-forward statistical power
Backtest Review
Headline Sharpe 4.77 is implausible for ~10% CAGR / 68.9% total return; the huge CI [0.31, 9.19] with sharpe_ci_low just 0.31 reveals the true uncertainty — inflated by the sparse trade-day return series, will deflate hard after best-of-225 selection
Backtest Review
Bull-concentrated and decaying: positive only in 2021 and 2023; negative in 2022, 2024, 2025, AND 2026 — last three years all negative, the exact decay signature of the volume-confirmed Donchian family repeatedly abandoned post-optimization (AVAX/DOGE/ADA/ETH siblings) for failed recent-window holdouts
Backtest Review
~8 trades/year is on the light side for robust parameter sensitivity
Analysis
Clean sensitivity surface (0 cliffs) across all 13 parameters — the pure 3-filter mechanism is not knife's-edge in-sample
Analysis
Base backtest has a respectable headline (Sharpe 4.77, PF 1.73, max_DD 14.8%) and positive sharpe_ci_low (0.31)
Analysis
Single-instrument/single-timeframe design avoids the multi-instrument stale-leg failure mode
Analysis
HOLDOUT FAILED with a NEGATIVE Sharpe -1.636 (ratio -0.735) — the forward window loses money
Analysis
Walk-forward is_overfitted=TRUE: avg IS 15.07 collapses to avg OOS 2.23, with OOS windows [0.0, 6.68, 0.0] — two zero-trade windows propping the average on one
Analysis
Deflated Sharpe 0.559 < 0.95 (is_significant=FALSE); optimized Sharpe 8.92 only marginally above the expected-max luck bar 8.55 over 225 trials
Analysis
PBO 0.7831 — 78% probability the parameter selection is overfit
Analysis
Implausible optimized metrics (Sharpe 8.92, Sortino 46.9, Calmar 51.7) are artifact-territory for a 40-trade daily strategy; PSR 0.9998 vs DSR 0.559 split confirms best-of-N inflation
Analysis
Edge is front-loaded and decaying: optimized annual 2021 +252% -> 2024 +13.4% -> 2026 -8.3%, driving the negative recent holdout
Analysis
two of three OOS windows zero-trade
Outcome Summary
SolDailyVolumeConfirmedDonchianBreakoutLong filled the SOL-Daily gap in the Volume-Confirmed Donchian family with a clean single-instrument spot design, posting a distributed (low-kurtosis) base backtest of 68.9% return, PF 1.73, and a 14.8% drawdown that earned an 'optimize' verdict. Optimization yielded artifact-territory metrics — Sharpe 8.92, Sortino 46.9, Calmar 51.7 — but every forward gate broke: a negative holdout (-1.636), an overfit walk-forward with two zero-trade OOS windows, a deflated Sharpe of 0.559 barely above the 8.55 luck bar, and PBO 0.78. The edge was front-loaded in 2021/2023 and decayed to negative by 2026, driving the failed recent holdout. On its second iteration the analyst abandoned it, citing the same DSR-low, negative-holdout signature as the abandoned ADA, AVAX, and DOGE volume-Donchian siblings.
Outcome Summary
A clean sensitivity grid and a flashy optimized Sharpe cannot rescue an edge that is bull-concentrated and decaying — when two of three OOS windows produce zero trades and the time-ordered holdout loses money, the headline is best-of-N selection inflation, not forward-generalizing signal.
Outcome Summary
The analyst abandoned it post-optimization: the holdout failed with a negative Sharpe of -1.636 (ratio -0.735), walk-forward was_overfitted=TRUE (avg IS 15.07 collapsing to avg OOS 2.23 with windows [0.0, 6.68, 0.0] — two zero-trade windows), deflated Sharpe was 0.559 against an 8.55 luck bar (is_significant=FALSE), and PBO was 0.78.
Outcome Summary
A long-only, single-instrument SOLUSDT daily spot strategy implementing the pure Volume-Confirmed Donchian Breakout template — a 20-day Donchian high breakout plus volume confirmation plus a 50-day SMA trend gate, deliberately with no regime-filter overlays to keep trade count high for walk-forward power.
Outcome Summary
The base backtest returned 68.9% total (CAGR 10.3%) over 46 distributed trades with profit factor 1.73, win rate 45.7%, max drawdown 14.8%, and a headline Sharpe of 4.77 (but a wide CI with low end 0.31). Optimization produced implausibly strong metrics (Sharpe 8.92, PF 2.60, Sortino 46.9, Calmar 51.7, 654% total return over 40 trades), which the analyst read as best-of-N artifact rather than edge.
Backtest and paper results are hypothetical. Trading involves risk of loss.