HEMA - A Fast And Efficient Estimate Of The Hull Moving Average
Jan 14, 2020

The HEMA - A Fast And Efficient Estimate Of The Hull Moving Average indicator provides a computationally optimized approximation of the traditional Hull Moving Average (HMA) to reduce lag while maintaining smoothness. It leverages a specific linear combination of moving averages to mimic the HMA's weighting architecture with significantly lower processing overhead.
Usage
The Usage section describes how the script can be used, examples should be provided in this section. This section also focuses on how main settings affect the indicator interpretation and output.
The HEMA can be used as a direct replacement for the standard HMA in trend-following strategies or as a signal filter. Because it retains the lag-reduction properties of the original Alan Hull formula, it is particularly effective for identifying trend reversals early.
- Trend Identification: Users can observe the color-coded slope of the HEMA. A green line indicates an upward trend (rising values), while a red line indicates a downward trend (falling values).
- Crossover Signals: Traders can look for price crosses over the HEMA or use the internal slope changes (represented by the alerts) to trigger entry or exit points.
- Performance Optimization: This tool is ideal for traders running complex dashboards or backtests involving multiple moving averages, as the simplified calculation reduces the data points processed in each convolution compared to the three-step HMA process.
Details
The construction of HEMA is rooted in an analysis of the HMA's impulse response. The original HMA uses three Weighted Moving Averages (WMA) with periods of $p/2$, $p$, and $\sqrt{p}$. This involves significant computational resources due to multiple convolutions.
The HEMA estimates this behavior using a linear combination of two more efficient moving averages:
- A Weighted Moving Average (WMA) with a period of $p/2$.
- An Exponential Moving Average (EMA) with a period of $p/2$.
The specific formula used is: $3 \times WMA(p/2) - 2 \times EMA(p/2)$.
By utilizing a negative weight for the EMA component, the script replicates the "front-running" weighting of the HMA that allows it to reduce lag. Because the EMA relies on recursion and the WMA period is halved, the total computational load is drastically reduced while maintaining a high degree of correlation with the original HMA output.
Settings
- Length: Determines the lookback period for the estimate. This value corresponds to the period "p" in a standard HMA. Higher values result in a smoother line with more lag, while lower values provide a more reactive line.
FAQ
How do I interpret the colors of the HEMA?
The HEMA changes color based on its slope. It turns green when the current value is higher than the previous bar's value (uptrend) and red when the current value is lower than the previous bar's value (downtrend).
How does HEMA differ from the standard HMA?
While a standard HMA uses three separate WMA calculations, HEMA uses a combination of one WMA and one EMA. This creates a similar visual output but requires significantly less computation time, making it more efficient for large-scale data processing.
How can I access this indicator?
You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.
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.

