Strategies
Wide-Step Uptrend Pullback, One Rung Only: Buy a >=8% Drop from the 10-Day High While Above the 200-Day SMA, Sell at +Same Step (ETH + ADA Binance Spot, 4H, long-only, single position per coin)
Outcome: Abandoned
WideStepUptrendPullbackOneRungSpot
Outcome Summary
After three iterations, the strategy tested a single-position, trend-gated pullback approach on ETH and ADA. Its 432 closed trades produced a -42.26% return and near-zero Sharpe, as ADA's losses overwhelmed ETH's positive contribution. Backtest review abandoned this adaptation for negative expectancy and insufficient per-trade return before optimization or later reviews.
Hypothesis
The source is an inventory grid, which lessons 167/171 mark as dead. Instead of porting it faithfully, it is restated as the single-rung, trend-gated, wide-step version that the pre-study shows is the only part with any positive expectancy. The ungated two-sided fade, the closest literal reading of the grid, lost on every coin and step tested, and the mirror short side lost too, so both are excluded. The design stays on spot because it is long-only and unleveraged. ETH and ADA were chosen over SOL on pre-study evidence, before any backtest. Only step and stop_mult are tunable, to limit overfitting. Predictions are deliberately modest (OOS Sharpe 0.5, 0.25%/trade) because the edge is thin and regime-variable.
negative_expectancy: decline optimization of this ETH-plus-ADA single-rung adaptation. The combined book has negative realized expectancy, PF below one and per-trade return far below the spot review floor. No verified code defect supports developer iteration. ETH's positive standalone result warrants separate research consideration, but does not validate the fixed two-coin portfolio. This verdict concerns this adaptation, not the source author's inventory grid or pullback strategies generally.
Implementation
Independent ETH and ADA Binance spot 4H single-position pullback trades: buy an 8% drop from the 60-bar closing high above the 1200-bar SMA, with an 8% bracket target, 12% bracket stop and 42-bar holding limit. Allocate 45% of book equity per coin.
Only min_bars_required changes to 1 so the primary incremental SMA receives bars from the beginning, as the ADA SMA already does. The unchanged rolling-readiness gate requires 1200 observations before entry, allowing both SMAs to be populated within the registered 1210-bar aligned warmup, including fresh reset-with-warmup runs. All trading logic and research parameter permissions remain unchanged. Sandbox losses and stressed-regime weakness are advisory; positive mean percentage return with negative mean dollar PnL requires notional-weighting and cost reconciliation by the reporting pipeline before profitability conclusions. No profitability claim is made.
Verification Results
The sandbox reports 67.31% drawdown and negative stressed-regime returns despite positive aggregate return. Full-history analysis should assess these against the registered 25% drawdown constraint; they do not establish a correctness defect.
Backtest Review
- Sharpe
- 0.01
- Total return
- -42.26%
- Max drawdown
- 69.79%
- Trades
- 432
- Win rate
- 57.4%
- Profit factor
- 0.95
Trade records show 432 closed long positions across both coins, with maximum holding time of seven days and sampled take-profit exits near the intended 8% step.
ETH alone earned $8,119 across 174 trades, averaging 0.436% per trade.
The combined book lost 42.26%, with PF 0.952 and average trade return 0.0106%, below the supplied 0.25% spot review floor. This is measured negative expectancy on a substantial sample.
ADA lost $50,382 across 258 trades, averaging -0.276% per trade; it overwhelms ETH's positive contribution.
QA's stressed-regime concern is borne out: stressed-regime return was -69.57%. Full-history drawdown was 69.79%; this supports the economic concern but is not the sole rejection reason.
The sampled equal-weight benchmark curve gained approximately 843.25% from the evaluated start, with sampled drawdown of 78.41%. The strategy's information ratio was -0.890.
Trade direction and holding times support the implementation's broad mechanism, but entry trend and pullback conditions were not independently checked against historical bars.
Iteration History
Allow calculate_signal() to receive primary bars from the beginning, for example by returning 1 from min_bars_required() and retaining the existing rolling-readiness entry gate. Verify that both instruments have fully populated 1200-bar SMAs after the registered 1210-bar warmup, including reset-with-warmup evaluation boundaries.
min_bars_required() returns 1201, but FactoryStrategy._maybe_process_primary() does not call calculate_signal() before that many primary bars arrive. The ETH rolling SMA is updated only inside calculate_signal(), so its first observation is bar 1201 and it becomes ready only at bar 2399. ADA updates its rolling SMA on every extra bar and becomes ready at bar 1200. Consequently ETH omits approximately 200 additional days of eligible signals and remains unprepared after the research contract's 1210-bar warmup. Increasing _max_bars fixes buffer capacity but does not fix indicator initialization.
Outcome Summary
ETH's positive standalone contribution warrants separate research, but does not validate the fixed ETH-plus-ADA portfolio.
Backtest review issued an abandon verdict for negative realized expectancy and per-trade return below the 0.25% spot review floor, with no verified code defect supporting another developer iteration. Optimization, post-optimization analysis and risk review were not reached.
Buy ETH and ADA independently on Binance Spot after an 8% pullback from their 10-day closing highs while above the 200-day SMA, targeting an 8% rebound with one long position per coin.
The combined backtest returned -42.26% across 432 closed trades, with Sharpe 0.0127, profit factor 0.952 and maximum drawdown 69.79%. Average trade return was 0.0106%; ETH earned $8,119, while ADA lost $50,382.
Analysis
网格交易法
Backtest and paper results are hypothetical. Trading involves risk of loss.