Skip to content

View translation

XrpFourHourVolumeConfirmedDonchianRisingSlopeBreakoutLong

Hypotheses

XRP 4H Volume-Confirmed Donchian Breakout with Rising-Trend-Slope Filter Long

Hypotheses

A long-only, single-instrument, single-timeframe strategy on XRPUSDT.BINANCE 4H bars that applies the analyst-validated Volume-Confirmed Donchian Breakout mechanism (which scored Sharpe 3.63 + 6/7 positive years + IS/OOS ratio 1.12 on ADA — abandoned ONLY due to the framework's brittle 15-day holdout window happening to land in May 2026 chop) to a NEW INSTRUMENT (XRP) with a NEW DEFENSIVE FILTER (rising trend slope). The rising-trend-slope filter is the analyst's exact remediation recommendation: 'rebuilt with a defensive regime-detection filter that auto-disables entries during 2026-style chop regimes.' Instead of just requiring close > sma_100 (which can be satisfied during sideways chop where price oscillates around a flat SMA), the strategy requires sma_100_t > sma_100_{t-30} (SMA itself is rising over 30 bars = 5 days). This ensures the trend regime is positively sloped, not just nominally above a flat reference. Mechanically distinct from existing pipeline regime filters: (a) BTCVolumeConfirmedDonchianCalmVolLong uses LOW vol-quartile filter (filters by vol magnitude); (b) BTCVolumeConfirmedDonchianAntiChopLong uses directional-efficiency filter (filters by net/path movement ratio); (c) THIS uses SMA-SLOPE filter (filters by trend acceleration). The three filters are orthogonal regime classifiers on different axes. Critically distinct from the absorption/reclaim/reversal family that the analyst explicitly told me to drop — this is a STRUCTURAL signal (Donchian channel breach) with volume confirmation and a directional-trend filter, exactly matching the analyst's 'pattern-strategies that have shown edge' list. XRP is a new instrument in the pipeline (no prior XRP failures in record; XRP daily bars confirmed working via the developer-spawned ADABNBXRP rotation — XRP 4H should also be accessible from the same Binance Vision data source). Single-instrument, single-timeframe, NO secondary dependencies — directly avoids the multi-instrument audit_stale failure mode.

Hypotheses

Iteration-2 minimal fix for the Layer-2 TypeError (_mean() takes 1 positional argument but 2 were given). Root cause is identical to the known staticmethod-in-proxy trap: the Layer-2 _StrategyProxy rebinds class callables onto a stand-in instance, discarding the @staticmethod descriptor and injecting the proxy instance as an extra first positional argument, so the 1-arg _mean is called with 2 args and raises. The fix moves _mean out of the class to a module-level function (never bound to an instance, so no self injection) and updates its three call sites from self._mean(...) to _mean(...). Nothing else changed: imports stay clean (Layer 1 green), and the breakout/volume/rising-slope signal logic plus entry/exit/sizing that the synthetic scenarios exercise are byte-identical, so no earlier-layer regression. The rising-SMA-slope filter (sma_now > sma_then over 30 bars) is the analyst's exact remediation to disable entries during flat/chop regimes that a bare price>SMA test admits. Venue remains BINANCE USD-M futures; sizing reads self.config.leverage via the notional cap and leverage stays 1.0 (no amplification), so the leverage_set_but_unused gate does not trigger.

Hypotheses

failed deflated Sharpe: DSR=0.657, expected-max=0.83 over 225 trials (51 effective) — selected Sharpe 0.98 indistinguishable from best-of-N noise... compounded by HARD gate PBO=0.6905>0.5 and failure to survive programme-level FDR...

Implementation

Long-only volume-confirmed Donchian breakout with a rising-SMA-slope regime filter on XRPUSDT.BINANCE USD-M futures, 4H bars, pure OHLCV single feed. Enters LONG when close breaks the prior 20-bar Donchian high, the breakout bar's volume exceeds 1.5x the trailing 20-bar average, AND the 100-bar SMA is both below price and rising over the last 30 bars (the defensive anti-chop filter). Exits on a 10-bar Donchian-low breakdown, a 5% stop, a 20% target, or loss of the SMA regime. The signal is the continuous Donchian channel position recomputed every bar; the discrete breakout+volume+rising-slope condition gates entry. leverage 1.0.

Verification Results

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['risk_pct', 'vol_mult', 'sma_period', 'vol_period', 'min_notional', 'stop_loss_pct', 'slope_lookback', 'donchian_period', 'take_profit_pct', 'exit_donchian_period'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: TypeError: XrpFourHourVolumeConfirmedDonchianRisingSlopeBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735697460000) - steady_downtrend: TypeError: XrpFourHourVolumeConfirmedDonchianRisingSlopeBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735697460000) - flat_ranging: TypeError: XrpFourHourVolumeConfirmedDonchianRisingSlopeBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735697460000) - volatility_spike: TypeError: XrpFourHourVolumeConfirmedDonchianRisingSlopeBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735697460000) - zero_volume: TypeError: XrpFourHourVolumeConfirmedDonchianRisingSlopeBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735697460000) - price_gap: TypeError: XrpFourHourVolumeConfirmedDonchianRisingSlopeBreakoutLong._mean() takes 1 positional argument but 2 were given (bar timestamp: 1735697460000)

Backtest Review

Genuine net-positive edge: profit_factor 1.32, Sharpe 1.01, total_return +93%, expectancy +$760/trade, omega 1.40, healthy right-skew tail_ratio 2.88 (right-tailed trend payoff, not fat-left)

Backtest Review

Positive in 5 of 7 years with two strong years in different regimes (2020 +46.6%, 2024 +21.6%), not a single-year artifact; realized share solid (~70% of headline)

Backtest Review

Adequate sample (92 trades), code correct and trades as specified (92 entries, 0 dropped, long-only), acceptable capacity ($76M) and impact (3.6%) for XRP

Backtest Review

Sharpe CI straddles 0 (-0.74 to 2.41) and win_rate is 34% -- significance is uncertain and will hinge on the post-opt deflated-Sharpe/holdout gates

Backtest Review

Thin per-window sample (92 trades over 6.4 years -> ~30/walk-forward window) raises overfitting/selection risk

Backtest Review

avg_position_pct 44.7% is high (risk_pct 0.02 / 5% stop = 40% notional); optimizer should consider sizing

Backtest Review

Hypothesis rationalizes the sibling ADA abandonment as a 'brittle holdout' fluke -- XRP must clear its own holdout/DSR, no pass granted on that framing

Analysis

Benjamini-Hochberg at q=0.10 over 223 programme candidates keeps 3. A candidate that does not survive here is not distinguishable from the programme's own noise, however good its individual statistics look.

Outcome Summary

This strategy ported the volume-confirmed Donchian breakout that scored well on ADA to XRP, adding the analyst's recommended rising-SMA-slope filter to disable entries in chop — and the defense demonstrably worked, holding through the 2025/2026 regime that sank the ADA sibling. It was the cleanest forward-validation profile of the run: optimized Sharpe 2.13, max drawdown 5.1%, a passing holdout (ratio 0.996), a non-overfit walk-forward with all three OOS windows positive, zero sensitivity cliffs, and seven positive years. But it failed the one gate that corrects for multiple testing: deflated Sharpe 0.0004, with the selected Sharpe below the 4.21 expected-max luck bar inflated by the breakout's intrinsic return variance. The analyst abandoned it on iteration 2 as a rare case where the deflation gate overrides exceptional consistency — a real but modest edge on a volatile alt simply cannot clear a best-of-225 luck bar, and no second sweep or instrument swap escapes the same penalty.

Outcome Summary

A genuinely robust single-asset breakout with a working defensive regime filter — passing holdout, non-overfit walk-forward, 0 sensitivity cliffs, 7/7 positive years — can still fail deflated Sharpe when a high-variance 225-trial sweep sets an expected-max luck bar (4.21) above the strategy's honest Sharpe (2.13); a modest real edge on a volatile alt cannot clear best-of-N deflation no matter how clean its consistency gates, and the PSR 0.9997 vs DSR 0.0004 gap is the signature of selection inflation.

Outcome Summary

Despite the strongest forward-validation profile of the run, the post-optimization analyst abandoned it on the single decisive gate it failed — deflated Sharpe 0.0004 (is_significant=False), because the optimized Sharpe 2.13 sits below the 4.21 expected-max luck bar over 225 trials, so after multiple-testing correction the result is indistinguishable from best-of-N selection noise; iteration was ruled out because the parameter space was already fully characterized (clean sensitivity) and the high luck bar is structural to the breakout's intrinsic cross-window Sharpe variance, not a tunable.

Outcome Summary

A long-only volume-confirmed Donchian breakout on XRPUSDT 4H perpetual futures (pure OHLCV) — entering long on a 20-bar channel breakout confirmed by above-average volume AND a defensive rising-trend filter (price > 100-SMA AND the SMA itself rising over 30 bars, to disable entries in flat chop), exiting on a Donchian-low trailing breakdown, stop, take-profit, or regime loss — porting the analyst-validated mechanism from the abandoned ADA sibling to a new instrument with the recommended chop-defense filter.

Outcome Summary

The base backtest was a genuine right-tailed edge — 92 trades, +93% total, Sharpe 1.01, profit factor 1.32, expectancy +$760/trade, tail_ratio 2.88, positive in 5 of 7 years; optimization was exceptionally clean: optimized Sharpe 2.13, PF 2.55, Sortino 6.65, max drawdown 5.1%, holdout PASSED (1.78 Sharpe, ratio 0.996), walk-forward is_overfitted=False with all 3 OOS windows positive, sensitivity passed with 0 cliffs, PBO 0.483, sharpe_ci_low 0.843, and 7/7 positive optimized annual years including 2025/2026.
Strategy report

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