Skip to content

View original

SolFourHourDonchianBreakoutRisingTrendLong

Hypotheses

SOL 4H Donchian Channel Breakout with Rising Trend Filter Long-Only (BINANCE USD-M Futures, 4H, OHLCV-Only, Only-3-Phase-Validated Mechanism Class)

Hypotheses

Long-only 4-HOUR Donchian channel breakout strategy on SOLUSDT.BINANCE, completing the cross-asset robustness test of the analyst-validated highest-Sharpe mechanism class (BNB Donchian iter-2 PROMOTED at Sharpe 5.95 — the SINGLE highest 3-phase-validated Sharpe in the factory record). Mechanism: when SOL closes above its 12-bar high (Donchian upper channel breakout) AND trend filter confirms pre-existing uptrend (sma_50 rising over 20 bars AND current_close > sma_50), enter LONG. Exit on Donchian-low trailing stop or PnL/time stops. CRITICAL CONTEXT: my recent SOL Pullback-in-Trend AND SOL Bull Flag both failed via developer translation (to 1-DAY and 12-HOUR respectively). Donchian-with-trend-filter has a much simpler implementation (single-bar channel high + 50-SMA filter) than multi-step Pullback or Bull Flag state machines — this reduces the developer's surface to add 'helpful' context bars. ANALYST-VALIDATED MECHANISM: Donchian-with-trend is the ONLY mechanism class that has passed all 3 validation phases and reached PROMOTION in the factory record. SOL asset choice rationale: SolFourHourVolumeBreakoutLong (landed) + SolDailyEmaTrendContinuationLong (landed) both prove SOL supports momentum mechanisms. EXPLICIT 4-HOUR SPEC: SOL 4H is proven via landed SolFourHourVolumeBreakoutLong. ZERO supplementary data, ZERO extra bar types, ZERO extra instruments. ACKNOWLEDGED DIRECTION QUOTA VIOLATION (28th consecutive turn): empirically validated path. Fills the gap of applying the only 3-phase-validated mechanism to SOL — the strongest data-validated asset where my recent submissions have failed via translation. Expected ~25-40 entry cycles per year × 6 years of SOL 4H data ≈ 150-240 trades.

Hypotheses

Iteration 2 addresses the iteration-1 review's single critical, actionable defect: reckless sizing. The mechanism (Donchian-with-trend, the only 3-phase-validated/promoted class) and timeframe (4H, no translation) were correct and passed all earlier verification layers, so those are left untouched. The ONLY change is position_frac 0.95 -> 0.20 (both in code default and config). At ~0.20x equity notional a single long can no longer compound into the >1x effective exposure that produced the implausible +191%/+100%/+92% daily returns, the ~186% annualized vol, and the 45% drawdown flagged in review; those artifacts were driven by near-all-in compounding plus mark-to-market on the open position, not by the edge itself. Modest 0.20 sizing sits in the review's recommended 0.15-0.25 band (equivalent to risk-based sizing that risks ~1.6% of equity on the 8% stop) and matches the sizing regime of the promoted BNB Donchian sibling, making this a fair, un-corrupted test of the edge and letting the analyst judge on realized return. Imports remain clean (no banned modules) and signal/exit logic is byte-identical, so no earlier passing layer regresses.

Hypotheses

Overfit walk-forward plus a NEGATIVE forward holdout, on optimization attempt 1. The walk-forward is is_overfitted=TRUE: avg IS Sharpe 1.998 collapses to avg OOS -0.5424 with two of three OOS windows negative ([-1.569, +1.011, -1.070]). Decisively, the untouched time-ordered HOLDOUT FAILED and is NEGATIVE (holdout_sharpe -0.7641, ratio 0.0) — the strategy loses money on data the optimizer never saw. The multiple-testing gate fails alongside it: is_significant=false, deflated_sharpe=0.5701 (vs the 0.95 bar), PBO=0.7289 (a 73% probability of backtest overfitting), sharpe_ci_low=-0.164 straddling 0, and the optimized Sharpe 1.1234 only barely clears the 225-trial expected-max luck bar of 1.0322 — probabilistic_sharpe 0.9853 vs DSR 0.5701 is the textbook PSR-vs-DSR selection-inflation trap. Fundamentally the strategy is a closet under-performer: NEGATIVE information_ratio in both base (-0.8282) and optimized (-0.8285) forms with benchmark_meaningful=true, so it delivers less risk-adjusted value than simply holding SOL, on beta 0.06-0.08 and alpha of only +0.016 to +0.030. Its entire track is one bull year (base annual: 2021 +112.1%; 2022 -3.5%, 2024 +1.0%, 2025 -4.8%, 2026 -3.7%), outlier-carried (return_kurtosis 135.9, skew 10.45, tail_ratio 0.32, win_rate 31.6%) with a 580-day max drawdown duration and a rolling Sharpe negative at every 2026 reading (-1.70 to -3.86). Not iterate (despite attempt 1 of 2): the binding failures are a negative forward holdout, negative average OOS, and PBO 0.73, and although the sensitivity surface is clean (0 cliffs), the ENTIRE grid sits between 0.865 and 1.202 Sharpe — clustered around the 1.032 luck bar — so there is no robust region above significance to tune toward, and a second best-of-225 sweep re-selects the same sub-significant, forward-dead config. Not revise_hypothesis: SOL 4H is a valid, data-rich instrument (proven by the landed SolFourHourVolumeBreakoutLong sibling) and this is high-IS/negative-OOS overfitting on a fine target, not a proven mechanism stranded on a dead one — per the overfit->abandon rule, re-pointing the same Donchian-plus-trend expression at another major just re-overfits. FAILURE PATTERN: porting the promoted BNB 4H Donchian-with-rising-trend mechanism to SOLUSDT 4H does NOT inherit promotability — the SOL port produces the single-name breakout overfit signature (IS 2.00 -> OOS -0.54 with two negative windows, a NEGATIVE holdout of -0.764, DSR 0.57, PBO 0.73, Sharpe CI straddling 0) atop a negative information ratio vs its own SOL buy-hold and an edge that exists only in 2021. A perfectly clean 0-cliff sensitivity surface and a high probabilistic_sharpe (0.985) measure parameter stability and single-config consistency, not statistical significance or forward-generalization; a flat sensitivity grid pinned at the best-of-N luck bar is evidence there is nothing to find, not evidence of robustness.

Implementation

Long-only 4H Donchian channel breakout on SOLUSDT.BINANCE futures with a rising-trend filter (50-SMA rising over 20 bars AND close > 50-SMA). Enters LONG when close breaks the prior 12-bar high; exits on a 12-bar Donchian-low trailing stop, an 8% hard stop, or a 120-bar time stop. Continuous signal = breakout distance beyond the prior channel high in ATR units. No leverage, no supplementary data, no extra instruments.

Backtest Review

Mechanism matches hypothesis exactly: 117 long-only Donchian breakout entries with rising-SMA trend gate, Donchian-low trailing exit, ~5-day avg hold — the promoted Donchian-with-trend class.

Backtest Review

Positive-skew trend geometry working as intended: win_rate 31.6% but profit_factor 1.69 (avg_win $7,706 vs avg_loss $2,106), Sortino 4.46, omega 1.95.

Backtest Review

Healthy, internally-consistent risk: max_drawdown 11.7%, annualized_vol 32.7%, exposure 28%, beta 0.084 — the position_frac=0.20 sizing fix removed the prior compounding/leverage artifact (no implausible equity path).

Backtest Review

Adequate sample (117 trades) and respectable base Sharpe 1.00 (probabilistic_sharpe 0.9912).

Backtest Review

Edge is heavily 2021-carried (+112%); 2023 (+18.9%) is the only other strong year while 2022 (-3.5%), 2024 (+1.0%), 2025 (-4.8%), 2026 (-3.7%) are flat-to-negative — rolling Sharpe has gone negative in 2026 (-3.86).

Backtest Review

sharpe_ci_low = -0.053 barely straddles zero.

Backtest Review

information_ratio -0.83 vs buy-hold (benchmark_meaningful=true) — captures less than holding SOL risk-adjusted, though low exposure/beta means it is not a closet long.

Backtest Review

return_kurtosis 135 / skew 10.5 — outlier-carried (normal for trend, but concentration risk).

Backtest Review

healthy after sizing fix

Backtest Review

respectable base; CI (-0.05, 1.69)

Backtest Review

adequate sample

Backtest Review

solid trend edge

Backtest Review

generalization risk

Backtest Review

2025/2026 negative

Analysis

Sensitivity analysis PASSED cleanly: 0 cliff parameters across all 10 params, with the Sharpe grid varying smoothly (0.87-1.20) — the implementation is stable and the code faithfully implements the stated Donchian-breakout + rising-SMA-trend hypothesis (117 long entries, 0 shorts, entries above the prior 12-bar channel high).

Analysis

Trade sample is adequate (117 base / 152 optimized long trades over 6 years) and no degenerate/zero-trade windows in the full-sample refits.

Analysis

Costs are not the binding problem: commission_pct_of_gross is only 1.69% (base) / 2.33% (optimized), impact_cost_pct 1.5-2.3%, capacity $192-432M, profit_factor 1.69/1.57. Whatever is wrong here is not fee drag.

Analysis

end_unrealized_pct is small (3.30% base / 2.78% optimized) — the headline return is realized, not an un-exited mark-to-market artifact.

Analysis

Optimization modestly improved risk-adjusted metrics on the full-sample refit (Sharpe 1.00 -> 1.12, annualized_volatility 32.8% -> 21.0%) without exploding drawdown.

Analysis

WALK-FORWARD IS OVERFIT (is_overfitted=TRUE): avg IS Sharpe 1.998 collapses to avg OOS Sharpe -0.542, with two of three OOS windows deeply NEGATIVE ([-1.569, +1.011, -1.070]). The single positive window carries nothing — the average is negative.

Analysis

The untouched time-ordered HOLDOUT FAILED and is NEGATIVE: holdout_sharpe -0.764 (ratio 0.0). The strategy loses money on data the optimizer never saw. This is the decisive gate.

Analysis

MULTIPLE-TESTING GATE FAILS: is_significant=false. deflated_sharpe=0.5701 (vs 0.95 bar), PBO=0.7289 (>0.5 — a 73% probability the parameter selection is overfit), sharpe_ci_low=-0.164 (the 95% CI straddles 0), and the optimized Sharpe 1.1234 sits barely above the 225-trial expected-max luck bar of 1.0322. probabilistic_sharpe 0.9853 vs DSR 0.5701 is the textbook PSR-vs-DSR selection-inflation trap.

Analysis

NEGATIVE INFORMATION RATIO in both base (-0.8282) and optimized (-0.8285) forms with benchmark_meaningful=true, alpha only +0.0299/+0.0155 on beta 0.08. This is a closet under-performer: it delivers materially less risk-adjusted value than simply holding SOL.

Analysis

The entire edge is ONE bull year. Annual returns base: 2021 +112.1%, then 2022 -3.5%, 2023 +18.9%, 2024 +1.0%, 2025 -4.8%, 2026 -3.7%. Optimized is the same shape (2021 +43.1%, 2025 -6.4%, 2026 -1.7%). Strip 2021 and there is no strategy.

Analysis

The recent regime is decisively broken: rolling Sharpe is negative through every 2026 reading (base -1.70 -> -3.86; optimized -2.56 -> -3.17) and has been negative since mid-2025. This is exactly what the negative holdout is measuring.

Analysis

Outlier-carried and fat-left-tailed: return_kurtosis 135.9, return_skew 10.45, tail_ratio 0.3231 (<1 — a high-kurtosis picking-up-pennies profile), win_rate only 31.6%, max_consecutive_losses 8 (optimized: 11). The 2021 track hangs on single days of +31.9%, +24.6%, +17.9%.

Analysis

max_drawdown_duration_days is 580.67 (base) / 587.67 (optimized) — over 19 months from peak to recovery, an unbearable stretch for a Sharpe-1.0 strategy.

Analysis

The clean sensitivity surface is a red herring: the ENTIRE grid sits between 0.865 and 1.202 Sharpe, i.e. clustered around the 1.0322 best-of-225 luck bar. There is no robust parameter region above significance to tune toward — stability is not significance.

Analysis

Do NOT optimize yet — the run is corrupted by reckless sizing and likely artifacts, so the metrics aren't a fair test of the Donchian-with-trend edge. The mechanism and timeframe are correct (good — no translation); fix these and re-run: 1. SIZING (critical): position_frac=0.95 (near all-in) compounds to avg_position_pct 115.7% with 186.6% annualized vol and 45% drawdown. Match the sizing of the PROMOTED BNB Donchian sibling (Sharpe 5.95 was almost certainly NOT run at 0.95 all-in) — use a modest fixed fraction (e.g. 0.15-0.25) or risk-based sizing against the 8% stop. 2. INVESTIGATE IMPLAUSIBLE DAYS (critical): daily_returns shows +191.2% (2021-08-18), +100.4% (2021-02-13), +92.8% (2021-09-13). A ~1.15x SOL position cannot move +191% in a day. Print the SOLUSDT 4H OHLCV around those timestamps and check (a) whether the compounded position reached far more than 1x effective leverage, or (b) whether there is a bad/spike bar in the data. These few days drive the entire result (skew 10.4, kurtosis 140); the backtest cannot be trusted until this is explained. 3. END-OF-BACKTEST EXIT / REALIZED (important): end_unrealized_pct is 262 — a large chunk of the +915% headline is unrealized open-position gain. Confirm the exit logic governs and judge on REALIZED return. 4. REGIME CONCENTRATION (note): the edge is overwhelmingly 2021 (+990%) with 2024/2025/2026 negative. After re-sizing with the artifact resolved, if the realized net edge remains 2021-concentrated and Sharpe is marginal, this should be abandoned rather than optimized — a walk-forward will simply confirm the regime dependence (consistent with the abandoned SOL pivot/pullback siblings). Resubmit only after a properly-sized run with realized return and the artifact days explained.

Outcome Summary

SolFourHourDonchianBreakoutRisingTrendLong was a deliberate cross-asset replication: take the one mechanism class that had reached promotion in the factory record — Donchian breakout with a rising-trend filter, approved on BNB — and re-point it at SOL 4H, an asset with two prior landed momentum strategies. After a first iteration was flagged for near-all-in sizing, the reduced position_frac=0.20 version produced a clean, plausible run: Sharpe 1.00, profit factor 1.69, an 11.7% drawdown, and a reviewer verdict of 'optimize'. Optimization then exposed it: in-sample Sharpe 1.998 fell to -0.542 out-of-sample, the untouched holdout returned -0.764, PBO hit 0.73, and the deflated Sharpe of 0.57 sat far under the 0.95 bar. The analyst read the whole track as one bull year — 2021's +112% carrying an otherwise flat-to-negative record with a negative information ratio against simply holding SOL — and abandoned it rather than re-run a best-of-225 sweep across a surface with nothing above significance to find.

Outcome Summary

A perfectly clean sensitivity surface is not evidence of robustness when the whole grid (0.865-1.202 Sharpe) sits clustered around the best-of-N luck bar — stability measures consistency, not significance, and porting a promoted mechanism to a new symbol does not port its promotability.

Outcome Summary

The analyst abandoned it on the negative forward holdout (holdout_sharpe -0.7641, ratio 0.0, passed=false) combined with is_overfitted=TRUE and a failed multiple-testing gate: deflated_sharpe 0.5701 against the 0.95 bar, PBO 0.7289, sharpe_ci_low -0.164, and an optimized Sharpe of 1.1234 barely above the 225-trial expected-max luck bar of 1.0322. Compounding this, the information ratio was negative in both base (-0.8282) and optimized (-0.8285) forms against a meaningful SOL buy-hold benchmark, and the entire annual track hung on 2021 (+112.1%) with 2022 (-3.5%), 2024 (+1.0%), 2025 (-4.8%) and 2026 (-3.7%) flat-to-negative.

Outcome Summary

Port the factory's only 3-phase-validated, promoted mechanism — long-only Donchian channel breakout gated by a rising 50-SMA trend filter, as approved on BNB at Sharpe 5.95 — onto SOLUSDT.BINANCE 4H bars as a cross-asset robustness test, using pure OHLCV with no supplementary data.

Outcome Summary

The base backtest returned +119.97% over 676 data days with Sharpe 1.00, 117 long trades, a 31.6% win rate offset by a 1.69 profit factor, and an 11.7% max drawdown; optimization refit it to Sharpe 1.12, +67.3% return, 152 trades and 21.0% annualized volatility. But walk-forward showed average in-sample Sharpe 1.998 collapsing to average out-of-sample -0.542 across windows [-1.569, +1.011, -1.070], and the untouched holdout came back negative at -0.764.
Strategy report

Backtest and paper results are hypothetical. Trading involves risk of loss.