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 stagesoptInVFactor— 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