Most momentum oscillators smooth price once — a single moving average, or a spread between two of them, as with MACD. TRIX (Triple Exponential Average) goes a step further: it smooths price with an EMA, then smooths that EMA with another EMA, then smooths that with a third EMA, and only then measures the percentage rate of change of the final, triple-smoothed result. The extra smoothing stages exist for one specific reason — to strip out the short-term, single-bar noise that a plain moving average still lets through, leaving an oscillator that reacts mainly to genuine, sustained shifts in price direction.
How TRIX Is Calculated
The calculation runs in two stages. First, price is smoothed three times in a row:
- EMA1 = an Exponential Moving Average of Close over
TrixPeriodbars (default 14). - EMA2 = an EMA of EMA1 over the same period.
- EMA3 = an EMA of EMA2 over the same period — the triple-smoothed line.
Second, TRIX itself is the percentage rate of change of EMA3 from one bar to the next: (EMA3 today − EMA3 yesterday) / EMA3 yesterday × 100. That last step is what turns a smoothed price line into an oscillator that swings above and below a zero line, rather than a moving average that just tracks price. A Signal line — a simple moving average of TRIX itself, default period 9 — is plotted alongside it, giving TRIX a second, faster reference to cross for an earlier entry than waiting on the zero line alone. There's no built-in TRIX function in either MetaTrader 4 or MetaTrader 5, so trix-alert.mq4/.mq5 calculate the full three-stage EMA cascade internally rather than wrapping a platform indicator call.
Entry Conditions
The signal is a direct crossover between TRIX and its signal line: when TRIX crosses above the signal line, momentum in the triple-smoothed trend has turned up, read as a bullish signal; when TRIX crosses below it, the mirrored bearish signal applies. The alert logic in trix-alert.mq4/.mq5 checks the two most recently closed bars for exactly this cross. TRIX crossing its own zero line is a second, slower reference worth watching alongside the signal-line cross — a signal-line cross that happens on the same side of zero as the recent trend carries more weight than one that fires while TRIX is still fighting to get off zero in the first place.
TRIX vs MACD and OsMA
TRIX, MACD, and OsMA all belong to the same family of EMA-derived, signal-line-crossing oscillators, and it's worth being precise about what separates them. MACD is the difference between a fast and a slow EMA (12 and 26 by default), smoothed once each — a single layer of EMA smoothing on either side of the subtraction. OsMA takes that one step further by plotting the distance between the MACD line and its own signal line as a histogram, but the underlying EMAs are still only smoothed once. TRIX instead applies the same EMA smoothing three times in a row to a single price series before ever measuring a rate of change, which filters out considerably more short-term noise than MACD's single-pass EMAs do. The practical trade-off is lag: TRIX's crossovers trigger later than MACD's or OsMA's for the same underlying move, in exchange for far fewer whipsaw signals during choppy, directionless conditions. Traders who find MACD or OsMA too noisy on a given pair or timeframe often find TRIX's extra smoothing produces a cleaner, more reliable, if slower, read on the same underlying momentum.
Parameters
- TrixPeriod (default 14) — the period used for all three EMA smoothing stages. A shorter period (8-10) reacts faster to genuine momentum shifts but lets more noise through the triple-smoothing process; a longer period (20-25) filters more aggressively at the cost of even more lag before a crossover fires.
- SignalPeriod (default 9) — the simple moving average period applied to TRIX itself to produce the signal line. A shorter signal period crosses TRIX more often and earlier; a longer one waits for a more decisive move before confirming.
- EnableAlert / EnablePush — toggle the on-screen popup alert and mobile push notification independently when a new TRIX/Signal crossover occurs.
How Traders Combine TRIX with Other Tools
Because TRIX's triple smoothing trades speed for noise reduction, it pairs naturally with faster tools rather than replacing them outright. Some traders use a faster oscillator like Momentum or MACD for early entry timing, then use TRIX's slower, cleaner crossover as a confirming filter before actually acting on that earlier signal — a trade only goes ahead once the noisier, faster signal is backed up by TRIX agreeing on the underlying direction. TRIX also works well as one leg of a Divergence Trading setup: because it's already heavily smoothed, a divergence between price and TRIX tends to be a cleaner, less ambiguous read than the same divergence on a noisier oscillator, since fewer of TRIX's swing highs and lows are just short-term smoothing artifacts. Checking Trend vs Range market structure before acting on any TRIX crossover remains a sound habit here too, exactly as it is with faster momentum tools.
A Word of Caution
TRIX's core strength — heavy smoothing — is also exactly what limits it. The same triple-EMA cascade that filters out noise also means TRIX consistently lags price by more than most other momentum oscillators on this site, so a TRIX/Signal crossover confirms a shift well after it has already begun, sometimes well after a large part of the move is already over. In a market that reverses quickly and repeatedly, TRIX's lag can mean missing the move entirely between one confirmed crossover and the next. It's also still an oscillator built from historical price, not a predictive tool — a crossover shows that momentum has already turned, it cannot show in advance that the new direction will hold. Treating TRIX as a slow, confirming filter alongside faster tools, rather than a standalone timing signal, is the way to use its smoothing as a strength instead of running into its lag as a weakness.
Download the Indicator
This custom indicator plots TRIX and its signal line in a separate window and alerts on a crossover. The download section below has versions for MT4 and MT5.