SolSlowDualTimeframeMomentumConfluenceLS
Hypotheses
SOL Slow Dual-Timeframe Momentum Confluence, Long-Short (Single-Instrument SOLUSDT.BINANCE USD-M, 12H Primary Aligned With the 3D Trend, Flat on Disagreement, ATR-Trailing Exit, 3-Parameter)
Hypotheses
Implements the hypothesis exactly: single instrument (SOLUSDT.BINANCE USD-M perp), 12H primary screen aligned with a 3-day trend, flat on disagreement, ATR-trailing exit, and exactly three edge tunables (mom_lookback, flat_band, trail_atr_mult) with declared _param_bounds mirroring the code clamps. The 3-day screen is derived from the 12H bars via a calendar-anchored period index rather than an extra bar type, so the schedule is a pure function of bar timestamps (restart/replay safe) and there is no second leg to gate warm-up. Both screens use the same dimensionless momentum t-stat so one flat band applies to both horizons, and the slow screen contributes DIRECTION ONLY (its sign never touches sizing). calculate_signal returns the raw 12H momentum score every bar (continuous, natural units); the entry decision is thresholded in should_enter. Futures venue is correct because the strategy goes both long and short; leverage 2.0 is wired into position_size as the gross-notional cap multiplier. A full-history dry run on the catalog's 4222 SOL 12H bars (2020-09 to 2026-06) gives 210 trades (~36/yr) at ~5.5% avg per-trade return of notional versus the ~0.10% round-trip taker cost, profit factor ~2.3, 107 long / 104 short, and every corner of the declared optimizer box yields 161-270 trades at 3.7-7.1% per trade, so no walk-forward window can land in a zero/few-trade corner. Caveat worth flagging: the last ~2 years of SOL are roughly break-even for this mechanism (PF ~1.1), so the holdout is the real test.
Hypotheses
analyzing_stuck_3_timeouts
Implementation
SOLUSDT.BINANCE USD-M perpetual long/short slow dual-timeframe momentum confluence on 12-HOUR bars. A vol-normalized momentum t-stat is computed on the 12H closes (mom_lookback=36 bars = 18 days) and on a CALENDAR-anchored 3-DAY close series built from the same bar stream (period index = ts_event // 259_200e9), using the same lookback scaled by 6 bars-per-3-days. Entry requires both screens to agree: LONG when 12H momentum > +flat_band and 3D momentum > 0, SHORT when 12H momentum < -flat_band and 3D momentum < 0; any disagreement keeps the book FLAT. Exit on either momentum flipping against the position or on a chandelier ATR(14) trailing stop (trail_atr_mult x ATR from the best close, initial stop 2 x ATR). Sizing is fixed-fractional: 2% of equity risked across the initial ATR stop, hard-capped at max_notional_pct x leverage of equity, so losses cannot compound position size.
Verification Results
Confirm FactoryStrategy actually calls min_bars_required() as a warm-up hook; if not, the intended slow-series warm-up (need_slow = 6*(slow_lookback+1)) is not being enforced.
Verification Results
min_bars_required(self) overrides a base-template method (static analyzer base_shadow flag). If the base does not invoke this hook for warm-up, the override has no effect and warm-up falls back to the base default. The sandbox processed 4222 bars and produced 215 trades, so warm-up is functioning; noted only to confirm the override is intentional.
Verification Results
No fix needed; deques are correctly bounded.
Verification Results
Static analyzer flags potential unbounded list growth on _trs/_fast_log/_slow_log appends. These are false positives: all three are deque(maxlen=...) so growth is bounded O(1) per bar. No action required.
Verification Results
Advisory only, does not block. (1) The developer flags the last ~2 years of SOL as roughly break-even for this mechanism (PF ~1.1), so the holdout is the real test — watch OOS/holdout Sharpe closely. (2) The SOL single-name momentum family has died repeatedly in recent runs (SOL Hyperliquid volume-confirmed dual-TF momentum -> overfit/not-significant, SOL spot volume-confirmed momentum -> high-PBO overfit, SOL 4H impulse/confluence -> fee_edge). This is a new horizon (12H+3D calendar-anchored) and the smoke test is healthy (Sharpe 1.17, PF 1.77, 215 trades, avg_trade_return_pct 5.58%, long/short balanced 110/105), but treat the promotion decision as overfit-sensitive and lean on walk-forward/PBO/deflated-Sharpe at the analyst stage.
Backtest Review
Decisive, reliable sample: 215 trades over 5.7 years (~37/yr), metrics_reliable=true, long/short balanced 110/105 — trades implement the stated dual-TF momentum-confluence mechanism.
Backtest Review
Per-trade edge far above costs: avg_trade_return_pct 5.58% (~37x the 0.15% Binance USD-M fee floor); commission only 1.92% of gross and impact 1.68% — this is not a fee-fragile edge.
Backtest Review
Positive risk-adjusted profile at the base backtest: Sharpe 1.178 (CI [0.41,1.91] clears zero), PF 1.675, max_drawdown 18.5%, PSR 0.998, recovery_factor 19.6; a 3-parameter surface with a healthy trade count in every optimizer corner.
Backtest Review
Headline is mostly realized (end_unrealized_pct 49.3% is ~12% of +416% total_return) — not an MTM/open-position artifact; capacity ~$356M is ample.
Backtest Review
Single-name trend/momentum clone below the only tier that has ever survived this class (ADA dual-TF: Sharpe 1.5+/PF 2.0+); here Sharpe 1.18/PF 1.68 — overfit-sensitive at deflation (L90/L73).
Backtest Review
Return concentrated in a few big up-days (2021-03 +46%, 2021-09 +53%, 2023-11 +47%) and negative recent years (2025 -1.7%, 2026 -4.7%); QA flags the last ~2 years as roughly break-even (PF ~1.1), so the holdout is the real test.
Backtest Review
SOL single-name momentum family has died repeatedly in recent runs (HL dual-TF overfit, spot volume-confirmed high-PBO, 4H impulse fee_edge).
Outcome Summary
SolSlowDualTimeframeMomentumConfluen-d6ed74350f
Outcome Summary
SolSlowDualTimeframeMomentumConfluenceLS was a lean 3-parameter long/short momentum-confluence strategy on SOL perps that looked strong on its initial backtest — Sharpe 1.18, PF 1.68, +416% over 5.7 years with a healthy 215-trade sample and per-trade edge ~37x the fee floor — and the analyst passed it through backtest review with an 'optimize' verdict. Optimization, however, revealed the fragility of a slow single-name trend clone: Sharpe fell to 0.96, the holdout failed outright (Sharpe -0.71), PBO hit 0.73, and the candidate did not survive programme-level FDR. The final analysis decision was never reached because the analyst stage timed out three times, and the run was abandoned. Its lesson is that strategies this slow simply do not generate enough out-of-sample trades to prove an edge, no matter how attractive the in-sample statistics.
Outcome Summary
A strategy this slow yields too few out-of-sample trades to validate (the OOS vault itself was flagged underpowered at ~42 expected trades), so a strong in-sample curve cannot be distinguished from noise once holdout, PBO and FDR are applied.
Outcome Summary
It cleared the pre-optimization backtest review with an 'optimize' verdict, but the post-optimization ANALYZING stage never produced an analyst verdict and the run was abandoned after 3 analyst timeouts (abandon_reason: analyzing_stuck_3_timeouts); the failed holdout and high PBO also flagged overfitting risk.
Outcome Summary
A single-instrument SOLUSDT.BINANCE USD-M perp long/short strategy trading vol-normalized 12-hour momentum only when it agreed with a calendar-anchored 3-day trend screen, exiting on momentum flips or a Chandelier ATR trailing stop, with just three edge tunables (mom_lookback, flat_band, trail_atr_mult).
Outcome Summary
The base backtest over 2020-2026 (215 trades, ~37/yr) showed Sharpe 1.18, profit factor 1.68, +415.9% total return (~31.4% CAGR), 18.5% max drawdown, and avg per-trade return 5.58% of notional (far above the fee floor). After optimization it weakened to Sharpe 0.96 / PF 1.47, and validation was poor: holdout failed (holdout Sharpe -0.71, ratio -0.924), PBO 0.73, and it did not survive programme-level FDR.
Backtest and paper results are hypothetical. Trading involves risk of loss.