3.1 KiB
| title | description | menu | weight | flux/v0/tags | introduced | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| tripleExponentialDerivative() function | `tripleExponentialDerivative()` returns the triple exponential derivative (TRIX) values using `n` points. |
|
101 |
|
0.40.0 |
tripleExponentialDerivative() returns the triple exponential derivative (TRIX)
values using n points.
Triple exponential derivative, commonly referred to as “TRIX,”
is a momentum indicator and oscillator. A triple exponential derivative uses
the natural logarithm (log) of input data to calculate a triple exponential
moving average over the period of time. The calculation prevents cycles
shorter than the defined period from being considered by the indicator.
tripleExponentialDerivative() uses the time between n points to define
the period.
Triple exponential derivative oscillates around a zero line. A positive momentum oscillator value indicates an overbought market; a negative value indicates an oversold market. A positive momentum indicator value indicates increasing momentum; a negative value indicates decreasing momentum.
Triple exponential moving average rules
- A triple exponential derivative is defined as:
TRIX[i] = ((EMA3[i] / EMA3[i - 1]) - 1) * 100EMA3 = EMA(EMA(EMA(data)))
- If there are not enough values to calculate a triple exponential derivative,
the output
_valueisNaN; all other columns are the same as the last record of the input table. - The function behaves the same way as the
exponentialMovingAverage()function:- The function ignores
nullvalues. - The function operates only on the
_valuecolumn.
- The function ignores
Function type signature
(<-tables: stream[{A with _value: B}], n: int) => stream[{A with _value: float}] where A: Record, B: Numeric
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
Parameters
n
({{< req >}}) Number of points to use in the calculation.
tables
Input data. Default is piped-forward data (<-).
Examples
Calculate a two-point triple exponential derivative
import "sampledata"
sampledata.float()
|> tripleExponentialDerivative(n: 2)