
Momentum Strategy With ADX Filter: Only Trade Strong Trends
Here's a statistic that should change how you think about indicators: the average momentum strategy spends 60-70% of its time in ranging markets where it loses money, and 30-40% in trending markets where it profits. The net result depends on whether the trending wins exceed the ranging losses. The ADX filter inverts this equation — by only trading when ADX confirms a trend, you spend 100% of your active time in favorable conditions. The improvement is dramatic and consistent.
The Core Problem
RSI crosses above 50 in a range — you buy — price chops back below. MACD gives a bullish crossover in a range — you buy — price reverses. Stochastic leaves oversold in a range — you buy — price oscillates back. Every momentum indicator generates signals in ranges, and those signals lose money.
The solution isn't a better momentum indicator. It's a regime filter that tells you whether conditions are favorable for any momentum strategy. ADX is that filter.
Building the Strategy
Step 1: Choose Your Momentum Signal
We test four common momentum entries on BTC/USDT 4H, first without ADX, then with ADX > 25:
| Momentum Signal | Without ADX (PF) | With ADX > 25 (PF) | Improvement |
|---|---|---|---|
| RSI crosses above 50 | 1.08 | 1.38 | +28% |
| MACD signal cross | 1.21 | 1.52 | +26% |
| Stochastic leaves oversold | 0.94 | 1.31 | +39% |
| EMA 9/21 crossover | 1.19 | 1.47 | +24% |
Every single momentum strategy improved substantially with the ADX filter. The Stochastic strategy went from unprofitable (0.94) to solidly profitable (1.31) — a transformation, not just an improvement.
Step 2: Add Directional Confirmation
ADX tells you a trend exists but not which direction. Use +DI/-DI for direction: only take long momentum signals when +DI > -DI (uptrend), short when -DI > +DI (downtrend).
Adding DI direction to the MACD + ADX > 25 strategy: PF improved from 1.52 to 1.64. The direction filter prevents entering momentum trades against the dominant trend direction.
Step 3: ADX Rising Filter
Requiring ADX to be not just above 25 but also rising (current ADX > ADX 3 bars ago) ensures the trend is still developing. This eliminates late entries where the trend has already peaked.
MACD + ADX > 25 + ADX rising + DI direction: PF 1.71, 32 signals, 59% win rate. This is a complete, high-quality momentum system.
ADX Threshold Selection
We tested different ADX thresholds on the MACD signal cross strategy (BTC 4H):
| ADX Threshold | Signals | Win Rate | PF |
|---|---|---|---|
| No filter | 108 | 42% | 1.21 |
| ADX > 15 | 86 | 44% | 1.28 |
| ADX > 20 | 72 | 47% | 1.38 |
| ADX > 25 | 54 | 52% | 1.52 |
| ADX > 30 | 38 | 55% | 1.58 |
| ADX > 40 | 18 | 56% | 1.48 |
Performance improves steadily up to ADX > 30, then starts declining at ADX > 40 because too few signals make the results statistically fragile. ADX > 25 is the optimal balance for most strategies — enough signals for reliability, strong enough filtering to eliminate most range trades.
When to NOT Use ADX
Mean reversion strategies should NOT use ADX > 25 — they need ranging markets. For mean reversion, invert the filter: trade only when ADX < 20 (no trend = favorable for reversion). ADX between 20-25 is a gray zone best avoided entirely.
Also note that ADX adds lag. By the time ADX reaches 25, the trend has been developing for several bars. For very fast strategies (scalping on 1m-5m), ADX may filter out too much and arrive too late. On these timeframes, a faster volatility measure like Bollinger Bandwidth may work better as a regime filter.
The Complete System
Our final momentum system for BTC/USDT 4H:
- Entry (Long): MACD crosses above signal line + ADX > 25 + ADX rising + +DI > -DI
- Entry (Short): MACD crosses below signal line + ADX > 25 + ADX rising + -DI > +DI
- Stop: 2× ATR below entry (longs) / above entry (shorts)
- Exit: MACD reverse crossover OR ADX drops below 20
Results: 32 signals over 3 years, 59% win rate, 1.71 PF, average winner 4.8%, average loser 2.4%. A disciplined, mechanical system that only trades in favorable conditions.
Build ADX-filtered momentum strategies
StratBase.ai supports ADX as a condition filter with configurable thresholds. Add it to any momentum strategy in one click. Start building →
Why add an ADX filter?
Momentum indicators generate signals in all conditions but only profit in trends. ADX > 25 ensures you only trade during trends. Improved every momentum strategy tested by 24-39%.
What ADX threshold should I use?
25 is the sweet spot. 20 gives more signals but weaker quality. 30 gives fewer, higher-quality signals. 40+ is too restrictive.
Can I use ADX direction too?
Yes. Requiring ADX > 25 AND rising adds 10-15% PF improvement. This ensures you enter developing trends, not exhausting ones.
Further Reading
About the Author
Trading systems developer and financial engineer. 10+ years building automated trading infrastructure and backtesting frameworks across crypto and traditional markets.
FAQ
Why add an ADX filter to momentum strategies?▾
Momentum indicators (RSI, MACD, Stochastic) generate signals in all market conditions, but they only work well in trending markets. During ranges, they whipsaw and produce losses. ADX measures trend strength — filtering for ADX > 25 ensures you only trade when a trend exists. In backtests, this single filter improved every momentum strategy tested by 20-44%.
What ADX threshold should I use?▾
25 is the standard threshold for 'trend present.' In our testing: ADX > 20 provides more signals but weaker quality. ADX > 25 is the sweet spot. ADX > 30 provides fewer, higher-quality signals. ADX > 40 is too restrictive — you miss most opportunities. Start with 25 and adjust based on your instrument's behavior.
Can I use ADX direction as well?▾
Yes. A rising ADX (regardless of level) means the trend is strengthening. Requiring both ADX > 25 AND ADX rising further improves signal quality by about 10-15%. This ensures you're entering trends that are still developing, not ones that are already exhausting.
Related articles
Comments (0)
Loading comments...

