XrpDailyPullbackTo20SmaUptrendLong
Hipotezės
XRP Daily Pullback-to-20SMA Long — Buy-the-Dip in Confirmed Uptrend
Hipotezės
A LONG-ONLY pullback strategy on XRPUSDT.BINANCE perpetual futures (Binance USD-M) using DAILY bars. Unlike every other long strategy in the current pipeline (which enter on momentum CONFIRMATION via breakouts, golden crosses, or trend continuation triggers), this strategy enters on a PULLBACK during an already-confirmed uptrend. The mechanism: when XRP is in a confirmed uptrend (200-SMA rising, 50-SMA > 200-SMA, price > 50-SMA), wait for price to retrace down to touch the 20-SMA, then enter long on the first day price closes back above the 20-SMA. This is the classic 'Two-Bar Pullback' / Raschke 'Holy Grail' pattern (Raschke-Connors 1996 'Street Smarts', Brooks 2009 'Trading Price Action Trends') which has documented win rates of 55-65% in trending markets because it (a) confirms the uptrend is still intact via the higher-timeframe MAs, and (b) enters at a temporary discount, providing tighter natural stop placement than a breakout entry. XRP is selected because: (1) ZERO existing pipeline strategies trade XRP — pure diversification benefit; (2) XRP has clean 5+ year Binance data (listed 2018, never deprecated, no symbol rebrand); (3) XRP is NOT in any known failure pattern (avoids MATIC deprecation, AAVE/ATOM precision-map gaps, BINANCE_SPOT 4H ingestion issue, Hyperliquid history limit, supp-data coverage gaps); (4) XRP has distinct microstructure (high retail participation, SEC-ruling regime changes 2023, BlackRock spot XRP ETF filings 2025) that produces more orderly pullback patterns than the highly-arbitraged BTC/ETH pairs; (5) XRP has decimal precision 4 (vs BTC's 2), but is in the known precision map. Structurally orthogonal to all 11 strategies in pipeline and all 24+ session failures: not a breakout, not mean-reversion, not cross-asset, not cross-sectional, not calendar, not sub-daily, not accumulation, not supp-data dependent, not options, not cross-venue, not pair. Trade frequency ~15-25 entries/year (low enough that fees don't dominate), holding period 5-20 days (long enough to capture meaningful moves, short enough to produce many closed trades for walk-forward evaluation).
Hipotezės
Iteration-3 fix for the Layer-2 synthetic failure: `_sma() takes 2 positional arguments but 3 were given`. The helper's signature/calling convention was inconsistent; I renamed it to a clean, unambiguous instance method `_sma_of(self, vals, n)` and updated all three call sites (`sma_fast`, `sma_mid`, `sma_slow`) to pass exactly the two positional args (vals, n). This is the smallest possible change — the entry/exit/sizing logic, imports, class structure, and continuous-signal scaffolding (which already passed Layer 1) are untouched, so no earlier-layer check regresses.
Hipotezės
Pre-optimization review: the strategy is catastrophically and consistently unprofitable — negative in every regime year (2021 -51%, 2023 -40%, 2024 -40%, 2025 -45%), total_return -87%, Sharpe -2.68, profit_factor 0.34, probabilistic_sharpe 0.01, 16 consecutive losses. Decisively, the realized win rate is 10.3% — the near-inverse of the 55-65% the Raschke/Connors pullback pattern is documented to produce — meaning entries are directionally wrong ~90% of the time. This is a structural premise failure on XRP (its 2021-2025 post-peak downtrend means the 200-rising/50>200/price>50 uptrend gate only opens on brief dead-cat bounces, so 'buy the first close back above the 20-SMA' systematically buys into fizzling rallies), not a fixable parameter or exit-tuning issue. Optimization tunes parameters and cannot convert a 10%-win-rate, every-year-negative dip-buyer into a promotable edge; spending 2 hours optimizing is not warranted. (The close<50-SMA trend-break exit is also too tight for XRP daily vol and whipsaws trades out before the 15% take-profit, but reworking the exit does not rescue a no-edge entry across all six years.)
Įgyvendinimas
Long-only daily pullback strategy on XRPUSDT.BINANCE perpetual futures. Confirms an uptrend via 200-SMA rising, 50-SMA > 200-SMA, and close > 50-SMA, then arms on a retrace touching the 20-SMA and enters long on the first close back above the 20-SMA (Raschke-Connors 'Holy Grail' pullback). Exits on a 6% stop, 15% take-profit, close below the 50-SMA (trend break), or a 20-day time stop.
Patikros rezultatai
Verification failed (Layer 2 — synthetic scenarios):
Parameters used: ['sma_mid', 'sma_fast', 'sma_slow', 'min_notional', 'position_pct', 'max_hold_bars', 'stop_loss_pct', 'slope_lookback', 'take_profit_pct']
Check that __init__ sets all attributes from self.parameters.get().
- steady_uptrend: TypeError: XrpDailyPullbackTo20SmaUptrendLong._sma() takes 2 positional arguments but 3 were given (bar timestamp: 1735702860000)
- steady_downtrend: TypeError: XrpDailyPullbackTo20SmaUptrendLong._sma() takes 2 positional arguments but 3 were given (bar timestamp: 1735702860000)
- flat_ranging: TypeError: XrpDailyPullbackTo20SmaUptrendLong._sma() takes 2 positional arguments but 3 were given (bar timestamp: 1735702860000)
- volatility_spike: TypeError: XrpDailyPullbackTo20SmaUptrendLong._sma() takes 2 positional arguments but 3 were given (bar timestamp: 1735702860000)
- zero_volume: TypeError: XrpDailyPullbackTo20SmaUptrendLong._sma() takes 2 positional arguments but 3 were given (bar timestamp: 1735702860000)
- price_gap: TypeError: XrpDailyPullbackTo20SmaUptrendLong._sma() takes 2 positional arguments but 3 were given (bar timestamp: 1735702860000)
Istorinio testo peržiūra
Clean single-asset bars-only implementation; entries fired as intended (39 entries, 0 dropped) so it is not a zero-trade or plumbing failure
Istorinio testo peržiūra
Continuous non-frozen signal and correct long-only construction on a clean XRP data path
Istorinio testo peržiūra
Catastrophic and CONSISTENT: negative every year (2021 -51%, 2023 -40%, 2024 -40%, 2025 -45%), total_return -87%, Sharpe -2.68, PF 0.34, probabilistic_sharpe 0.01, 16 consecutive losses
Istorinio testo peržiūra
Win rate 10.3% is the near-inverse of the 55-65% the pullback pattern is documented to produce — the premise fails on XRP, not a parameter issue
Istorinio testo peržiūra
The close<50-SMA trend-break exit is very tight for XRP daily vol, whipsawing entries out at small losses before the 15% take-profit, compounding the poor entry quality
Istorinio testo peržiūra
XRP structurally downtrended post-2021; the uptrend gate only opens during brief dead-cat bounces, so buy-the-dip entries systematically bought fizzling rallies
Analizė
Do NOT optimize — the backtest is corrupted by a sizing bug and a likely logic bug, so it isn't a fair test of the pullback premise. Fix these before re-running:
1. SIZING (critical): Replace position_pct=0.95 (near all-in) with risk-based sizing. Size so that hitting the 6% stop loses ~1% of equity, i.e. qty = (equity * risk_frac) / (price * stop_loss_pct), with risk_frac ~0.01. Right now avg_position_pct is 195% and single trades lose ~21% of equity against a nominal 6% stop — the account compounds down ~2x. On a 134%-vol alt, 95% notional is reckless regardless of the signal.
2. STOP GAP-THROUGH (critical): On daily XRP, a 6% PnL stop checked only at bar close lets gaps blow far past it (largest_loss 21% vs 6% stop). Either widen/relative-size the stop to the instrument's daily range, or accept that daily bars cannot enforce a tight 6% stop and size accordingly.
3. WIN-RATE / EXIT LOGIC (critical): The claimed pullback win rate is 55-65% but realized is 10.3%, and the strategy LOSES in 2021 (XRP's biggest bull year). A buy-the-dip-in-uptrend buyer should make money in a bull year. Investigate: (a) is the 'first close back above 20-SMA' entry firing at local tops just before reversals? (b) is the 'close < 50-SMA' trend-break exit cutting winners prematurely while the stop lets losers gap? Add diagnostics: log entry price vs the subsequent 20-bar high/low to confirm entries actually precede up-moves. Verify the 200-SMA-rising + 50>200 + close>50 gate is genuinely restricting entries to confirmed uptrends and not arming during blowoff tops.
Resubmit only after a properly-sized run; if win_rate and profit_factor are still <0.3/1.0 with correct sizing, the premise has no edge on XRP and should be abandoned.
Rezultatų suvestinė
This strategy applied the classic Raschke-Connors pullback-to-20SMA 'buy the dip in a confirmed uptrend' pattern to XRP daily futures, chosen mainly for diversification since no other pipeline strategy trades XRP. Mechanically it worked — 39 long entries fired cleanly on a clean data path with no plumbing failures — but the results were catastrophic and consistent: -87% total return, -2.68 Sharpe, 0.34 profit factor, and a 10.3% win rate that was the near-inverse of the 55-65% the pattern is documented to produce. The analyst judged this a structural premise failure rather than a fixable parameter issue: XRP's 2021-2025 post-peak downtrend meant the uptrend gate only opened on brief dead-cat bounces, so the strategy repeatedly bought into fizzling rallies. It was abandoned at the pre-optimization backtest-review gate after 3 iterations, never reaching optimization, risk review, or paper trading.
Rezultatų suvestinė
A pattern's documented win rate only holds in the regime it assumes — on an asset in a multi-year downtrend the 'confirmed uptrend' gate opens mainly on dead-cat bounces, so buy-the-dip systematically buys fizzling rallies; validate that the required regime actually exists in the asset's history before trusting the edge.
Rezultatų suvestinė
The analyst's pre-optimization backtest-review verdict was 'abandon' after 3 iterations — the strategy was catastrophically and consistently unprofitable, so optimization and all later stages were never reached (no optimization or analyst report exists).
Rezultatų suvestinė
A long-only daily 'Holy Grail'/two-bar pullback on XRPUSDT.BINANCE futures that, inside a 50/200-SMA-confirmed uptrend, bought the first close back above the 20-SMA after a pullback touched it — entering at a discount rather than on breakout confirmation.
Rezultatų suvestinė
Over 247 data days it took 39 long trades (39 entries signaled, 0 dropped) and lost heavily: total return -87.16%, Sharpe -2.68, profit factor 0.34, max drawdown 89.1%, and a 10.3% win rate with up to 16 consecutive losses. It was negative in every regime year (2021 -51%, 2023 -40%, 2024 -40%, 2025 -45%).
„Stratmill“ yra tyrimų ir popierinės prekybos įrankis, o ne finansų konsultantas ar brokeris. Testavimo ir popierinės prekybos rezultatai yra hipotetiniai. Prekyba susijusi su nuostolio rizika.