Strategies
BTC Majority-Vote Momentum Confluence (2-of-3 Across 4H + 1D + 1W) — Recover the Trade Count That Sank the High-Sharpe Triple-Screen While Keeping Its Proven Selectivity Edge (BINANCE USD-M, 4H Primary, Long-Short, 3-Parameter)
Outcome: Abandoned
BtcMajorityVoteMomentumConfluenceLS
Outcome Summary
This strategy was an evidence-based fix to the session's most informative result: the unanimous triple-screen had the best headline outside the promoted survivor (Sharpe 1.04) but was abandoned solely for thinning to 82 trades. Relaxing the rule to a 2-of-3 majority did double the sample to 271 and clear the measurability floor, but it simultaneously collapsed Sharpe to 0.707 and CI-low to 0.101, self-falsifying the thesis that selectivity would survive the loosening. The analyst abandoned it at BACKTEST_REVIEW after one iteration as a diluted, redundant duplicate of a stronger two-screen sibling already in optimization — confirming that within this multi-timeframe momentum-confluence template, trade count and edge strength cannot both be had.
Hypothesis
Implementation
Long/short BTCUSDT USD-M perp on 4H bars. Three vol-normalized OLS log-price trend slopes are computed on calendar-anchored 4H, daily and weekly close series (daily/weekly indices derived from bar.ts_event, never from a bar counter). Each fast/mid screen votes +1/-1 outside a shared flat band and abstains (0) inside it; the weekly screen is a sign-only directional vote. The votes sum to a score in [-3,+3]: score >= +2 goes long, score <= -2 goes short, anything else stays flat -- a 2-of-3 MAJORITY with no dissenting screen. Positions exit when the vote decays to neutral-or-against (LONG: score <= 0) or on a chandelier ATR trailing stop; the gap between the exit level (0) and the re-entry level (+/-2) is a built-in hysteresis band. Sizing is fixed-fractional risk (risk_pct of equity over the initial ATR stop) capped independently by max_notional_pct * leverage, so losses cannot compound position size.
Verification Results
Analyst should confirm the multi-year backtest reproduces the triple-screen-class edge (Sharpe well above the ~0.6 single-signal deaths) and that the majority rule did not merely add losing marginal trades; abandon if the full span does not clear the DSR/fee gates.
Sandbox performance is negative on the trailing-365d slice: total_return -10.14%, Sharpe -0.69, profit_factor 0.66, win_rate 0.27, avg_trade_return_pct -0.32%. This is NOT a code defect (polarity, vote logic, multi-TF construction and risk plumbing are all correct) and none of the code-defect signatures (win_rate 0, |Sharpe|>5, PF 0.0) are present. It is the expected profile of a trend-follower in an unfavourable window: 27% win rate with avg_win 1500 vs avg_loss 824 (ratio 1.8) needs a ratio > ~2.7 to profit, which a single choppy year did not deliver. The hypothesis's Sharpe-1.04 claim rests on a 7-year, 6/7-positive-years record, so a negative recent slice does not falsify it — but it must be scrutinized at BACKTEST_REVIEW on the full multi-year window before optimization budget is spent.
Check long vs short win rate and per-side avg_trade_return_pct across the full backtest; a persistent one-sided loss would indicate the weekly sign-only screen is mis-gating direction.
Directional skew warrants a look: 34 shorts vs 15 longs in the sandbox, both with ~26% win rate. The code polarity is verifiably correct (score>=+2 -> BUY on bullish confluence), so this is a property of the recent window's price path plus the weekly sign-only filter, not a wiring bug. Flagging only so the analyst verifies the long/short balance and per-side edge over the full span rather than a single year.
Treat any full-backtest Sharpe/PF as provisional until the trade count is large enough that a few outlier trades do not dominate.
return_kurtosis 9.08 with largest_win 4869 / largest_loss -1774 shows the (already negative) sandbox result is outlier-driven and low-sample (49 round trips over 363 days). Trade rate ~49/yr extrapolates to well above the 100-trade floor over the full span — which was the stated purpose of loosening 3-of-3 to 2-of-3 — but the recent-slice sign/magnitude is not yet reliably measurable.
Backtest Review
- Sharpe
- 0.71
- Total return
- 162.49%
- Max drawdown
- 13.39%
- Trades
- 271
- Win rate
- 33.2%
- Profit factor
- 1.38
The loosening worked mechanically: 271 trades cleared the 100-trade measurability floor that killed the triple-screen, with clean no-dissent 2-of-3 construction and adequate risk plumbing (DD 13.4%)
avg_trade_return_pct 1.015% clears the fee floor decisively; profit_factor 1.383 and DD 13.4% are acceptable in isolation
Self-falsified thesis: loosening 3-of-3→2-of-3 dropped Sharpe from the triple-screen's 1.04 to 0.707 and CI-low from 0.533 to 0.101 — the selectivity edge did NOT survive; it landed in the ~0.6 single-signal death band it was meant to beat
Redundant with a strictly stronger two-screen confluence sibling already in optimization (224 trades, CI-low 0.34) — this is a diluted duplicate of the same edge
L41/L63 multi-timeframe momentum-confluence template (0/213 OHLCV survival): base Sharpe 0.707 is the ceiling; deflation/holdout only lower it, and CI-low 0.101 straddles near zero
Outlier-carried: return_kurtosis 32.9, skew 2.53 — a handful of +15% to +28% single days drive the record
Adverse recent regime: 2025 -3.7% and 2026 -3.75% both negative, rolling Sharpe negative through much of 2026 — the 15-day holdout and recent OOS windows sit in a losing stretch
Stronger siblings all failed the same gates this session (pullback OOS -1.13/PBO 0.66, TSMOM basket OOS -3.34/holdout -0.64, MACD always-in abandoned at 0.70/0.09)
Outcome Summary
Loosening a confluence rule to buy back trade count also dilutes the selectivity that created the edge — the trade-count and edge-strength constraints trade off against each other, so a majority vote cannot simultaneously clear the measurability floor and retain the unanimous version's Sharpe.
The analyst abandoned it at the pre-optimization BACKTEST_REVIEW gate: recovering trade count came at the cost of the edge, dropping it into the ~0.6 single-signal death band it was meant to beat (Sharpe 0.707 below the 1.0 threshold, CI-low 0.101 below the 0.3 threshold), and it was a diluted duplicate of a stronger two-screen sibling (CI-low 0.34) already in optimization.
A long-short single-instrument BTC USD-M momentum model that fixed the abandoned unanimous triple-screen's lone defect — too few trades — by loosening the agreement rule from unanimous (3-of-3) to a no-dissent majority (2-of-3) across 4H, 1D, and 1W regression-slope screens, aiming to keep the proven selectivity edge while clearing the 100-trade measurability floor.
The loosening worked mechanically — 271 trades (up from the triple-screen's 82), profit factor 1.383, max drawdown 13.4%, total return 162.5%, avg trade return 1.015% of notional — but the edge did not survive: Sharpe fell from the triple-screen's 1.04 to 0.707 and sharpe_ci_low from 0.533 to 0.101, with an outlier-carried record (return kurtosis 32.9) and both recent years negative (2025 -3.7%, 2026 -3.75%).
Backtest and paper results are hypothetical. Trading involves risk of loss.