Concept

T3

T3, also known as Tillson T3, T3 moving average, is a Trend concept. The Library holds 1 implementation, a working definition you can pull into Quant.

Tillson

Top T3 indicator

The top custom implementation, built on the original standard T3 formula.

1 total

From studying T3 to trading it: take the implementation below into Quant and backtest it instantly.

What is T3?

T3 is a smoothing technique introduced by Tim Tillson in "Smoothing Techniques For More Accurate Signals" (Technical Analysis of Stocks & Commodities, January 1998). Its building block, which Tillson called generalized DEMA (GD), starts from an EMA and adds back a fraction v of the difference between that EMA and the EMA of the EMA: GD(x) = (1 + v) × EMA(x) - v × EMA(EMA(x)). The fraction v is the volume factor, a number between 0 and 1 with no connection to traded volume. T3 applies GD three times in a row: T3 = GD(GD(GD(price))).

The volume factor sets the temperament. At v = 0 the construction collapses into a triple-cascaded EMA, maximally smooth and maximally laggy; at v = 1 every stage becomes a full DEMA, fast but overshoot-prone; Tillson's suggested 0.7 sits between, and most implementations keep it as the default. The result is one of the smoothest curves in the moving-average lineage relative to its lag, with mild overshoot at turns. Internally the three stages expand into a cascade of six EMAs whose last four are combined with fixed coefficients that depend only on v, which is how most platforms compute it.

The overshoot is the one way T3 behaves unlike a classic average, a byproduct of lag correction. Each GD stage adds back an estimate of what smoothing removed, which amounts to projecting the recent slope slightly forward; at a sharp V-turn that projection points the wrong way for a few bars, carrying the curve briefly beyond price. A simple or plain exponential average can never do that, since it always stays within the range of its inputs. Tillson's stated goal, maximum smoothness for minimum lag, puts T3 in the same conversation as signal-processing designs like the Ehlers SuperSmoother, reached through EMA algebra rather than filter theory.

T3 is also a general-purpose smoother rather than strictly a price overlay: Tillson presented it as a substitute for the moving averages inside other indicators, and implementations are routinely applied to oscillators and volume as well as price. Nearly three decades on it remains a standard option on charting platforms, standalone, in multi-timeframe variants, and as the smoothing engine inside composite tools.

How to calculate T3

T3 takes a length N, used by every EMA stage, and a volume factor v, commonly 0.7.

  1. 1Define the building block: GD(x) = (1 + v) × EMA(x) - v × EMA(EMA(x)), with both EMAs of length N.
  2. 2Apply it three times: T3 = GD(GD(GD(price))). Expanded, that requires six cascaded EMAs, with the last four combined using fixed coefficients determined by v.
  3. 3Tune v for temperament: toward 0 for maximum smoothness with triple-EMA lag, toward 1 for DEMA-like speed with overshoot; 0.7 is the standard compromise.

How it's calculated

A heavily smoothed moving average by Tim Tillson that offsets much of the lag its smoothing would otherwise add.

e1,t=EMAn(Pt)e_{1,t} = \operatorname{EMA}_n(P_t)
e2,t=EMAn(e1,t)e_{2,t} = \operatorname{EMA}_n(e_{1,t})
e3,t=EMAn(e2,t)e_{3,t} = \operatorname{EMA}_n(e_{2,t})
e4,t=EMAn(e3,t)e_{4,t} = \operatorname{EMA}_n(e_{3,t})
e5,t=EMAn(e4,t)e_{5,t} = \operatorname{EMA}_n(e_{4,t})
e6,t=EMAn(e5,t)e_{6,t} = \operatorname{EMA}_n(e_{5,t})
c1=a3c_1 = -a^3
c2=3×a2+3×a3c_2 = 3 \times a^2 + 3 \times a^3
c3=6×a23×a3×a3c_3 = -6 \times a^2 - 3 \times a - 3 \times a^3
c4=1+3×a+3×a2+a3c_4 = 1 + 3 \times a + 3 \times a^2 + a^3
T3t=c1×e6,t+c2×e5,t+c3×e4,t+c4×e3,t\operatorname{T3}_t = c_1 \times e_{6,t} + c_2 \times e_{5,t} + c_3 \times e_{4,t} + c_4 \times e_{3,t}
T3_t: T3 moving average at bar t
P_t: source price at bar t, usually the close
EMA_n: exponential moving average with period n
e1_t to e6_t: successively smoothed series, each an EMA_n of the previous one
c1, c2, c3, c4: fixed weights computed from a (they sum to 1)
a: volume factor controlling smoothness versus responsiveness (default 0.7)
n: EMA period (commonly 5)
t: bar index

Defined by Tim Tillson (1998) as the operator GD(x) = (1 + a) × EMA_n(x) - a × EMA_n(EMA_n(x)) applied three times; the lines above are its expansion.

Common defaults are n = 5 with a = 0.7; some platforms ship a = 0.618.

a = 0 reduces T3 to a plain triple EMA chain, while larger a tracks price more closely but can overshoot at turns.

How traders use it

  • As a slope-read trend filter: T3 is smooth enough that its direction changes rarely, so rising versus falling serves as a bias that does not flip on every candle; the cost is a late turn at real reversals.
  • In crossover logic against price or a faster average, where the smooth line produces fewer but later crosses than the equivalent EMA setup.
  • As a smoothing stage for other series: running an oscillator or volume stream through T3 strips noise before signal rules, trading a beat of delay for far fewer flickers.
  • As dynamic support or resistance in sustained trends, where the stable curve gives pullbacks a visible reference; as with any moving average, price is not obliged to respect it.
  • In ribbon form: several T3 lengths plotted together fan out and compress unusually cleanly, so expansion (trending) versus braiding (ranging) can be read at a glance.

T3 vs other moving averages

EMA: An EMA applies one stage of recency weighting and lags in proportion to its length. T3 cascades six EMAs with explicit lag compensation, so at comparable smoothness it turns sooner, at the cost of overshooting sharp reversals, which an EMA never does.

SMA: The SMA is the equal-weight baseline: transparent, predictable lag, no overshoot. At a similar length T3 is dramatically smoother and hugs turns more closely, but its curve is harder to reason about and can briefly run beyond price after a violent reversal.

Ehlers SuperSmoother: Both chase maximum smoothness for minimum lag from different traditions: the SuperSmoother is a two-pole filter from signal-processing theory, T3 an algebraic cascade of EMAs. Their characters differ mainly at fast reversals, so the choice usually comes down to testing.

Adaptive-lookback MA: An adaptive-lookback average changes its effective length bar by bar as conditions shift, while T3's temperament is fixed once N and v are chosen. Adaptive designs chase regime changes automatically; T3 offers consistency, with the same event always producing the same response.

Concept family

Trend

100 concepts mapped · 100 in the Library

T3 FAQ

Turn T3 into a trading strategy.

Take the implementation from this page into Quant, then build on it, backtest it on real data, and keep refining it in conversation.