# tripleExponentialDerivative() function

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

``````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.

## Parameters

### n

(Required) Number of points to use in the calculation.

### tables

Input data. Default is piped-forward data (`<-`).

## Examples

The following example uses data provided by the `sampledata` package to show how `tripleExponentialDerivative()` transforms data.

#### Calculate a two point triple exponential derivative

``````import "sampledata"

sampledata.float()
|> tripleExponentialDerivative(n: 2)
``````

View input and output