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)

New! Cloud or OSS?

InfluxDB OSS 2.0 now generally available!

InfluxDB OSS 2.0 is now generally available and ready for production use. See the InfluxDB OSS 2.0 release notes.

For information about upgrading to InfluxDB OSS 2.0, see: