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) * 100
EMA3 = EMA(EMA(EMA(data)))
- If there are not enough values to calculate a triple exponential derivative,
the output
_value
isNaN
; 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
null
values. - The function operates only on the
_value
column.
- 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)