Skip to content

View original

LtcAdxGatedDualEmaTrendLS

Hypotheses

LTC Binance USD-M Trend-Strength-Gated Directional Trend — Long-Short Dual-EMA Only When ADX Confirms a Strong Trend, Size Scaled by Trend Strength, ATR Trailing Exit (Single-Bar 4H, 3-Parameter)

Hypotheses

A LONG-SHORT, single-instrument, pure-price DIRECTIONAL trend follower on LTCUSDT.BINANCE (USD-M perpetual), 4H single-bar construction, whose distinguishing mechanism is an explicit TREND-STRENGTH GATE (ADX) that keeps the book FLAT unless a statistically strong trend is actually present — a deliberate change from the always-on EMA-confluence / regression-slope / pullback variants I have already queued (BTC/ETH/ADA/BNB/XRP/DOGE). The recurring non-outlier failure across my trail is 'no established edge' / whipsaw fee-bleed: the trend signal is right in strong trends but bleeds commissions churning in chop. The ADX gate attacks that directly — it only spends the ~0.10% round-trip when directional strength is high, and it scales position size by trend strength, so capital concentrates in the few genuinely strong LTC trends and stands aside in the range-bound majority. Two prior conclusions are respected: (1) Hyperliquid is now PROVEN unusable for trend significance (even 12H HL data starts 2023-01, ~3.4y single regime — every HL port died 'unestablished edge'), so this uses Binance with ~5–6y of multi-regime LTC history; (2) LTC is chosen as a LOW-KURTOSIS major (steady, non-memecoin distribution) whose edge, when present, is distributed rather than one-day-dominated — the property that passes the deflated-Sharpe / outlier gates that killed the Donchian breakouts. NOT a mean-reversion fade (L53), NOT a squeeze breakout (L54), NOT a channel breakout (outlier class), NOT a cross-sectional basket (L52), NOT a market-neutral ratio (near-zero edge), NOT a NON-PRICE-feed gate (ADX is 100% price-derived, so NOT L46), NOT options/COIN-M (L50/L51). Fills the long-short gap (13.6% vs 86% long-only) with a fresh name and a new gating mechanism. Risk profile: ~1.5% equity risk/trade via ATR stop; size = base_risk * (ADX/ADX_ref) vol-scaled by ATR, hard-capped at 25% of equity*leverage; 2x leverage cap (reads self.config.leverage). Exactly 3 tunable parameters (slow/fast EMA ratio, ADX threshold, ATR trailing multiple); fast EMA and ADX lookback fixed at standard values to resist best-of-N overfit.

Hypotheses

Implements the hypothesis exactly -- ADX trend-strength gate (100% price-derived, so not an L46 non-price feed), strength-scaled sizing, ATR trailing exit, long-short, single 4H bar series on Binance for the ~6.6 years of multi-regime LTC history (14404 bars, 2020-01-09 to 2026-08-05). Exactly 3 tunables with fast EMA and ADX period fixed; code clamps mirror _param_bounds verbatim. Leverage 2.0 is genuinely consumed by the notional cap (equity * max_notional_frac * self.config.leverage), which is a fraction of CURRENT equity so losses cannot compound (L15). ADX is Wilder-smoothed incrementally (O(1) per bar), so the 300s Layer-3 cap is safe; Layers 1-3 were run locally and all pass -- static analysis clean, all six synthetic scenarios pass with a continuous varying signal, and the real 365-day sandbox produces 112 trades (56 entries), so there is no zero-trade or timeout risk. I FLAG A MATERIAL CONCERN, and the Research Lead/Analyst own the call: on this data the mechanism has NO EDGE. Replaying this exact class over the full history gives avg -0.38% per trade net of the 0.10% round trip, profit factor 0.87, win rate 31%, and the 365-day sandbox returns -24.0% (Sharpe -1.41, PF 0.35, avg -1.62%/trade). This is not a defaults problem: I swept the full declared 3-parameter grid (ema_ratio 2-4 x adx_threshold 15-30 x trail 2-4, 36 cells) and every cell is negative (avg -0.23% to -1.18%, PF 0.72-0.91), and five structural variants (fast EMA 24/36/48, trail-only exit, ADX-decay exit) were at best break-even (best cell avg +0.16%, PF 1.04, still below the 0.15% viability floor) with negative trailing-365-day figures throughout. Diagnosis: the ADX gate does filter chop, but on LTC it removes roughly as many good entries as bad ones while the EMA-flip/trail exit still whipsaws inside 'strong' ADX regimes, and LTC has spent 2022-2026 in a persistent downtrend-plus-chop that this construction monetizes poorly -- the same asset run through the daily-confirm confluence variant would be the cheaper test of whether LTC is tradable at all. My recommendation is to abandon at BACKTEST_REVIEW rather than spend the optimization budget; the code is submitted complete and correct so the pipeline can confirm the numbers independently.

Hypotheses

Net-losing and deteriorating — a decisive abandon at BACKTEST_REVIEW. Over 6.6 years and 441 trades the strategy loses money outright: total_return -36.5%, profit_factor 0.81 (<1.0), avg_trade_return_pct -0.29% (negative), expectancy -118, Sharpe -0.13 with CI-low -0.76. It is not a weak-but-positive edge; it is persistently negative and worsening: after 2020 (+2.8%) and 2021 (+9.6%), every year is deeply negative (2022 -5.8%, 2023 -13.9%, 2024 -13.6%, 2025 -30.5%, 2026 -12.7%), with rolling_sharpe -4 to -8 throughout and a 51.1% drawdown (CI to 82.7%). On a meaningful benchmark it underperforms buy-hold LTC (alpha -0.048, IR -0.41). The pitched fix — the ADX trend-strength gate with strength-scaled sizing — made it worse, concentrating capital into 'strong' LTC trends that reversed (return_kurtosis 22.6). No parameter region turns a negative-per-trade, PF-0.81, every-year-losing trend follower positive; the LTC ADX-gated trend simply has no edge. Abandon rather than spend the optimization budget.

Implementation

Long-short, single-instrument, single-bar-type directional trend follower on LTCUSDT.BINANCE USD-M perpetual, 4H bars, gated by trend strength. Direction = (EMA12 - EMA36)/ATR14; strength = Wilder ADX(14) computed incrementally. calculate_signal returns direction * min(ADX/25, 3) every bar -- sign is the trend direction, magnitude is direction scaled by trend strength. ENTRY only when ADX >= adx_threshold (default 20): below it the book stands FLAT regardless of the EMAs, which is the whole point of the design -- fees are only spent when a strong trend is present. EXIT on a 3x-ATR trailing stop from the best close since entry or on the EMA direction flipping. Sizing is strength-scaled and volatility-scaled: qty = equity*1.5%*(ADX/25, clipped to [0.5,2.0])/(3*ATR), hard-capped at 25% of equity x 2x leverage. Three tunables: ema_ratio, adx_threshold, trail_atr_mult; fast EMA (12) and ADX lookback (14) are fixed.

Verification Results

Analyst: abandon at BACKTEST_REVIEW (edge below trading costs, negative in every parameter cell). Do not spend optimization budget — best-of-N cannot rescue an all-negative grid.

Verification Results

NO EDGE — recommend ABANDON at BACKTEST_REVIEW, not further backtest/optimization budget. This is NOT a code defect, so it is not a QA fail, but the empirical result is conclusively negative and reliable: sandbox total_return -24.0%, Sharpe -1.41, PF 0.35, win_rate 0.196, avg_trade_return_pct -1.62% (negative, far below the 0.15% floor), probabilistic_sharpe 0.028, Sharpe CI [-2.81, 0.05]. The developer independently swept all 36 declared-grid cells (every one negative, PF 0.72-0.91) plus five structural variants (best +0.16%/trade, still below the floor) and recommends abandon.

Verification Results

No code change needed. A future variant could cap the strength-scale at 1.0 so high-ADX reversals cannot produce outsized single losses.

Verification Results

Negative return skew (-3.38) with largest_loss (-6327) exceeding largest_win (4146) is atypical for a trailing-stop trend follower. Investigated and found to be CORRECT coded behavior, not a bug: strength-scaling sizes high-ADX entries up to 2x, and sharp moves that spike ADX just before a reversal produce a full ~3xATR loss on a 2x position. Polarity is correct (both legs lose symmetrically at ~20% win rate, ruling out inversion).

Verification Results

For live deployment, persist _side/_extreme/_entry_atr or reconstruct from the actual open position rather than from the current signal.

Verification Results

should_exit() infers _side from the live signal sign on restart (_side==0) and re-seeds _entry_atr/_extreme from current values. Unreachable in backtest; only a live mid-position crash-restart risk.

Backtest Review

Clean single-bar construction, adequate trade count (441) over 6.6 years of Binance history; correct risk-first sizing plumbing

Backtest Review

Net-losing: total_return -36.5%, Sharpe -0.13 (CI-low -0.76), profit_factor 0.81 (<1.0), avg_trade_return_pct -0.29% (negative), expectancy -118

Backtest Review

Deteriorating every year since 2021: 2022 -5.8%, 2023 -13.9%, 2024 -13.6%, 2025 -30.5%, 2026 -12.7%; rolling_sharpe -4 to -8 throughout

Backtest Review

max_drawdown 51.1% (CI to 82.7%) — capital-destroying

Backtest Review

Underperforms buy-hold LTC: alpha -0.048, information_ratio -0.41

Backtest Review

The ADX strength-gate + strength-scaled sizing made it worse (return_kurtosis 22.6 — amplified tail losses concentrating into 'strong' trends that reversed)

Outcome Summary

LtcAdxGatedDualEmaTrendLS tried to cure the recurring whipsaw fee-bleed by only trading a dual-EMA signal when ADX confirmed a strong trend and by scaling size with trend strength, on low-kurtosis LTC over Binance's long history. The gate backfired: the strategy lost -36.5% over 6.6 years with profit factor 0.81, a negative per-trade return, a 51% drawdown, and deep losses every year since 2021, underperforming simply holding LTC. Concentrating capital into high-ADX trends amplified tail losses (kurtosis 22.6) rather than filtering chop. The analyst abandoned it decisively at backtest review as a net-losing, deteriorating trend follower with no edge to optimize toward; it never reached optimization, analysis, or risk review.

Outcome Summary

A trend-strength gate does not automatically reduce whipsaw — scaling size up into high-ADX 'strong' trends can concentrate capital precisely into moves that reverse, amplifying tail losses (kurtosis 22.6), so a strength filter must be validated to improve rather than worsen per-trade expectancy before it is trusted.

Outcome Summary

The analyst abandoned it at backtest review as a decisive, capital-destroying failure: over 6.6 years and 441 trades it loses outright (PF 0.81, negative per-trade return, worsening every year), the pitched ADX strength-gate and strength-scaled sizing made it worse by concentrating capital into 'strong' LTC trends that reversed, and no parameter region can turn a negative-per-trade, every-year-losing trend follower positive — the LTC ADX-gated trend has no edge.

Outcome Summary

A long-short, single-instrument dual-EMA directional trend follower on LTCUSDT.BINANCE USD-M 4H (3 parameters) that only took a position when Wilder's ADX confirmed a statistically strong trend, stood flat in chop, scaled position size by trend strength (ADX/ref), and exited on an ATR trailing stop or EMA-direction flip — an explicit trend-strength gate meant to stop whipsaw fee-bleed.

Outcome Summary

The backtest (LTCUSDT.BINANCE 4H, 2400 data days from 2020-01) was net-losing and deteriorating: total return -36.5%, Sharpe -0.13 (CI-low -0.76), profit factor 0.81, avg_trade_return_pct -0.29%, expectancy -118 over 441 trades, with a 51.1% max drawdown (CI to 82.7%). It underperformed buy-and-hold LTC (alpha -0.048, IR -0.41) and lost deeply every year after 2021 (2023 -13.9%, 2024 -13.6%, 2025 -30.5%), with the ADX gate actually amplifying tail losses (kurtosis 22.6).
Strategy report

Backtest and paper results are hypothetical. Trading involves risk of loss.