Strategy briefing

Understand what this strategy is actually betting on before you touch the parameter panel.

01
Start with the intuition
02
Use category and difficulty as context
03
Compare before optimizing
01
Map the strategy to a regime thesis
02
Read the math as a constraint system
03
Use parameters to test fragility, not creativity
Learning linkup

Read the model brief like a skeptic

Open Learning Hub

Pro Access

ADX Trend Strength is part of the expanded Pro strategy library. The guide stays public, but running it in backtest, compare, paper tracking, and source-code view is a Pro capability. Pro currently unlocks 8 additional pre-built strategies.

The Intuition

ADX was designed by J. Welles Wilder to answer a different question from most indicators: not "which way is price moving?" but "is the move strong enough to trust?" That distinction matters because many trend rules fail not on direction, but on entering when the market is still choppy.

This version combines ADX with directional movement. +DI above -DI says buyers currently dominate the directional range expansion. -DI above +DI says sellers dominate. ADX above a threshold says that dominance is no longer trivial noise. The strategy only takes exposure when both conditions line up.

The core assumption is that strong trends persist longer than weak ones. ADX is useful because it filters out many low-conviction crossover signals that appear inside sideways markets. In practice, traders often use the 20-25 region as the boundary between "possible drift" and "meaningful trend."

The main failure mode is late entry. ADX rises after the move has already started, so the filter improves signal quality by sacrificing reactivity. It also struggles in sudden reversals, where the market flips direction faster than the smoothed strength estimate can adjust.

The Math

Read this as a compact model summary: what the signal sees, what it ignores, and where fragility can creep in.

+DM(t) = max(High(t) - High(t-1), 0) if it dominates -DM
-DM(t) = max(Low(t-1) - Low(t), 0)  if it dominates +DM
TR(t)  = max(High-Low, |High-Prev_Close|, |Low-Prev_Close|)

+DI(t) = 100 × WilderMean(+DM, n) / WilderMean(TR, n)
-DI(t) = 100 × WilderMean(-DM, n) / WilderMean(TR, n)
DX(t)  = 100 × |+DI(t) - -DI(t)| / (+DI(t) + -DI(t))
ADX(t) = WilderMean(DX, n)

Signal(t) = +1  if ADX(t) ≥ threshold AND +DI(t) > -DI(t)
          = -1  if ADX(t) ≥ threshold AND -DI(t) > +DI(t)
          =  0  otherwise

Parameters

ParameterTypeDefaultDescription
window int 14 ADX lookback window
adx_threshold float 25.0 Minimum ADX needed to activate a trend trade

Source Code

Source access for this built-in strategy is included with Pro.

Further Reading

  • Wilder, J.W. (1978). New Concepts in Technical Trading Systems. Trend Research.
  • Kaufman, P. (2013). Trading Systems and Methods, 5th ed. Wiley.
  • Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies. Wiley.
Unlock This Strategy →

Related Momentum Strategies

Use nearby strategies to compare the same market hypothesis under different signal constructions.