pub struct T3 { /* private fields */ }Expand description
Tillson T3: a weighted combination of six chained exponential averages.
With e1 .. e6 the successive Ema(period) stages over the close and the volume factor v:
c1 = -v^3
c2 = 3*v^2 + 3*v^3
c3 = -6*v^2 - 3*v - 3*v^3
c4 = 1 + 3*v + v^3 + 3*v^2
T3 = c1*e6 + c2*e5 + c3*e4 + c4*e3v is a shape parameter in 0..=1, not market volume — the name is historical. At v = 0
every coefficient but c4 vanishes and T3 is exactly the third EMA; larger v adds the
higher stages with alternating signs, which reduces lag at the price of overshoot. That
overshoot is left in the output: clipping it away would hide what the parameter does.
This is neither TEMA nor a plain triple EMA — both combine fewer stages with different weights.
Output: value in the price units of the series.
First output: with the period-th bar, so every stage has consumed at least period inputs.
All stages use the shared Ema with its first-sample seed, so no stage is ever fed a
substituted value. Indicator::reset clears all six averages and the counter, so the next
series starts deterministically.
Implementations§
Trait Implementations§
Source§impl Indicator for T3
impl Indicator for T3
fn name(&self) -> &str
fn warmup_period(&self) -> usize
fn on_bar(&mut self, bar: &Bar) -> Option<IndicatorOutput>
fn reset(&mut self)
Source§fn on_checked_bar(
&mut self,
bar: &Bar,
) -> Result<Option<IndicatorOutput>, BarValidationError>
fn on_checked_bar( &mut self, bar: &Bar, ) -> Result<Option<IndicatorOutput>, BarValidationError>
Indicator::on_bar.