Ehlers Triangle Moving Average
Feb 11, 2022

The Ehlers Triangle Moving Average indicator provides a smoothed trend-following filter by applying a triangular weighting distribution to price data to help identify momentum shifts and trend direction.
Usage
The Ehlers Triangle Moving Average is primarily used to identify trend direction and momentum strength through its color-coded output. Traders can interpret the indicator as follows:
- Bullish Trend: When the plot is green, the market is in a bullish state. A dark green line indicates a "Strong Buy" signal, suggesting price momentum is increasing significantly above the average. A light green line indicates a standard bullish signal.
- Bearish Trend: When the plot is red, the market is in a bearish state. A dark red line indicates a "Strong Sell" signal, suggesting price momentum is accelerating below the average. A light red line indicates a standard bearish signal.
- Bar Coloring: If enabled, the price bars on the chart will match the color of the indicator, providing a clear visual representation of the current trend state.
Traders often use the transition from red to green as a long entry trigger and the transition from green to red as a short entry or exit signal.
Details
The script is based on the windowing concepts developed by John Ehlers. Unlike a Simple Moving Average (SMA) which applies equal weight to all prices in a period, or an Exponential Moving Average (EMA) which focuses on recent data, the Triangle Moving Average uses a custom weighting system.
The calculation determines the weight of each price point based on its position within the lookback length. It creates a triangular distribution where prices toward the middle of the period are given specific weights, resulting in a smoother output that filters out market noise while remaining responsive to price action. The signal logic is derived from the difference between the current source price and the calculated filter value; if the price is expanding rapidly away from the filter, a "strong" signal (represented by darker colors) is triggered.
Settings
- Source: The specific price data used for the calculation (e.g., Close, HLCC4).
- Resolution: Allows the indicator to be calculated on a different timeframe than the current chart.
- Allow Repainting: Determines if the indicator uses data from the current candle or waits for the candle to close to prevent repainting.
- Allow Bar Color Change: Toggles the ability for the indicator to change the color of the price bars on the chart.
- Length: The lookback period used for the triangular weighting calculation. Higher values result in more smoothing but more lag.
FAQ
What is the difference between the strong and normal signals?
Strong signals (darker colors) occur when the distance between the price and the moving average is increasing in the direction of the trend, indicating higher momentum. Normal signals (lighter colors) indicate the trend is maintained but with less acceleration.
How does the weighting differ from a standard SMA?
A standard SMA applies equal weight to all bars. The Ehlers Triangle Moving Average uses a triangular weight distribution, giving different importance to prices based on their position in the lookback window to reduce noise.
How do I access this indicator?
You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.
Unlock Unlimited Access to the LuxAlgo Library
Upgrade your plan to get all indicators, strategies, charts, and full access to Quant, our AI agent.
Trading & investing are risky and many will lose money in connection with trading and investing activities. All content on this site is not intended to, and should not be, construed as financial advice. Decisions to buy, sell, hold or trade in securities, commodities and other investments involve risk and are best made based on the advice of qualified financial professionals. Past performance does not guarantee future results.
Hypothetical or Simulated performance results have certain limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not been executed, the results may have under-or-over compensated for the impact, if any, of certain market factors, including, but not limited to, lack of liquidity. Simulated trading programs in general are designed with the benefit of hindsight, and are based on historical information. No representation is being made that any account will or is likely to achieve profit or losses similar to those shown.
Testimonials appearing on this website may not be representative of other clients or customers and is not a guarantee of future performance or success.
As a provider of technical analysis tools and strategies, we do not have access to the personal trading accounts or brokerage statements of our customers. As a result, we have no reason to believe our customers perform better or worse than traders as a whole based on any content, tool, or platform feature we provide.
Charts used on this site are by TradingView in which the majority of our technical indicators are built on. TradingView® is a registered trademark of TradingView, Inc. www.TradingView.com TradingView® has no affiliation with the owner, developer, or provider of the Services described herein.
Market data is provided by CBOE, CME Group, BarChart, Massive, CoinAPI. Select U.S. equities data is provided through Massive. CBOE BZX real-time U.S. equities data is licensed from CBOE and provided through BarChart. Real-time futures data is licensed from CME Group and provided through BarChart. Select cryptocurrency data, including major coins, is provided through CoinAPI. All data is provided “as is” and should be verified independently for trading purposes.
This does not represent our full Disclaimer. Please read our full disclaimer.
© 2026 LuxAlgo Global, LLC.

