Reactivity weights momentum by an aspect ratio, range per unit of volume, so a big move on thin volume scores high. Powerful for trading cycles, but it multiplies two noisy parts, so normalize both halves or it lies.
The SMA is the optimal least-squares fit of a flat line to the window: the intercept is the average. But that assumes the market is constant plus noise, so it lags trends and erases matched cycles.
Short-term movement minus a long-term baseline, normalized by ATR, reads volatility expansion against contraction. But normalize too hard and you delete the very regime signal you wanted: the stationarity-vs-information trade-off, with a dial.
Sample once per bar and the fastest cycle you can see is 2 bars (Nyquist). Anything faster aliases: it folds down and masquerades as a slow cycle that was never there, and no filter can unmask it.
Fit a trend, project it one bar forward, and subtract it from the actual close. A small gap means the trend holds; a big one means it just broke. A regime-break kill switch, built on log prices and ATR, not raw price.
EMA, low-pass, high-pass, band-pass, band-stop are one second-order equation with different coefficients, built from the period via alpha. One engine and a recipe table, not a drawer of indicators.
Aroon ignores price size and measures time: how long since the last new high or low. The Up-minus-Down difference is a bounded, stationary, cross-instrument oscillator for free, but it reads timing, not magnitude.
Every indicator is one of two families: non-recursive (FIR: inputs only, stable, lag = degree/2) or recursive (IIR: eats its own output, cheap, sharp, can ring). The family predicts the failures.
The ADX is not a price indicator, it is a ratio of ATR-normalized range expansions with two hidden smoothing stages. Build it right and you get a stationary trend-strength filter, but respect the lag: it stays high after sharp trends die.
Design an indicator by stating the phase (lag) you want, then solving for the filter. Causality couples magnitude to phase, so you move lag around the spectrum but never delete it. Zero-lag, buried.
Most indicators keep the close and toss the rest of the bar. Price intensity reads open-to-close travel against the true range, a pure intrabar conviction gauge, and the volume-free version is a clean mean-reversion feature once smoothed and normalized.
Momentum is price now minus price N-1 bars ago, a high-pass filter: it kills the trend, peaks on a passband set by N, goes blind at nulls, and lags by (N-1)*omega/2. Not a strength gauge.