Concept

Reflex/Trendflex

Reflex/Trendflex is a Momentum & Oscillators concept.

Ehlers

What are Reflex and Trendflex?

Reflex and Trendflex are a pair of oscillators John Ehlers published in 2020, designed to reduce the lag that plagues conventional smoothed momentum tools. Both begin by running price through Ehlers' SuperSmoother filter to strip high-frequency noise, then measure how the filtered series deviates from a simple reference drawn across the lookback window. The difference between the two is the reference: Reflex compares the filter to a straight line connecting the current value with the value a full lookback ago, which subtracts the trend and leaves cycle swings; Trendflex compares the filter to the average of its own past values, which keeps the trend component in the reading.

The result of each comparison is averaged across the window and then normalized by a running root-mean-square of itself, so both oscillators hover in a roughly consistent band, typically within about plus or minus 2, regardless of the instrument's price scale. That self-normalization is what makes thresholds portable across markets without an overbought and oversold calibration step.

Traders care because the pair splits a job most single oscillators blur: Reflex is the cycle instrument, suited to timing swings inside a range, while Trendflex is the trend instrument, suited to regime reading. Ehlers presented them as lower-lag alternatives rather than lag-free ones: the SuperSmoother and the windowed averaging still cost bars, and the normalization can rescale readings abruptly after volatility shifts.

How it's calculated

Both oscillators filter price, average deviations from a reference across the window, and self-normalize. The standard form follows Ehlers' published version.

Filt = SuperSmoother(close, n/2)
slope = (Filt[n] - Filt) / n
reflex_raw = (1/n) * sum over i from 1 to n of (Filt + i * slope - Filt[i])
trendflex_raw = (1/n) * sum over i from 1 to n of (Filt - Filt[i])
ms = 0.04 * raw^2 + 0.96 * ms_prev
output = raw / sqrt(ms)
n: lookback period (default 20)
Filt[i]: the filtered value i bars ago
slope: per-bar change of the straight line spanning the window
ms: exponentially averaged mean square used for normalization
raw: reflex_raw or trendflex_raw, each normalized by its own ms

The straight-line subtraction is what detrends Reflex; Trendflex omits it, so trend persistence shows up as sustained one-sided readings.

How traders use it

  • Reflex as a swing timer: zero crossings and turns are read as cycle inflections, most useful in sideways or gently trending conditions where a cycle actually exists to time.
  • Trendflex as a regime line: sustained readings above or below zero indicate trend persistence, and some traders gate Reflex signals by Trendflex's sign so cycle entries only fire with the trend.
  • As a lower-lag substitute for conventional oscillators in systematic rules, where Ehlers' filtering tends to produce smoother lines than an equivalent-period ROC with fewer false wiggles, at the cost of a more complex calculation.
  • For divergence reading against price extremes, with the usual discipline that a divergence is a warning rather than a signal.
  • With eyes open to failure modes: in strong trends Reflex's detrending forces it to oscillate anyway, generating counter-trend crosses, and after volatility regime shifts the RMS normalization takes time to re-adapt.

Reflex/Trendflex vs other Ehlers tools

Cyber Cycle: The Cyber Cycle is an earlier Ehlers cycle extractor built from a high-pass and smoothing chain. Reflex reaches a similar goal by geometric subtraction of the window's slope, and its RMS normalization gives it a steadier scale.

Even Better Sinewave: The Even Better Sinewave models the dominant cycle explicitly and outputs a wave-shaped indicator. Reflex makes no cycle-period estimate; it just measures deviation from a straight line, which is simpler and less dependent on the cycle estimate being right.

Roofing filter: The roofing filter is a preprocessing band-pass, not a signal line. Reflex and Trendflex are finished oscillators; some practitioners still roof the input first, which changes their character noticeably.

Concept family

Momentum & Oscillators

91 concepts mapped · 91 in the Library

Reflex/Trendflex FAQ

What is the difference between Reflex and Trendflex?

The reference each deviates from. Reflex subtracts the straight-line trend across the window, so it isolates cycle swings; Trendflex subtracts the average of past filtered values, so trend persistence remains in the reading. In practice Reflex times swings and Trendflex reads regime.

Are Reflex and Trendflex zero-lag indicators?

No, and Ehlers did not claim literal zero lag. The SuperSmoother, the windowed sums, and the normalization all cost time; the pair aims for less lag than comparably smooth conventional oscillators, which is a weaker and more honest claim.

What settings do Reflex and Trendflex use?

A single lookback, 20 by default, with the SuperSmoother run at half that period and the normalization constant fixed at 0.04. Shortening the lookback speeds the response and raises the false-cross count roughly in proportion.

Which markets suit Reflex best?

Ones actually exhibiting cyclic swings: ranges and channel drifts. In persistent trends the detrended Reflex oscillates against the move by construction, so most users switch weight to Trendflex or a trend tool in those regimes.

Build Reflex/Trendflex your way.

Quant writes, tests, and refines it with you — then it runs on LuxAlgo charting or ports to TradingView.