Skip to content

View original

BchDonchianBreakoutTrendFilteredLS

Hypotheses

BCH USD-M 4H Donchian Channel Breakout, Long-Short with 1D Trend Filter and ATR-Trailing Exit (Turtle-style, 3-parameter)

Hypotheses

A LONG-SHORT, single-instrument, pure-OHLCV trend-CAPTURE strategy on BCHUSDT.BINANCE (USD-M perpetual), 4H bars, with a 1D trend filter. Deliberately NOT another EMA momentum-confluence clone (that construction is saturated: it survives only on BTC/ADA/ETH and has died overfit/fee_edge on LTC/XRP/SOL/LINK/DOGE/AVAX/DOT/BNB). Instead it uses a structurally-distinct Turtle-style channel-breakout construction: enter LONG when the 4H close breaks above the highest high of the prior N 4H bars (Donchian upper channel) AND the daily trend is up; enter SHORT on the symmetric downside break when the daily trend is down; ride winners with an ATR-multiple trailing stop. Only 3 parameters (donchian_len, trend_sma_len, atr_trail_mult) to fight the overfit deaths that plague higher-parameter gated variants. Instrument choice is deliberate: BCH is a deeply-liquid 2020-listed major (multi-year 4H history on Binance for a statistically powerful walk-forward) that is UNMINED for this mechanism, diversifying the corpus's 62% recent-window BTC concentration onto a distinct price series with a large enough per-bar range to clear fees.

Hypotheses

Iteration 2 addresses the backtest gate's finding directly. The reported incoherence (Sharpe +0.12 vs total_return -0.49%) is the signature of a result that is pure noise around zero: both statistics are computed off near-flat series, so their signs are arbitrary. The cause is horizon, not construction - a 20-bar 4H Donchian channel is a 3.3-DAY breakout, so the average captured swing sits in the same order of magnitude as the ~0.10% round-trip taker cost and the system grinds through whipsaws to a wash. The minimal fix keeps the mechanism, the signal, the trend filter, the sizing and all imports/structure identical (Layers 1-3 already passed) and re-anchors the two horizon parameters on the classic Turtle scale expressed in 4H bars: donchian_len 20 -> 55 (~9 days, searchable 24-120 bars = 4-20 days) and atr_trail_mult 3.0 -> 4.0 over a 20-bar ATR (searchable 2-8), so winners are given room to run and each trade must clear fees by a wide margin rather than at them. Trade count falls (roughly 60-150 over the full BCH 4H history, still ample for walk-forward and the >=10-trade holdout requirement) while per-trade expected move rises well above the fee floor. Still exactly 3 searched parameters, all clamps declared in _param_bounds. Venue stays BINANCE USD-M because the strategy takes SHORT breakouts; leverage stays 1.0 (deliberately not set >1, since risk-based sizing never reaches the notional cap and an unused leverage would be inert).

Hypotheses

Overfit / no-generalization death (NOT fee-edge — per-trade return 0.343% clears the floor). Four unwaivable HARD gates fail: walk-forward is_overfitted=TRUE (avg IS Sharpe 1.033 -> avg OOS -0.811, with one window at -2.78), OOS Sharpe -0.811 <= 0, PBO 0.623 > 0.5, and the holdout FAILED with Sharpe -0.539 on 25 trades over the unseen 366-day window — a NEGATIVE forward edge. Robustness confirms the selected Sharpe is best-of-N noise: deflated_sharpe 0.0 << 0.95, is_significant=false, Sharpe CI [-0.765, 0.798] straddles zero, and it does not survive programme-level FDR (keeps 4 of 246, candidate_p 1.0). Per the overfit-vs-dead-premise rule, high-IS/negative-OOS-with-negative-holdout is ABANDON not revise: the Donchian/Turtle channel-breakout mechanism has already died overfit across the family (BTC 1D 2-param overfit, BTC weekly-trend-gated 3-param overfit, BNB daily overfit x2, BCH sib) — re-pointing the same recipe at another instrument/horizon just overfits again. There is no robust parameter region to tune toward (sensitivity flags 3 cliff params — donchian_len, atr_trail_mult, breakout_threshold — and the grid tops out ~0.25 Sharpe), optimization made the result WORSE (Sharpe 0.118 -> 0.079), and the oos_vault is flagged UNDERPOWERED (~70 trades vs 100 needed) so the mechanism is too slow to validate on the available history. Failure pattern: overfit / no-generalization (Turtle Donchian channel-breakout clone).

Implementation

Turtle-style Donchian channel breakout on BCHUSDT.BINANCE USD-M perpetual, 4H bars, long AND short. Entry: 4H close breaks above the highest high (below the lowest low) of the prior donchian_len 4H bars, gated by a 1-DAY trend filter (rolling SMA of trend_sma_len daily closes sampled from the 4H stream) so longs require close > daily SMA and shorts close < daily SMA. Exit: ATR-multiple trailing stop from the best excursion since entry (also serves as the initial stop). Sizing is Turtle volatility sizing - risk_pct of equity over the atr_trail_mult*ATR stop distance, capped at max_notional_frac*leverage of equity notional. Three searched parameters: donchian_len, trend_sma_len, atr_trail_mult.

Verification Results

Verify on full history that avg holding lengthens with the 4-ATR trail; if holds stay ~3 bars, the trailing-stop distance is being cleared by intrabar range and the horizon is effectively unchanged.

Verification Results

The rationale expects ~60-150 trades and 'decisively longer holds' from the widened Turtle horizon, but the sandbox shows 362 round-trips at ~11h39m average holding. The ATR-trail exit is firing far faster than intended, so the horizon fix may not deliver the fee-headroom the hypothesis argues for. Not a code defect — the mechanism is implemented faithfully — but the stated remediation is not evidenced in the smoke test.

Verification Results

No action required; the override is deliberate and safe.

Verification Results

min_bars_required overrides a framework method (Layer-1 base_shadow warning). Confirmed intentional here — it correctly gates warm-up on only the 4H components while the daily SMA is checked separately in should_enter, so entries are correctly deferred until the daily trend filter has filled. No correctness impact.

Verification Results

Sandbox Sharpe is +0.125 with a CI [-0.63, 0.89] straddling zero and total_return is driven by a few large wins (largest_win 6063 vs avg_win 553; kurtosis 5.27) — near-noise on this smoke draw. More notably, the iteration-2 horizon widening (donchian 55, atr_trail_mult 4.0) did NOT produce the long holds the rationale claims: avg holding is ~11h39m (~3 bars) over 362 trades, i.e. the ATR trail is being hit quickly and the system still whipsaws. It also LOSES in the stressed vol tercile (-9.79%, Sharpe -0.21), the regime a Turtle breakout should exploit. avg_trade_return_pct 0.27% clears the fee floor but with little margin. The analyst should confirm on full history whether the widened trail actually lengthens holds and whether the breakout edge is real vs. optimized-in.

Backtest Review

Reliable, ample sample: 372 trades over 6.7 years (14,634 bars), balanced long (190) / short (182) breakouts that match the long-short trend-filtered Donchian hypothesis — the mechanism trades what it claims.

Backtest Review

avg_trade_return_pct 0.288% clears the Binance USD-M 0.15% fee floor with margin and is already net of impact (impact_folded=true); PF 1.147 (>1.10, above the fee-drag band), positive expectancy (+$30/trade), total_return +15%, max_drawdown a contained 14%.

Backtest Review

Structurally distinct from the saturated EMA momentum-confluence family and applied to an unmined liquid major (BCH), diversifying the corpus — worth a genuine 3-phase test rather than a pre-emptive kill.

Backtest Review

Entry diagnostics are clean (372 signaled = 372 submitted; 0 dropped for size/notional/cash), so it is a fair test.

Backtest Review

Base Sharpe 0.118 with CI [-0.64, 0.89] straddling zero — near-noise; the edge, if any, is thin and the deflation/holdout gates at ANALYZING will be the real test.

Backtest Review

QA concern borne out on full history: avg holding ~2.5 bars (~9h51m) despite the 55-bar channel and 4xATR trail — the widened horizon did NOT lengthen holds, so the system is scalping breakouts that reverse rather than riding trends.

Backtest Review

impact_cost_pct 31.8% (>25%) and capacity_usd ~$990K — the edge exists only at small scale; reassess capacity/size after optimization.

Backtest Review

Flat regime spread (calm 0.20 / normal 0.12 / stressed 0.18) — no differentiated edge in the high-vol regime a Turtle breakout should exploit.

Analysis

Reliable, ample sample: 208 optimized trades (372 default) over 6.7 years, balanced long/short breakouts that faithfully implement the trend-filtered Donchian mechanism.

Analysis

avg_trade_return_pct 0.343% clears the Binance USD-M 0.15% fee floor, so this is NOT a fee-edge death — the edge, where it exists, is above costs.

Analysis

Modest drawdown (10.9%) and BCH instrument choice genuinely diversifies the corpus's BTC concentration.

Analysis

Four unwaivable HARD gates fail: walk-forward is_overfitted=TRUE (avg IS Sharpe 1.033 -> avg OOS -0.811, windows 0.0 / -2.78 / +0.34), OOS Sharpe -0.811 <= 0, PBO 0.623 > 0.5 (selection more likely than not overfitting), and the holdout FAILED with Sharpe -0.539 on 25 trades over the unseen 366-day window (a NEGATIVE forward edge, not merely marginal).

Analysis

Robustness confirms best-of-N noise: deflated_sharpe 0.0 << 0.95, is_significant=false, Sharpe CI [-0.765, 0.798] straddles zero, and it does not survive programme-level FDR (keeps 4 of 246, candidate_p 1.0).

Analysis

Sensitivity flags 3 cliff parameters (donchian_len, atr_trail_mult, breakout_threshold); the whole grid tops out around 0.25 Sharpe and collapses negative just off-base — there is no robust parameter region to tune toward.

Analysis

Optimization made it WORSE, not better (base Sharpe 0.118 -> optimized 0.079), and the oos_vault is itself flagged UNDERPOWERED (~70 expected trades vs 100 needed) — the mechanism is too slow to validate on available history.

Analysis

Pre-registered predictions missed on the two that matter: OOS Sharpe -0.811 vs declared 0.9, PF 1.118 vs declared 1.25.

Analysis

Backtest gate: - metrics unreliable: Incoherent: Sharpe 0.12 disagrees in sign with total_return -0.49% — the Sharpe is computed from the mtm_equity_curve series while the return comes from the equity curve. Judge on the equity curve.

Analysis

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

Outcome Summary

BchDonchianBreakoutTrendFilteredLS-1dae9bdc94

Outcome Summary

BchDonchianBreakoutTrendFilteredLS was a structurally-distinct, 3-parameter Turtle-style Donchian breakout on BCH 4H, chosen to diversify away from the saturated EMA-momentum family and the corpus's BTC concentration. Its first backtest was statistically indistinguishable from zero, so it passed backtest-review with an 'optimize' verdict on the strength of a fee-clearing per-trade return and a genuinely novel construction. Optimization then exposed the edge as noise: the walk-forward was overfit (IS Sharpe 1.033 collapsing to OOS -0.811), PBO 0.623, deflated Sharpe 0.0, and the unseen holdout returned a negative -0.539 Sharpe. After 2 iterations the analyst abandoned it as an overfit / no-generalization death — the same fate the Donchian channel-breakout mechanism has met repeatedly across BTC, BNB and BCH variants.

Outcome Summary

Re-pointing the Donchian/Turtle channel-breakout recipe at a fresh instrument or longer horizon does not escape the family's recurring overfit death; a thin, near-zero base Sharpe with cliff-prone parameters offers no robust region to tune toward, and slow mechanisms lack enough trades to validate on available history.

Outcome Summary

The analyst abandoned it at ANALYZING after four unwaivable HARD gates failed — overfit walk-forward, OOS Sharpe ≤ 0, PBO > 0.5, and a failed holdout with a negative forward edge — confirming best-of-N noise rather than a real, generalizing edge.

Outcome Summary

A 3-parameter Turtle-style Donchian channel-breakout strategy on BCHUSDT 4H (USD-M perp), trading long and short gated by a 1D trend-filter SMA with an ATR-multiple trailing exit, deliberately aimed at an unmined liquid major to diversify the corpus's BTC concentration.

Outcome Summary

The initial backtest showed +14.98% total return, Sharpe 0.118 (CI [-0.64, 0.89]), profit factor 1.15 and avg_trade_return_pct 0.288% over 372 balanced long/short trades (14,634 bars, ~6.7 years), clearing the fee floor but with a near-zero edge. Optimization made it worse (Sharpe 0.079, PF 1.118) and every generalization gate failed: walk-forward is_overfitted=TRUE (avg IS Sharpe 1.033 → OOS -0.811), PBO 0.623, deflated Sharpe 0.0, and a holdout Sharpe of -0.539 on 25 trades.
Strategy report

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