DotTrendAlignedPullbackEntryLS
Hypotheses
DOT Trend-Aligned Pullback Entry, Long-Short (DOTUSDT.BINANCE USD-M, 1D Regime + 4H Pullback-Exhaustion Entry, ATR-Trailing Ride-The-Trend, 3-Parameter)
Hypotheses
A LONG-SHORT, single-instrument, pure-OHLCV directional strategy on DOTUSDT.BINANCE USD-M perpetual that is deliberately NOT the promoted momentum-confluence recipe (BTC/ETH/ADA dual-TF confluence) and NOT a symbol-swap of the volume-confirmed variant that L91 says keeps dying. The core difference is the ENTRY MECHANISM: instead of buying strength (chasing a momentum/breakout at the worst possible price and paying spread at the extreme), it defines a slow trend REGIME on the 1D bar and then enters ONLY on a short-term PULLBACK against that trend on the 4H bar — buying the dip inside an established uptrend, selling the bounce inside an established downtrend. Buying the counter-trend shakeout gives a materially better entry price, so the per-trade capture (mean-reversion bounce + trend resumption) is larger than a breakout-chaser's, which is exactly what is needed to clear the ~0.10% round-trip fee that has killed 462 fee_edge hypotheses. Symbol choice (DOT) is an evidence-driven diversification move: DOT is a deeply liquid, 2020-listed USD-M major with multi-year 4H/1D history, absent from the promoted trio (BTC/ETH/ADA) and from the current pipeline/failure set, so this is not a re-skin of a dead clone. Only 3 parameters to resist the overfit death (381x) that punishes richer parameterizations.
Hypotheses
Implements the hypothesis exactly: 1D regime + 4H pullback-exhaustion entry + ATR-trailing ride-the-trend on DOT, with 3 parameters. The mechanism is explicitly the inverse of a breakout chaser -- the entry fires when price trades AGAINST the established trend by at least entry_depth ATRs, which improves the fill price and gives the trade both the mean-reversion bounce and the trend resumption, the extra per-trade capture needed to clear the ~0.10% round-trip Binance USD-M taker cost. Venue: futures (BINANCE USD-M) is required because the strategy is long AND short and uses leverage 2.0, which is wired into position_size via self.config.leverage. One implementation choice worth flagging: I defined the daily regime as multi-day momentum rather than price-vs-daily-EMA, because a price-vs-EMA regime turns off exactly when the pullback it is meant to gate arrives (the dip pushes close below the daily EMA), which would have made the entry conjunction near-impossible and risked a zero-trade sandbox. Entry frequency estimate: a >=0.8-ATR dislocation from the 4H EMA occurs on roughly 10-15% of 4H bars, and the daily regime is non-zero essentially always, so the gate should fire many times per month -- far above the >=1 trade the sandbox needs and enough for statistically meaningful metrics. The extra leg is the SAME instrument on a slower timeframe, so no cross-leg sync barrier applies, and extra_instruments carries DOTUSDT.BINANCE positionally paired with the 1-DAY bar type so the daily feed is actually resolved. All state is incremental (EMA, bounded ATR deque, bounded daily-close deque) -- O(1) per bar, no history rescans, so the 300s sandbox wall clock is safe. Both parameter clamps are declared in _param_bounds so the optimizer never tests values the code silently rewrites.
Hypotheses
failed deflated Sharpe: DSR=0.0009, expected-max=1.55 over 225 trials — selected Sharpe indistinguishable from best-of-N noise. The strategy is decisively OVERFIT (walk-forward IS 1.36 -> OOS -0.19, is_overfitted=true, PBO 0.61>0.5), and all three tunables (atr_period, regime_len, trail_atr_mult) are cliff parameters, so there is no robust region to iterate toward — the edge is fit to noise, not present in parameter space. Recent 3 years (2024/2025/2026) are all losing and DD breaches the pre-registered 20% cap. Not a fee problem (per-trade 1.66% is healthy) and not a fixable-code problem — it is the recurring single-name OHLCV trend/pullback clone signature (siblings DOT dual-TF momentum -> overfit, APT trend-pullback -> fee_edge, DOT daily TSMOM -> abandoned, DOT squeeze -> fee_edge). Overfit -> abandon: reframing the same mechanism onto another instrument tends to overfit again rather than reveal a real edge.
Implementation
Long-short DOTUSDT.BINANCE USD-M perpetual strategy that trades WITH a slow daily trend but enters only on a short-term counter-trend pullback. A 1-DAY leg defines the regime as the sign of the regime_len-day close-to-close momentum (slow enough that a single 4H dip cannot flip it). The primary 4H leg computes a continuous, volatility-scaled dislocation signal = (EMA20_4h - close) / ATR14_4h: positive when price has pulled back below its own 4H mean, negative when it has bounced above it. Entry: BUY when the daily regime is up AND the dip is at least entry_depth ATRs deep; SELL when the daily regime is down AND the bounce is at least entry_depth ATRs high. Exit: an ATR trailing stop (trail_atr_mult x entry ATR of give-back from the best close since entry, seeded at the entry price so it also acts as the initial stop), or the daily regime flipping against the position. Position size is risk-first -- equity * risk_pct / (trail_atr_mult * ATR) -- capped at max_notional_frac * equity * leverage (2x), so the stop distance risks ~1.5% of equity per trade and the requested leverage is genuinely consumed. Three tunables only: regime_len, entry_depth, trail_atr_mult.
Verification Results
For live robustness, reconstruct _side from the actual open position (cache.positions_open) rather than from the current regime sign.
Verification Results
should_exit() infers _side from the live regime when _side == 0 (a restart fallback). In normal in-process operation should_exit is only reached with a position open and _side set by should_enter, so this branch is dead in backtest; but on a live restart with an open position whose true direction disagrees with the current daily regime, it would assume the wrong side and mis-evaluate the trailing stop. Harmless for the backtest/optimization path being reviewed.
Verification Results
Acceptable as-is; if tighter risk control is desired, evaluate give-back against bar low/high rather than close.
Verification Results
Trailing stop and initial stop both use bar CLOSE (self._px), not intrabar high/low. This is conservative/realistic (no optimistic intrabar fills) but means the effective initial risk can exceed trail_atr_mult*ATR within a bar, so realized per-trade risk may run slightly above the sizing assumption of ~risk_pct of equity.
Verification Results
Sandbox is net positive (avg_trade_return_pct 0.70%, PF 1.11, 299 trades) but the mechanism is regime-fragile: it makes money in the calm (+9.2%) and stressed (+16.5%) vol terciles yet LOSES in the normal tercile (-7.7%, Sharpe -0.22), and headline Sharpe 0.22 has a CI [-0.56, 0.99] straddling zero. The trailing-stop / ride-the-trend edge appears to depend on trending vol regimes; the analyst should confirm on full history that the normal-regime bleed doesn't dominate once optimized, and watch that short trades (175 of 299, 39% win) aren't carrying the whole result.
Backtest Review
Reliable, decisive sample: 299 trades over 6.04 years (2020-08 to 2026-09), 13,235 4H bars, metrics_reliable=true, entry_diag clean (299 signaled = 299 submitted, 0 dropped).
Backtest Review
Per-trade edge clears the Binance USD-M fee floor with margin: avg_trade_return_pct 0.696% (>> 0.15%), positive expectancy $44.8/trade (avg_win 1741 vs avg_loss 1061 at 39.5% win). Costs are modest: commission 3.54% of gross, impact 18.8% of gross, capacity ~$2.8M.
Backtest Review
Mechanism is implemented as hypothesized and differentiated: trend-aligned PULLBACK entry (1D regime + 4H dip/bounce) rather than a breakout/momentum chaser; balanced long(124)/short(175) book, ATR-trailing exit, only 3 tunables. DOT is not in the promoted trio, so not a symbol re-skin.
Backtest Review
Contained drawdown (14.9%, well under the 20% survivor tier), end_unrealized only 6.9% (headline is realized, not an MTM artifact), positive years 2021-2025.
Backtest Review
Marginal net edge: profit_factor 1.070 sits in the fee/impact-drag band [1.05,1.15]; the fade-into-trend class (L55) usually needs PF>1.15 to survive, and single-name OHLCV directional clones with base Sharpe<1.0 (here 0.22) tend to die in the 3-phase deflation (L63/L93).
Backtest Review
Sharpe 0.22 with CI [-0.50, 0.996] straddles zero; regime-fragile per QA's concern — LOSES in the normal vol tercile (-7.7%, Sharpe -0.22) while earning in calm (+9.2%) and stressed (+16.5%). Recent degradation: 2025 +9.1% but 2026 YTD -13.7%.
Backtest Review
Result leans on short trades (175 of 299, 39% win) and on a few large trending months; long max_drawdown_duration (~1010 days).
Analysis
Clean, decisive sample: 249 optimized trades over 6+ years, metrics_reliable=true, entry_diag clean (249 signaled = 249 submitted, 0 dropped).
Analysis
Per-trade edge clears the Binance USD-M fee floor with room: avg_trade_return_pct 1.66% (>> 0.15%); commissions only 3.1% of gross and impact 14.3% of gross — costs are not the killer here.
Analysis
Optimized headline metrics look modestly positive in isolation (total_return 23.7%, PF 1.08, DD 23.7%).
Analysis
OVERFIT, decisively: walk-forward IS Sharpe 1.36 vs OOS -0.19 (is_overfitted=true). Per-window OOS is -1.16 in the middle window — the edge does not generalize; it inverts.
Analysis
PBO 0.61 > 0.5 — the parameter selection is more likely than not overfitting the search.
Analysis
Deflated Sharpe 0.0009 (and 0.0007 programme-level) vs 0.95 floor; is_significant=false; sharpe_ci straddles 0 (-0.59 to 1.08). The optimized Sharpe is indistinguishable from best-of-N noise over 225 trials (98 effective).
Analysis
Does not survive programme-level FDR (Benjamini-Hochberg q=0.10 keeps 4 of 271; candidate_p 0.9991).
Analysis
ALL THREE tunables are cliff parameters (atr_period, regime_len, trail_atr_mult) — there is no stable parameter region to tune toward; the sensitivity heatmap is a noisy patchwork of 0.0-0.4 Sharpe.
Analysis
Optimized full-period Sharpe is only 0.28 with negative annual returns in 2024 (-8.9%), 2025 (-3.2%), 2026 (-9.7%) — the recent 3 years are losing; DD 23.7% breaches the pre-registered 20% cap.
Analysis
Pre-registered predictions: only 2 of 6 met (missed OOS Sharpe, PF, DD, win_rate).
Analysis
This exact mechanism has died repeatedly: DOT dual-TF momentum (overfit), APT trend-pullback (fee_edge, -26%), DOT daily TSMOM (-30%, 61% DD), DOT squeeze breakout (fee_edge). Single-name OHLCV trend/pullback clone confirmed as noise-fit by the full deflation.
Analysis
Benjamini-Hochberg at q=0.10 over 271 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
DotTrendAlignedPullbackEntryLS-d86fe91dd1
Outcome Summary
DotTrendAlignedPullbackEntryLS proposed a genuinely differentiated idea — enter on the counter-trend shakeout rather than chase strength — on DOT, an instrument outside the promoted trio. The backtest-review passed it to optimization because the per-trade edge (0.70%) comfortably cleared the fee floor and the sample was clean and decisive. But the 3-phase optimization exposed the edge as noise: in-sample Sharpe of 1.36 inverted to -0.19 out-of-sample, PBO 0.61 and a deflated Sharpe of 0.0009 left it indistinguishable from best-of-N luck, and all three parameters were cliffs with no stable region to iterate toward. It was abandoned after one iteration as the recurring single-name OHLCV trend/pullback clone signature that had already killed several DOT and APT siblings.
Outcome Summary
Reframing a single-name OHLCV trend/pullback mechanism onto a fresh instrument tends to overfit again rather than reveal a real edge, especially when every tunable sits on a sensitivity cliff.
Outcome Summary
The analyst abandoned it post-optimization as decisively overfit: is_overfitted=true, PBO 0.61, deflated Sharpe 0.0009 vs the 0.95 floor, failed programme-level FDR, all three tunables were cliff parameters, and the recent three years (2024-2026) all lost with drawdown breaching the pre-registered 20% cap.
Outcome Summary
A 3-parameter long-short DOTUSDT USD-M perp strategy that read a slow 1D trend regime and entered only on a counter-trend 4H pullback (buying dips in uptrends, selling bounces in downtrends), riding with an ATR-trailing stop to capture more per trade than a breakout-chaser.
Outcome Summary
Over 6+ years (299 trades) the initial backtest returned 20.3% total with a 0.22 Sharpe, 1.07 profit factor, 39.5% win rate and a healthy 0.70% avg per-trade return; optimization lifted headline metrics (23.7% return, 0.28 Sharpe, PF 1.08, 1.66% per-trade) but walk-forward IS Sharpe 1.36 collapsed to OOS -0.19.
Backtest and paper results are hypothetical. Trading involves risk of loss.