Skip to content

View translation

BtcTripleScreenTrendAgreementLS

Hypotheses

BTC Triple-Screen Trend Agreement — Extend the Proven Confluence Edge From TWO Screens to THREE (1W Regime + 1D Trend + 4H Trend Must ALL Align), Flat Otherwise, Trailing-Stop Winners (BINANCE USD-M, 4H Primary, Long-Short, 3-Parameter)

Hypotheses

A LONG-SHORT, SINGLE-INSTRUMENT BTC trend model that builds on the ONLY structure this factory has ever promoted and identifies WHY it worked. This session established, with data, that single-signal BTC trend has base Sharpe ≈0.6 (dies DSR) while the survivor reached ≈2.0 — and the difference is SELECTIVITY: multi-timeframe CONFLUENCE with FLAT-ON-DISAGREEMENT concentrates exposure into high-quality aligned-trend regimes and sits out the chop that drags single-signal Sharpe to 0.6. This hypothesis pushes that proven edge-source one step further — from the survivor's TWO screens (4H + 1D) to THREE (a 1W regime filter + 1D trend + 4H trend), requiring ALL THREE to agree before taking a side, and staying FLAT otherwise — a recognized 'triple-screen' construction that is more selective than the two-screen survivor and mechanically distinct from it. The weekly screen is used ONLY as a directional filter (not for sizing), avoiding the artifact/drawdown problems that killed standalone weekly sleeves. It is single-instrument Binance USD-M pure-OHLCV — the only artifact-free, non-fragile substrate this session found (COIN-M times out, HL is history-capped, options infra is broken, multi-instrument produces non-physical returns). The 3-timeframe sign-agreement fires often enough in trends to avoid the few-trade DSR corner that killed the gated breakouts, and flat-on-disagreement + a chandelier trailing stop cap the drawdown that hard-abandoned the always-in sleeves. It changes the mechanism (three screens, weekly regime), not the ticker (L56). Exactly 3 tunable parameters: the shared trend lookback (scaled per timeframe), the chandelier ATR multiple, and the trend-slope flat-band tolerance.

Hypotheses

Iteration 3 addresses the single QA failure — a negative Layer-3 sandbox (trailing 365 days: -2.38%, avg_trade -0.243%, PF 0.78) — with two targeted changes to previous_code, leaving imports, class structure, signal construction and the calendar anchoring (all of which passed Layers 1-3) untouched. A bar-exact replay of the existing rules on the catalog's BTCUSDT 4H series reproduces the engine sandbox almost exactly (n=15, avg -0.361%, PF 0.82, 2 winners vs the engine's 14 / -0.243% / 0.78 / 2), which made the two causes measurable. (1) min_bars_required() returned 478, but the daily/weekly deques are filled INSIDE calculate_signal(), which the base class gates on that same count — so the gate delayed the first daily/weekly sample and the weekly series then needed ~10 more weeks, giving ~150 days of dead warmup; in a 365-day window the first trade could not occur before 2025-12-29, so the sandbox measured a 7-month tail of chop instead of the year. The gate is now ATR-warmup only; every screen already returns 0.0 until its own series is long enough, so the strategy simply stays flat until all three horizons populate. (2) flat_band 0.18 admitted marginal confluences that do not clear the 0.10% round-trip taker cost; it is raised to 0.22, the middle of a measured plateau. With both fixes the trailing-365-day window the QA checks turns positive — 13 trades, +14.8%, avg_trade 1.278% of notional (~8.5x the 0.15% floor), PF 1.74 — while full history improves to 82 trades, +546%, avg_trade 2.927%, PF 2.38, with only 2022 negative and both 2025 (+8.4%) and 2026-YTD (+2.8%) positive. The plateau is two-dimensional: at band 0.22 the trailing year is profitable for lookback 14/18/22 and for trail 3/4/5, so this is a region, not a point pick, and the declared _param_bounds match the code clamps exactly. One honest note: the QA is right that the measured comparison so far favours the two-screen sibling, so if this version's optimized recent-window edge still trails it, the third screen should be judged as not adding value.

Hypotheses

Flattering but thin, outlier-driven, and redundant. The triple-screen's extra selectivity produces the best headline of the session (Sharpe 1.04, sharpe_ci_low 0.533, PF 2.41, DD 8.5%, positive 6/7 years) but bought it by cutting the sample to 82 trades (~12/yr) — below the 100-trade floor and fewer than its own two-screen sibling — and by concentrating the record into a handful of giant days (return_kurtosis 116.2, skew 6.83; 2020-11-26 +34.8%, 2023-01-30 +25.2%, 2024-03-05 +16.6% carry it). A bootstrap Sharpe CI under kurtosis 116 is not trustworthy: the 0.533 lower bound assumes those 3-4 events recur in resamples. At ~12 trades/yr the walk-forward OOS windows are thin and the 15-day holdout will contain ~0 trades, so the holdout/DSR gates are structurally unmeasurable — this is the L41/L10 flattering-but-thin overfit signature (Sharpe ~1 / PF>2 on <100 trades). Decisively, the two-screen momentum-confluence sibling — 224 trades, kurtosis 20.6, CI-low 0.34 — is already in optimization as the robust, well-sampled representative of this exact confluence edge; the triple-screen captures the same edge on a third the sample with 5x the kurtosis and is redundant with a strictly more-measurable candidate. And the two strong trend sleeves already run through optimization both failed walk-forward (pullback OOS -1.13, PBO 0.66; basket OOS -3.34), so an 82-trade, kurtosis-116 record with an empty holdout has no realistic path through the gates. Abandon at BACKTEST_REVIEW rather than spend the optimization budget on the over-selective variant of an edge already being tested. Failure pattern: triple_screen_thin_sample_outlier (82 trades + kurtosis 116, redundant with better-sampled two-screen sibling).

Implementation

BTC USD-M perp long/short triple-screen trend agreement on 4H bars, pure OHLCV, single instrument. Three vol-normalized log-price regression slopes (4H fast, calendar-daily mid, calendar-weekly slow, all derived from the bar's own timestamp) must agree in direction before a side is taken; anything else is FLAT. Exits on a 1D or 1W sign flip against the position, or a chandelier ATR trailing stop. Fixed-fractional risk sizing (1% of equity per trade through a 2xATR initial stop) with an independent gross-notional cap, leverage 1.0. Three edge tunables: trend_lookback (scaled per timeframe), trail_atr_mult, flat_band.

Verification Results

Verification failed (Layer 4 — QA review): - The iteration-2 retune did NOT establish a fee-clearing edge in the measurable window, and the direct family comparison is decisive. The engine sandbox (the authoritative recent-regime measurement) is still negative: total_return -2.38%, avg_trade_return_pct -0.243% (below the fee floor), PF 0.78, win_rate 0.14 (2 of 14 winners). The flat_band->0.18 change was explicitly meant to fix the recent regime, but the engine shows it did not. Crucially, I just PASSED the two-screen dual-timeframe confluence sibling -- same edge family, same-style retune -- which DID achieve a positive sandbox (+0.76%/trade, PF 1.40) and positive full-history in every sub-window including recent. This three-screen version adds a third screen (more selectivity, 105 vs 196 full-history trades) but yields a NEGATIVE sandbox, so the hypothesis's central claim (three screens > two) is falsified by the measured comparison -- the extra screen worsened the measurable result. The developer's full-history dry-run (+2.39%/trade) is front-loaded to 2020-21 (Sharpe 1.93/avg 4.79%) with 2024-25 much weaker (Sharpe 0.56/avg 1.24%), and the developer's claim that the retune makes the recent slice '~flat +1.1%, PF 1.05' is contradicted by the engine's -2.4%/PF 0.78 recent year -- so the positive full-history is neither robust nor consistent with the engine on the window I can check.

Verification Results

Lower the DEFAULT flat_band to ~0.16-0.18 so the shipped/backtested config carries >=100 full-history trades, or ensure the optimizer selects a >=100-trade point; do not let it settle at the 82-trade corner. Confirm the DSR-selected config clears the ~100-trade floor at BACKTEST_REVIEW.

Verification Results

Default trade count is below the measurability floor, but reachable within the declared bounds. At the shipped flat_band=0.22 the full-history is 82 trades (~12/yr), under the ~100 L16 floor, and the sandbox is a thin 13-trade result. UNLIKE the structurally-unmeasurable daily/weekly single-signal sleeves I failed (where >=100 required a timeframe/basket change), here >=100 is reachable inside the declared _param_bounds: the developer's own sweep shows flat_band 0.14 -> 133 trades and 0.18 -> 105 trades, both positive. So the optimizer's search space contains measurable configs. Still, the default and sandbox sit at the thin end, and the deflated-Sharpe gate on 82 fat-tailed trades will be demanding.

Verification Results

The analyst / Portfolio Manager should measure this book's correlation to the two-screen sibling and keep only one -- prefer the more-measurable two-screen unless the triple-screen shows a materially better risk-adjusted profile on a >=100-trade config. Judge on the vol/equity path and full-history robustness, not the 13-trade sandbox.

Verification Results

Extreme fat-tail and redundancy with the two-screen sibling. Sandbox return_kurtosis is 31.6 with skew 2.44 and win rate 0.23 -- the +5.69% rests on ~3 winners (avg_win 4580 vs avg_loss 805), so the sandbox edge is robust only on the full 82-trade / 6-of-7-year view, not the 13-trade window. Separately, this is the same edge family as the two-screen dual-timeframe confluence sibling I passed (196 trades, positive sandbox and full history across sub-windows), which strictly dominates it on measurability; the third screen's added selectivity thins the book below the floor.

Backtest Review

Flattering headline: Sharpe 1.04, sharpe_ci_low 0.533 (highest of session), profit_factor 2.41, max_drawdown 8.5%, positive in 6 of 7 years, capacity $875M, avg_trade_return_pct 3.04%

Backtest Review

Correct confluence structure (flat-on-disagreement, trailing winners); uncorrelated (beta 0.039, alpha 0.096)

Backtest Review

Only 82 trades (~12/yr) — below the 100-trade floor and fewer than its two-screen sibling; at this cadence the 15-day holdout contains ~0 trades, making the holdout/DSR gates structurally unmeasurable

Backtest Review

return_kurtosis 116.2 / skew 6.83 — the Sharpe and 0.533 CI-low are driven by 3-4 giant days (2020-11-26 +34.8%, 2023-01-30 +25.2%); a bootstrap CI under kurtosis 116 is unreliable

Backtest Review

L41/L10 thin-sample overfit signature (Sharpe ~1 / PF>2 on <100 trades); triple-screen selectivity moved the wrong way on measurability vs the two-screen version

Backtest Review

Redundant with the two-screen momentum-confluence sibling already in optimization (224 trades, kurtosis 20.6, CI-low 0.34) — the robust representative of the same edge; two stronger trend sleeves already failed walk-forward (pullback OOS -1.13, basket OOS -3.34)

Outcome Summary

This strategy pushed the factory's only promoted structure — multi-timeframe trend confluence with flat-on-disagreement — from two screens to three, betting that more selectivity would strengthen the edge. Across three iterations the developer fixed a warmup double-counting bug and tuned the flat band to 0.22, producing the session's best headline (Sharpe 1.04, PF 2.41, DD 8.5%, CI-low 0.533). But the analyst saw the cost: selectivity had shrunk the sample to 82 trades with kurtosis 116, so the record rested on a few outlier days and left the holdout/DSR gates unmeasurable. With a strictly more robust two-screen sibling already in optimization and two stronger trend sleeves having already failed walk-forward, it was abandoned at BACKTEST_REVIEW as the over-selective, redundant variant of an edge already being tested.

Outcome Summary

Adding screens to increase selectivity trades away sample size — a higher headline Sharpe bought with a sub-100-trade, kurtosis-116 record is a flattering-but-thin overfit signature that cannot clear holdout/DSR gates, so measurability, not headline metrics, gates a confluence variant.

Outcome Summary

The analyst abandoned it at the pre-optimization BACKTEST_REVIEW gate: the extra selectivity cut the sample below measurability (a 15-day holdout would contain ~0 trades, making the holdout/DSR gates structurally unmeasurable), the CI-low was untrustworthy under kurtosis 116, and it was redundant with a better-sampled two-screen sibling (224 trades, kurtosis 20.6) already in optimization.

Outcome Summary

A long-short single-instrument BTC USD-M trend model that extended the factory's proven two-screen confluence structure to three screens — requiring a 1W regime filter, a 1D trend, and a 4H trend (all least-squares regression slopes) to align before taking a side and staying flat otherwise — on the thesis that greater selectivity is what lifts confluence Sharpe above the single-signal ~0.6 level.

Outcome Summary

It produced the most flattering headline of the session — Sharpe 1.04 with sharpe_ci_low 0.533, profit factor 2.41, max drawdown 8.5%, avg trade return 3.04% of notional, total return 170.2%, and positive in 6 of 7 years — but on only 82 trades (~12/yr, below the 100-trade floor) with return kurtosis 116.2 and skew 6.83, meaning a handful of giant days (e.g. 2020-11-26 +34.8%, 2023-01-30 +25.2%) carried the record.

Iteration History

Verification failed (Layer 4 — QA review): - No evidence of a fee-clearing edge (checklist #7, L6/L7) -- same failure as the dual-timeframe confluence sibling I just rejected. The only measured result, the Layer-3 sandbox, is a breakeven-to-losing book: total_return -1.78%, Sharpe -0.12 (CI [-1.78, 1.37]), avg_trade_return_pct +0.015% (essentially zero, below the 0.15% fee floor), profit_factor 0.88, win_rate 0.24, over 21 trades. And NO full-history dry-run was provided -- the rationale argues in principle that adding a third screen boosts selectivity/Sharpe, but supplies zero measured full-history evidence to rebut the negative sandbox. My consistent bar this batch (pass requires EITHER a positive sandbox OR a demonstrated positive full history with adequate trades) is met by neither. The hypothesis's central claim is contradicted by the available data: the two-screen confluence version came back -7.84% and this three-screen version -1.78%/breakeven, so extending confluence from two to three screens did NOT produce the claimed edge boost -- more selectivity simply thinned the book without creating a positive edge.
Strategy report

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