tripleExponentialDerivative() function

The tripleExponentialDerivative() function calculates a triple exponential derivative (TRIX) of input tables using n points.

Function type: Transformation

tripleExponentialDerivative(n: 5)

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:
    • EMA_3 = EMA(EMA(EMA(data)))
  • If there are not enough values to calculate a triple exponential derivative, the output _value is NaN; 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 does not include null values in the calculation.
    • The function acts only on the _value column.



The number of points to use in the calculation.

Data type: Integer


Calculate a five point triple exponential derivative

from(bucket: "example-bucket"):
  |> range(start: -12h)
  |> tripleExponentialDerivative(n: 5)

Select your region

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.