EthTrendPullbackContinuation
Hypotheses
ETH Trend-Pullback Continuation — Long-Short, Dual-Timeframe: In a Confirmed DAILY Trend, ENTER on 4H PULLBACKS to the Moving Average (Buy the Dip WITH the Trend / Sell the Rally WITH the Downtrend), NOT on Breakouts — Better Entry R:R, ATR-Trailing Exit (ETHUSDT.BINANCE USD-M, Daily-Trend + 4H-Pullback, 3-Parameter)
Hypotheses
A LONG-SHORT, single-instrument, PURE-OHLCV trend-continuation strategy that trades WITH an established daily trend but times entries on 4H PULLBACKS rather than breakouts. It is deliberately distinct from the three directional/reversion mechanisms already in our pipeline: it is NOT the SOL efficiency-gated BREAKOUT (breakout entries buy the top of the move and suffer whipsaw when the breakout fails); it is NOT the XRP range-reversion (that fades COUNTER-trend in FLAT regimes — this trades WITH-trend in TRENDING regimes); and it is NOT the BTC dual-timeframe MA momentum-confluence (that enters on momentum agreement — this enters on a temporary counter-move against a confirmed trend). The core insight: in a genuine trend, the highest-expectancy entry is a shallow pullback to the moving average (buy low in an uptrend / sell high in a downtrend), because it gives a tight stop and a large reward as the trend resumes — a materially better per-trade risk/reward than chasing breakouts, which is the specific reason breakout mechanisms die on fees/whipsaw here. The daily timeframe confirms the trend direction (the regime), the 4H timeframe locates the pullback and its resumption (the entry) — mirroring the STRUCTURE of the one promoted strategy while using a genuinely different entry primitive. ETHUSDT has rock-solid multi-year 4H+1D OHLCV history (no trade-tick/options data-availability trap), so walk-forward windows and the 15-day holdout populate cleanly. 3 parameters: daily-trend EMA length, 4H pullback depth (RSI/EMA-distance), and ATR trailing multiple.
Hypotheses
IMPLEMENTS THE HYPOTHESIS EXACTLY: daily timeframe confirms the trend, 4H timeframe locates the pullback and its resumption, ATR-trailing exit, long AND short, pure OHLCV on ETHUSDT, exactly 3 tunables mapped one-for-one to the hypothesis's (daily-trend EMA length, 4H pullback depth via EMA-distance, ATR trailing multiple). The entry primitive is a counter-move against a confirmed trend, not a breakout and not a counter-trend fade, so it is distinct from the breakout / range-reversion / momentum-confluence mechanisms named in the hypothesis. TWO CORRECTNESS POINTS THE HYPOTHESIS DOES NOT MENTION BUT WHICH DECIDE WHETHER THE RESULT IS REAL: (1) Cross-timeframe lookahead. Binance bars in this catalog are stamped at their OPEN (verified: the 1-DAY bar for 2019-12-31 and that day's first 4H bar share ts_event 1577750400000000000), so the daily bar for day T is delivered alongside that day's FIRST 4H bar even though its close is 24h in the future. Naively folding it into the trend EMA leaks the day's close into intraday entries and inflates the backtest. The daily leg is therefore queued and committed only when a 4H bar arrives at least 24h after the daily bar's timestamp. (2) The daily leg is wired as extra_instruments=[ETHUSDT.BINANCE] + extra_bar_types=[...-1-DAY-...] because InstrumentResolver.resolve_extras iterates over extra_instruments and silently DROPS any extra_bar_type without a matching entry -- the multi-leg trap that has burned iterations before. As belt-and-braces, if the daily leg is still absent the identical regime rule is computed from the primary 4H series (EMA of trend_ema_days*6 bars, 30-bar slope), which is the same daily EMA re-expressed on 4H closes; it is a data-source degradation, not a different edge (measured +2.37%/trade vs +2.92% for the true daily leg). PRE-SUBMISSION EVIDENCE (engine-free, real catalog data: 14,466 ETHUSDT 4H bars + 2,411 1D bars, 2019-12..2026-08, 0.05% taker charged on both sides): shipped defaults (30 / 1.2 / 4.0) produce 124 trades, +2.92% net per trade, 43.5% win rate, 19.3 trades/year, average hold ~10 days, 6 of 7 calendar years positive, and an equity path of +109% at 13.9% max drawdown under the 2%-risk sizing above. Robustness: ALL 125 cells of the declared _param_bounds box (trend_ema_days 20-60 x pullback_depth_atr 0.8-1.8 x atr_trail_mult 2.5-5.0) are net positive, and 122 of 125 still clear the 0.15% floor after deleting 2020 entirely -- so the bounds handed to the optimizer sit on a plateau, not a spike, and the defaults are interior to it rather than the grid maximum (the maximum was 20 / 2.5 / 6.0 at only 2.5 trades/year, rejected as too sparse to survive walk-forward). HONEST CAVEATS: (a) the return distribution is trend-following -- 43% win rate carried by a tail, so t-stat is 1.49 on 124 trades; (b) 2020 alone contributes ~+15%/trade and ex-2020 the edge is +0.97%/trade, with 2023 (-0.24%) and 2024 (-0.20%) flat-to-negative chop years; (c) the trailing 365 days (which is what the Layer-3 sandbox replays) is -0.29%/trade over 23 trades -- the sandbox will trade plenty but should not be read as a performance estimate, and the 20% holdout falls in this weaker recent regime. Venue: BINANCE USD-M futures is required because the strategy goes short; leverage is left at 1.0 and the notional cap enforces it, so no unused-leverage flag.
Hypotheses
Single-name ETH dual-timeframe trend-pullback continuation — the exact construction L41 lists as optimize→abandon (ETH HL trend-pullback / dual-TF), in the 0/213-survival OHLCV single-name trend class (L9), and weaker than the siblings that already died. Sharpe 0.60 with sharpe_ci_low +0.007 (CI touches zero) sits barely above the OOS floor before ~225-trial deflation and holdout lower it further. The 89% return is carried by a few outlier days (2021-02-23 = +28.7% ≈ the entire 2021 year, return_kurtosis 47, win rate 34.5%), and the edge has decayed — 2023/2024/2026 all negative, information_ratio -0.66 — so walk-forward OOS windows will be marginal-to-negative. Not tunable: the weakness is statistical insignificance plus outlier/regime dependence, not a parameter. Failure pattern: single_name_trend_pullback_clone_outlier_dependent (L41 named class, Sharpe CI touches zero, tail-day-driven, decayed OOS).
Implementation
Long/short dual-timeframe trend-continuation on ETHUSDT.BINANCE USD-M perps. A daily EMA (length trend_ema_days) plus its 5-day slope defines the regime: UP = daily close above a rising EMA, DOWN = below a falling EMA, FLAT = no new trades. Entries are timed on 4-HOUR bars and are PULLBACKS, never breakouts: the per-bar signal is (fast_ema_20 - close) / ATR14 in 4H ATR units (positive = price dipped under the fast MA, negative = extended above it), and a position opens only when the daily regime agrees, a dip of at least pullback_depth_atr ATRs occurred within the last 8 bars, and the current bar RESUMES the trend by closing above the prior bar's high (below the prior low for shorts). The only exit is an ATR trailing stop at atr_trail_mult x ATR from the best close since entry, so the initial risk equals the trailing distance and winners are left to run. Sizing is risk-first -- quantity = equity * 2% / (atr_trail_mult * ATR), capped at 1x equity notional -- so each trade risks a fixed 2% of current equity at its stop and shrinks as volatility expands. Daily bars are committed into the trend EMA only after the day has fully closed, eliminating the cross-timeframe lookahead that open-stamped daily bars would otherwise introduce. Three tunables: trend_ema_days, pullback_depth_atr, atr_trail_mult.
Verification Results
Analyst should treat the trailing-year sandbox as noise and rely on walk-forward/holdout; confirm the full-window edge clears the futures floor with margin before promotion.
Verification Results
Sandbox avg_trade_return_pct is 0.1533% — only fractionally above the 0.15% futures viability floor, and the trailing-year sandbox is net negative (total_return -0.42%, Sharpe -0.03, PF 0.97, 27 trades). The developer disclosed this honestly: the trailing 365 days is a weak/chop regime and the holdout falls in it, while full-history edge is +2.92%/trade (+0.97% ex-2020). Code is CORRECT; this is a performance call for the analyst.
Verification Results
Ensure walk-forward folds retain enough trades to be measurable; avoid sparse parameter cells (~2.5 trades/yr).
Verification Results
Low trade frequency (~19/yr, ~120-130 over the full window) with stated t-stat 1.49 — a tail-carried 43% win-rate trend distribution. Inherent to the mechanism, not a bug, but near the lower bound of statistical reliability.
Verification Results
No action needed; noted to pre-empt misreading.
Verification Results
Sandbox long_win_rate 0.0 over 7 long trades (short_win_rate 0.6 over 20). NOT the L17 code-defect signature (overall win_rate 0.44, |Sharpe| 0.03 — not extreme); it is a small-sample artifact of a bearish trailing year where with-trend longs failed and shorts worked — correct behavior for a long/short continuation strategy. No polarity/exit bug found.
Verification Results
None required.
Verification Results
Static warnings on unbounded _pending_daily / _proxy_hist growth are false positives: _pending_daily is drained each 4H bar by _commit_daily(); the hist deques have maxlen. No leak.
Backtest Review
Careful cross-timeframe lookahead handling (daily bars committed only after close) and clean risk-first sizing
Backtest Review
Positive trend payoff shape (PF 1.46, positive skew 2.33) and low market beta 0.04; max DD 20.3%
Backtest Review
Sharpe 0.60 with sharpe_ci_low +0.007 — CI essentially touches zero; barely above the 0.5 OOS floor before deflation/holdout lower it
Backtest Review
Edge concentrated in a few outlier days: 2021-02-23 alone = +28.7% (≈ the whole 2021 year), return_kurtosis 47, win rate only 34.5%
Backtest Review
Recent years negative (2023 -2.4%, 2024 -12.7%, 2026 -0.05%) — edge decayed after 2021-2022; most walk-forward OOS windows will be ≤ 0
Backtest Review
Single-name ETH dual-timeframe trend-pullback is L41's explicitly-named optimize→abandon class (0/213 OHLCV single-name trend survival, L9); this instance is weaker than the siblings that already died
Backtest Review
information_ratio -0.66
Outcome Summary
EthTrendPullbackContinuation aimed for a better entry risk/reward than breakout systems by trading with a confirmed daily ETH trend but entering on 4H pullbacks to the moving average, with careful handling to avoid cross-timeframe lookahead and clean risk-first sizing. It posted an 89.3% return with Sharpe 0.60, PF 1.46, and strong positive skew, but the win rate was only 34.5%, the information ratio was negative (-0.66), and the profit was concentrated in a few outlier days (2021-02-23 = +28.7%) with recent years (2023/2024/2026) all negative. The analyst abandoned it on the first iteration at the backtest_review gate, judging it the L41-named single-name trend-pullback optimize→abandon class whose CI touches zero and whose outlier/regime dependence would leave walk-forward OOS windows marginal-to-negative. It never advanced to optimization, analysis, or risk review.
Outcome Summary
Careful engineering (lookahead-safe cross-timeframe handling, risk-first sizing) and a positive-skew payoff do not rescue a single-name trend-pullback whose return depends on a handful of outlier days and whose edge has decayed to negative in recent years — the class prior (0/213 survival, CI touching zero) should override an attractive but tail-driven headline.
Outcome Summary
It was abandoned at the pre-optimization backtest_review gate on iteration 1: the analyst noted Sharpe 0.60 with a CI touching zero (+0.007) barely clears the 0.5 OOS floor before deflation and holdout, and this is the exact single-name ETH dual-timeframe trend-pullback construction L41 names as an optimize→abandon class (0/213 OHLCV single-name trend survival) that is weaker than siblings which already died, with an outlier-dependent, decayed edge that is not fixable by parameter tuning.
Outcome Summary
A long-short, single-instrument, pure-OHLCV trend-continuation strategy on ETHUSDT.BINANCE USD-M that trades with a confirmed daily EMA trend but times entries on 4H pullbacks to the moving average (buy the dip in an uptrend / sell the rally in a downtrend) rather than on breakouts, exiting via an ATR-trailing stop, with three parameters (daily-trend EMA length, 4H pullback depth in ATRs, ATR-trailing multiple).
Outcome Summary
The backtest returned a headline 89.3% total return with Sharpe 0.60 (CI low +0.007), profit_factor 1.46, positive skew 2.33, max_drawdown 20.3%, and a low market beta 0.04 over 220 trades, but with only a 34.5% win rate and information_ratio -0.66. The edge was carried by a few outlier days (2021-02-23 alone = +28.7%, roughly the entire 2021 year, return_kurtosis 47) and had decayed, with 2023 (-2.4%), 2024 (-12.7%), and 2026 (-0.05%) all negative.
Backtest and paper results are hypothetical. Trading involves risk of loss.