> If ADX is the speedometer, ADXR is the cruise control setting. It smooths out the acceleration to tell you if the trend has staying power.
The Average Directional Movement Rating (ADXR) is a smoothed version of the ADX. It dampens the volatility of the ADX itself, providing a more stable—albeit significantly more lagging—measure of trend strength. It is primarily used to rate the efficacy of trend-following strategies before capital is committed.
J. Welles Wilder Jr. introduced ADXR alongside ADX in *New Concepts in Technical Trading Systems* (1978). His goal was simple: ADX can be erratic. By averaging the current ADX with a past ADX, he created a metric that ignores short-term fluctuations in trend strength.
It is effectively a "momentum of momentum" indicator, smoothed to the point of geological stability.
## Architecture & Physics
ADXR is a composite indicator. It does not interact with price directly; it interacts with the output of the ADX.
1.**Dependency**: It instantiates and maintains a full `Adx` indicator internally.
2.**History**: It maintains a circular buffer of historical ADX values.
3.**Averaging**: It computes the arithmetic mean of the current ADX and the ADX from `Period - 1` bars ago.
### The Lag Trade-off
ADXR is intentionally slow.
- **ADX** lags price because of its multiple smoothing layers.
- **ADXR** lags ADX because it averages the current value with a value from the distant past.
This double lag makes ADXR useless for entry timing. Its only valid architectural purpose is **regime filtering**: determining *if* a trend-following system should be active, not *when* it should trade.
## Mathematical Foundation
The formula is deceptively simple, but relies on the complex ADX calculation underneath.
The implementation uses a circular buffer (`RingBuffer`) to store historical ADX values, ensuring O(1) access and zero heap allocations during the update cycle.