SolAdxStrongTrendFilteredLong
Hypoteser
SOL ADX Strong-Trend-Filtered Long-Only (Wilder 1978 Average Directional Index, SOLUSDT.BINANCE Daily, Bars-Only)
Hypoteser
Single-asset long-only strategy using the AVERAGE DIRECTIONAL INDEX (ADX, Wilder 1978 'New Concepts in Technical Trading Systems') as a TREND-STRENGTH filter combined with the +DI / -DI directional indicators. This proposal addresses EVERY documented failure mode from recent rejections: (a) bars-only — NO supp_data dependency (the analyst has now flagged 6+ failures where strategies fell back to price-derived proxies because L/S ratio, taker_ratio, OI, premium_index, HL funding, COIN-M data wasn't actually accessible in supp_data), (b) single-asset SOL (diversifies from BTC-heavy single-asset bucket; ETH already used in EthAroonTrendStrength; SOL has strong directional regimes ideal for ADX), (c) single-venue Binance USD-M (sane backtest engine, no cross-venue execution gap, no multi-instrument backtest accounting bug), (d) long-only (no short-leg alt-season disaster), (e) novel mechanism class — ADX is fundamentally different from EMA/SMA crossover (which fires on average-price changes), from Aroon (which measures extreme RECENCY), from KER (which measures PATH efficiency), from Parkinson vol (which measures range), from volume breakouts (which use volume). ADX measures the AVERAGE DIRECTIONAL movement — how strongly price is trending regardless of direction. Combined with +DI/-DI (which measure upward vs downward directional pressure), it produces both trend STRENGTH and trend DIRECTION as a single composite signal. Wilder's original research and decades of subsequent empirical work (Achelis 2001 'Technical Analysis from A to Z', Murphy 1999 'Technical Analysis of the Financial Markets') consistently show ADX > 25 is a robust filter for trend-following strategies across asset classes. SOL specifically has had multiple multi-month efficient uptrends (2021, 2023-24) that ADX-filtered strategies have empirically captured well. NOT a duplicate of EMA crossover (SolDailyEmaTrendContinuationLong in pipeline uses MA crossover, different signal class). 3 parameters total. EXPLICIT NO-FALLBACK DESIGN: the strategy uses ONLY bar OHLC data — no supp_data lookup attempted, no proxy fallback path possible.
Hypoteser
Implements ADX (Wilder 1978) as a novel mechanism class distinct from EMA/SMA crossover, Aroon recency, Kaufman efficiency, Parkinson range, and volume breakouts: ADX measures average DIRECTIONAL movement (trend strength regardless of direction), and the +DI/-DI pair supplies direction, jointly producing a strength+direction composite. calculate_signal returns the continuous composite (+DI - -DI) * ADX/100 that varies every bar and is positive in up-trends; the binary entry gates (ADX>=threshold, +DI>-DI) live in should_enter and the exit logic in should_exit. The Wilder smoothing is implemented faithfully (running-sum RMA for TR/DM so the DI ratio is scale-free, then averaging RMA of DX for ADX) and was numerically validated: strong synthetic uptrends produce high ADX with +DI dominant (entry), choppy series produce sub-threshold ADX (no entry), downtrends produce -DI dominant (no entry). Addresses every recent failure mode: bars-only (no supp_data fallback), single-asset SOL (regime-rich, diversifies from BTC), single-venue, long-only (no short-leg alt-season risk), minimal 3-parameter surface to resist optimization curve-fit. SOL's multi-month efficient uptrends (2021, 2023-24) are exactly the regimes an ADX>25 filter captures; per-trade trend moves dwarf the ~0.20% spot round-trip fee.
Hypoteser
Failed deflated Sharpe: DSR=0.4813, expected-max=7.08 over 225 trials — the optimized Sharpe of 6.94 is BELOW the best-of-N luck bar and statistically indistinguishable from selection noise (is_significant=false, PBO 0.6878 > 0.5, sharpe_ci_low -3.18 straddles 0). Overfit by over-selectivity: walk-forward is_overfitted=true with avg IS 7.999 collapsing to avg OOS 0.0 and ALL three OOS windows exactly [0.0, 0.0, 0.0] — the optimizer pushed adx_threshold from 25 to 37.5, so the chosen config produces ZERO qualifying trades in every out-of-sample window — and the holdout failed (holdout_sharpe 0.0 vs WF-OOS 0.0, passed=false). Sensitivity 'passed' but adx_threshold is a CLIFF (Sharpe 1.23 -> 5.60 across the ±20% grid), and it is the very parameter the optimizer maximized. The headline (4126% total return, baseline Sharpe 3.58) is an artifact, not an edge: annualized_volatility 2568% and downside_deviation 102 are degenerate per-day-attribution distortions, and the realized return is carried by a handful of bull-cycle outlier days (2021-05-19 +844%, 2024-01-06 +300%, 2021-09-21 +204%) with deeply negative 2022 (-32%), 2025 (-37%) and 2026 (-12%) years, on only 30 baseline trades (33% win rate, 68% max DD, skew 4.3, kurtosis 21.5). This is overfit/outlier-concentration on a high-vol alt, not a tunable-region case: the 225-trial sweep already established its best config does not trade out-of-sample over a cliff-ridden space, so a second pass hits the identical wall — there is no robust region to tune toward. Not revise_hypothesis either: the ADX trend-filter mechanism has no promoted sibling to redirect to and the failure is overfit/single-trade dependence, not structural decay of a working mechanism — reframing onto another instrument would just re-overfit. FAILURE PATTERN: single-asset ADX strong-trend-filtered long on a high-vol alt (SOL daily) produces a headline carried by 2021/2024 bull-outlier days plus per-day-attribution-inflated volatility, passes sensitivity only on trivial constants while its core adx_threshold cliffs, and fails DSR/PBO with all-zero walk-forward OOS and a failed holdout as the optimizer raises the threshold and over-selects to zero out-of-sample trades.
Implementation
Single-asset long-only SOLUSDT Daily strategy using Wilder (1978) ADX as a trend-STRENGTH filter combined with +DI/-DI direction. Bars-only: computes True Range, +DM/-DM, Wilder running-sum smoothing to get +DI/-DI, DX, and an averaging-smoothed ADX over a 14-bar period — no supplementary data and no proxy fallback path. Enters long when flat if ADX >= 25 (strong trend) AND +DI > -DI (up). Exits when -DI > +DI (direction flips down) or ADX < 20 (trend fades; the exit threshold sits below the entry threshold for whipsaw-resistant hysteresis). Three free parameters (adx_period, adx_threshold, adx_exit_threshold). Routed to BINANCE_SPOT (CASH, leverage 1): long-only, unleveraged, price-trend edge, which also sidesteps the funding drag a perp long accrues over multi-week trend holds.
Backtestgranskning
Functions correctly and matches the hypothesis: Wilder ADX trend-strength filter + DI direction, bars-only (no supp_data fallback), 3 free parameters, clean SOLUSDT routing.
Backtestgranskning
30 trades is adequate for a 3-parameter sweep; the dominant trade is a real multi-month SOL trend ride, not a data artifact.
Backtestgranskning
Extreme single-trade concentration: the 2023-24 trade is 175.3% of total P&L — the other 29 trades net NEGATIVE. The strategy is profitable only because of one outlier.
Backtestgranskning
Worst recent regime of the batch: 2025 -36.6%, 2026 -12% — the holdout window lands in deep decay.
Backtestgranskning
Fifth SOL daily trend-following variant this session; the prior four failed optimization identically (DSR ~0, zero/negative walk-forward OOS, failed holdout) from bull-concentration + recent-decay.
Backtestgranskning
max_drawdown 68%; headline Sharpe (3.58) is per-day-attribution-distorted (sharpe_ci_low -5.97 straddles 0, annualized_vol 2569%); end_unrealized 173%.
Backtestgranskning
adequate
Backtestgranskning
holdout lands here
Backtestgranskning
1 trade = 175% of P&L (rest net negative)
Backtestgranskning
watch
Backtestgranskning
yes
Backtestgranskning
must match
Analys
Clean bars-only design with no supplementary-data fallback path — executes as specified
Analys
Most operational parameters are flat in sensitivity (min_notional, size_precision, adx_exit_threshold stable)
Analys
Failed deflated Sharpe: DSR=0.4813, and the optimized Sharpe 6.94 is BELOW the expected-max luck bar 7.08 over 225 trials — worse than best-of-N noise
Analys
is_significant=false, PBO=0.6878 (>0.5), sharpe_ci_low=-3.18 (CI straddles 0)
Analys
Walk-forward is_overfitted=true: avg IS 7.999 collapses to avg OOS 0.0 with ALL three OOS windows exactly [0.0, 0.0, 0.0] — the optimizer raised adx_threshold to 37.5, over-selecting so the config produces ZERO out-of-sample trades
Analys
Holdout failed: holdout_sharpe 0.0 vs WF-OOS 0.0 (passed=false)
Analys
Sensitivity cliff on adx_threshold (Sharpe 1.23 -> 5.60 across the grid) — the very parameter the optimizer maximized
Analys
Headline is an artifact: annualized_volatility 2568% / downside_deviation 102 are degenerate per-day-attribution distortions; the 4126% return rests on 2021-05-19 (+844%), 2024-01-06 (+300%), 2021-09-21 (+204%) bull outliers with negative 2022/2025/2026 years
Analys
Thin sample: 30 baseline trades, win rate 33%, max drawdown 68%
Utfallssammanfattning
SolAdxStrongTrendFilteredLong introduced Wilder's ADX trend-strength filter as a novel bars-only mechanism, explicitly engineered to dodge the supplementary-data fallback failures and short-leg disasters of prior rejects. It cleared the pre-optimization gate (PF 1.51, +4126%) but reviewers flagged that one trade was 175% of P&L while the other 29 net negative, with a brutal recent regime (2025 -37%). Optimization confirmed total failure: deflated Sharpe below the luck bar, PBO 0.69, an in-sample ~8.0 collapsing to zero OOS activity as the optimizer raised adx_threshold and over-selected, a failed holdout, and a cliff on that very parameter. The analyst judged it overfit/outlier-concentrated on a high-vol alt with no robust region — the fifth identical SOL daily trend-follower failure — and abandoned it; it reached optimization and analysis but was abandoned after a single iteration, never advancing to risk review.
Utfallssammanfattning
Single-asset ADX strong-trend-filtered long on a high-vol alt produces a headline carried by a few 2021/2024 bull-outlier days plus per-day-attribution-inflated volatility — it passes sensitivity only on trivial constants while its core threshold cliffs, and the optimizer raises that threshold until it over-selects to zero out-of-sample trades; this was the fifth SOL daily trend-following variant to fail identically from bull-concentration and recent decay.
Utfallssammanfattning
After passing the backtest-review gate (verdict: optimize), the analyst abandoned it at the post-optimization stage: it failed deflated Sharpe (DSR 0.48 with optimized Sharpe 6.94 below the expected-max luck bar 7.08 over 225 trials, is_significant=false, PBO 0.69), the walk-forward was overfit (avg IS 8.0 collapsing to all-zero OOS windows because the over-selective config never traded out-of-sample), the holdout failed, and the core adx_threshold parameter was a sensitivity cliff.
Utfallssammanfattning
A long-only single-asset strategy on SOLUSDT.BINANCE daily bars (OHLCV only, explicitly no supplementary-data fallback) using Wilder's ADX as a trend-strength filter combined with +DI/-DI for direction: it entered long when ADX ≥25 and +DI > -DI (strong confirmed uptrend) and exited when -DI crossed above +DI or ADX faded below a 20 hysteresis threshold, with three free parameters.
Utfallssammanfattning
The base backtest over 2020-08-11 to 2026-05-18 showed a distorted headline across 30 trades — total return +4126%, CAGR 96.6%, profit factor 1.51, Sharpe 3.58 (CI [-5.97, 6.47]), a 68% max drawdown, 33% win rate — with one 2023-24 trade worth 175% of total P&L (the other 29 net negative); optimization (Sharpe 6.94) raised adx_threshold to 37.5 and produced zero out-of-sample trades.
Stratmill är ett research- och pappershandelsverktyg, inte finansiell rådgivning eller en mäklare. Backtest- och pappershandelsresultat är hypotetiska. Handel innebär risk för förlust.