ADX Trend-Strength Strategy (Crypto)
Does an ADX trend-strength filter work on crypto perps? Backtested on real Hyperliquid perps from 2024-08-15 to 2026-07-05, the default settings earned a Sharpe of 0.82 — +65.4% total return with a 39.5% worst drawdown across 1,155 trades, net of fees, slippage, and funding.
2024-08-15 → 2026-07-05 · net of fees, slippage, and funding · price-only Sharpe 0.91 · these are the default settings, not a hand-picked best case.
At $1,000, this strategy’s worst historical dip was about $395. Free account, your own Hyperliquid keys — Keel only trades.
How it works
How it works
ADX measures how strong a trend is, regardless of its direction. This strategy only takes a position in a coin when its 14-period ADX is above 25 — the level that certifies a genuine trend with follow-through is running — and then goes long if the 10-period EMA is above the 30-period, cash otherwise. It runs every 4 hours across the top-15 Hyperliquid perpetuals, equal-weighted at 1x gross. The strength gate is the point: below it, crypto's constant chop turns any direction signal into noise, so the strategy simply stands aside.
When it works best
It profits during clean, sustained trends — stretches where a coin is genuinely moving and the EMA cross rides the leg. Filtering entries through the strength gate keeps the strategy out of the low-conviction ranges where fast crossovers would churn.
When it struggles
Whipsaws hurt most: when ADX flickers around the 25 line, entries and exits cluster and each round-trip costs. It is long/flat only, so it captures none of the downside — in a prolonged bear it holds cash rather than profiting. Over the window it drew down 39.6% at its worst across 1,155 trades, placing it in the medium-high risk band.
How it’s built
The exact strategy behind this backtest — no black box. Switch to code to see or copy the full definition.
Configuration
Factories
Globals(target_timeframe="4h")Universe(mode="top_volume", top_n=15, market="perp", resolved=[], resolved_at="")Execution( rebalance="buffered", buffer_threshold=0.2, buffer_mode="relative", rebalance_method="to_edge",)ema_cross = Pipeline([ { "fast": [EWMA(window=10)], "slow": [EWMA(window=30)], }, Crossover(fast_key="fast", slow_key="slow"),], name="ema_cross")Pipeline([ PriceDataLoader(timeframe="15min"), TargetTimeframeResampler(), { "trend_strong": [ADX(period=14), AboveThresholdFilter(threshold=25.0)], "trend_up": [ema_cross, AboveThresholdFilter(threshold=0.0)], }, MaskAnd(), EqualWeightSizer(target_leverage=1.0, max_weight=0.2),], name="adx_trend_crypto")Explore the settings
precomputed · updates instantlyAdjust a setting to see the exact backtested result — including the ones that lost money.
At $1,000, these settings' worst historical dip was about $395. You land in the editor with this exact setup. Free account, your own keys.
Compare all 1 settings
| Settings | Sharpe | Return | Worst DD | Trades |
|---|---|---|---|---|
| default | 0.82 | 65.4% | −39.5% | 1,155 |
The data
Monthly returns
| Month | Return |
|---|---|
| 2024-08 | -6.5% |
| 2024-09 | +5.4% |
| 2024-10 | -7.8% |
| 2024-11 | +66.6% |
| 2024-12 | -3.6% |
| 2025-01 | -0.7% |
| 2025-02 | -5.6% |
| 2025-03 | -21.4% |
| 2025-04 | +10.5% |
| 2025-05 | +11.2% |
| 2025-06 | -9.6% |
| 2025-07 | +7.0% |
| 2025-08 | +4.0% |
| 2025-09 | +1.7% |
| 2025-10 | +12.7% |
| 2025-11 | -14.0% |
| 2025-12 | -0.4% |
| 2026-01 | +14.4% |
| 2026-02 | -4.0% |
| 2026-03 | -1.6% |
| 2026-04 | +0.0% |
| 2026-05 | +17.7% |
| 2026-06 | -7.3% |
| 2026-07 | +7.6% |
Which assets it traded
| Share of return | Avg allocation | Days held | % of time held | Asset |
|---|---|---|---|---|
| 33.31 | 0.1679 | 879 | 21.26 | VVV |
| 24.84 | 0.1675 | 522 | 12.63 | ZEC |
| 23 | 0.1564 | 881 | 21.31 | XRP |
| 13.6 | 0.1441 | 793 | 19.18 | kPEPE |
| 9.17 | 0.1537 | 268 | 6.48 | LIT |
| 7.26 | 0.1471 | 821 | 19.86 | DOGE |
| 7.18 | 0.164 | 796 | 19.25 | HYPE |
| 6.58 | 0.1528 | 546 | 13.21 | PUMP |
| 0.64 | 0.1519 | 892 | 21.58 | SUI |
| 0 | null | 0 | 0 | GRAM |
| -1.56 | 0.154 | 984 | 23.8 | BTC |
| -3.77 | 0.1493 | 862 | 20.85 | ETH |
| -4.44 | 0.1525 | 857 | 20.73 | LINK |
| -8.1 | 0.1639 | 493 | 11.93 | XPL |
| -11.42 | 0.1502 | 947 | 22.91 | SOL |
How it did in rising vs falling markets
| Market | Days | Return | Sharpe |
|---|---|---|---|
| Rising markets | 1588 | +24.0% | 0.82 |
| Falling markets | 2521 | +34.0% | 0.85 |
What this is: a historical backtest on real Hyperliquid market data, net of fees, slippage, and funding. Its worst historical drawdown was 39.5% — expect drawdowns of that order or worse. Past performance does not predict future results, and this is not investment advice. Size your account so a full drawdown is survivable.