Skip to content

T3

Summary

Tillson's T3: a low-lag moving average built from six chained EMAs, combined via volume-factor-weighted coefficients. Not the same as EMA3, despite both being called "triple EMA".

Formula

k = 2/(period+1); e1=EMA(x), e2=EMA(e1), ... e6=EMA(e5) (six chained EMAs). v = vFactor: c1 = -v^3; c2 = 3(v^2 - c1); c3 = -6v^2 - 3(v - c1); c4 = 1 + 3v - c1 + 3v^2. T3 = c1*e6 + c2*e5 + c3*e4 + c4*e3

Notes

  • A period of 1 performs no smoothing: the output is a copy of the input. Allowed since 0.6.5 (issues #48/#59).

Inputs

  • inReal — Source series to smooth

Outputs

  • outReal — T3 smoothed line

Parameters

  • optInTimePeriod — EMA period for each of the six stages
  • optInVFactor — Volume factor weighting the coefficients (0 = plain triple EMA, higher = more DEMA-like sharpening)

Implementation

TA-Lib Definition: t3.c · t3.yaml

Native File
C ta_T3.c
Rust t3.rs
Java Core.java

TA-Lib is also available for Python, R and more using a wrapper.

Aliases

Tillson T3, Triple Exponential Moving Average

See Also

EMA · DEMA · TEMA · MA