Skip to content
Indicators 5 min read

Hull Moving Average (HMA): How to Calculate and Use It

The Hull moving average combines weighted averages to cut lag. Learn the formula, rounding rules, a worked example, chart use and sideways-market limits.

Hypothetical daily candlestick chart with a 16-session Hull moving average and a 16-session simple moving average: the Hull line turns soon after the price peak and swings with price through the sideways stretch, while the simple average bends later and moves less.Sideways stretchHMA(16)SMA(16)
Hypothetical bars, not market data. Both averages are computed from these closes. The Hull moving average turns soon after the price peak, while the simple average bends much later; in the sideways stretch, the Hull line reverses with the swings and the simple average moves far less.

The Hull moving average doubles a half-length weighted average, subtracts the full-length one and smooths the result over the square root of the length. It turns sooner than a simple average of the same length, and it overshoots and reverses more often in sideways markets.

What the Hull moving average is

The Hull moving average (HMA) is a moving average designed to follow price closely while staying smooth. Alan Hull published it in 2005. It combines weighted moving averages so that the line is pushed toward the most recent prices and then smoothed again over a short window.

Like any moving average of closing prices, it is measured in dollars and drawn on the price chart. Its main use is to show changes in direction sooner than a simple or exponential average of the same length, at the cost of more false turns.

How to calculate the Hull moving average

The HMA is built from three weighted moving averages (WMAs). A WMA gives the newest value the largest weight: over n sessions the weights run from 1 for the oldest value to n for the newest, and the total is divided by the sum of the weights, n(n + 1) / 2.

WMA(x, n) = (1 × oldest + 2 × next + ... + n × newest) / (n(n + 1) / 2)
Raw(t) = 2 × WMA(Close, n/2) - WMA(Close, n)
HMA(n) = WMA(Raw, √n)
n
The HMA length in sessions.
n/2, √n
Rounded down to whole sessions in this guide, following Hull’s definition.
Raw
The lag-reduced series, before the final smoothing.

Subtracting the full-length WMA from twice the half-length WMA extrapolates the average toward the latest prices: the half-length average already sits closer to current prices, and doubling the difference pushes further in that direction. The final WMA over √n sessions smooths the jagged raw series.

Rounding conventions for n/2 and √n

Most lengths do not divide evenly. Hull’s definition takes the whole-number part of both n/2 and √n, which this guide follows: n = 9 gives a half-length of 4 and a root of 3, and n = 16 gives exactly 8 and 4. An implementation that rounds to the nearest whole number instead would use 8 and 4 for n = 15, where truncation gives 7 and 3, so two charts labeled HMA(15) can differ slightly.

The warm-up follows from the same numbers. HMA(n) needs n sessions for the first raw value and √n raw values for the final average, so its first value appears after n + √n - 1 sessions: 11 for n = 9 and 19 for n = 16.

Worked example: HMA(9) on hypothetical closes

The table computes HMA(9) for fifteen hypothetical closes, using WMA(4) for the half-length and WMA(3) for the final smoothing. The raw series starts at session 9, when WMA(9) first exists, and the HMA at session 11, after 3 raw values. A 9-session simple moving average is shown for comparison.

HMA(9) over fifteen hypothetical closes (prices in $, rounded to cents)
SessionCloseWMA(4)WMA(9)Raw: 2 × WMA(4) - WMA(9)HMA(9)SMA(9)
130.00
230.40
330.20
430.8030.46
531.3030.84
631.1031.01
731.7031.35
832.2031.74
932.0031.9131.4532.3731.08
1032.6032.2531.7532.7531.37
1133.1032.6432.1033.1832.9031.67
1233.4033.0132.4533.5733.3032.02
1332.8033.0232.6033.4433.4432.24
1432.3032.7532.6132.8933.1832.36
1531.9032.3532.5232.1832.6232.44

The close peaks at session 12 at $33.40 and falls from session 13. The HMA peaks at session 13 at $33.44, slightly above the highest close in the table, and turns down at session 14. The SMA(9) is still rising at session 15.

Hull moving average stock chart example

The illustration in this guide plots a hypothetical HMA(16) and a 16-session simple moving average over the same daily candles. At the top of the advance, the HMA turns down 2 sessions after the highest close, while the simple average keeps rising for 13 sessions. In the sideways stretch that follows, the HMA reverses with nearly every swing, while the simple average drifts with much smaller moves.

How to use the Hull moving average on stock charts

Because the HMA hugs price, crossings between price and the line are frequent and say little. Hull recommended reading the line’s own turning points instead: the session when it changes from rising to falling, or the reverse.

  • Read the slope first: a rising HMA means the weighted recent closes are rising.
  • Match the length to the swings you study; short lengths react to a few sessions, while lengths of 50 or more follow multi-week trends.
  • Add a slower reference, such as a 50-session moving average, for the broader trend.
  • Check each turn against the candles of the same sessions; a turn caused by one outlier session can reverse just as quickly.

Hull moving average limitations in sideways markets

The extrapolation that cuts lag also makes the HMA overshoot. When price turns sharply, the raw series runs beyond the latest closes, so the HMA can briefly sit above the highest recent close or below the lowest, as it does in the worked example. In a sideways market every small swing becomes a turn in the line, so its direction changes often and each turning point carries less information.

  • More turns mean more false starts in ranges; a longer length or a slower filter reduces them, at the cost of lag.
  • Values depend on the length and on how n/2 and √n are rounded.
  • It uses closes only and ignores volume and the session range.
  • Like every moving average, it describes past prices and does not predict the next session.

Data cadence and what TradeClever charts show

The HMA works on any bar size; on daily bars, n counts sessions and the line updates once per session. TradeClever’s Stock Charts do not plot the HMA. They plot up to three simple moving averages and an exponential moving average, which show on the same chart how much lag a plain average carries; the guide to the weighted moving average covers the building block of the HMA.

Read our data and methodology notes for calculation context. This guide explains research tools and observations. It does not recommend a trade or investment.

Follow your curiosity

One good question leads to another.

All guides
Make room for better research

Put your curiosity to work.

Build a scan with filters or CleverScan rules. Explore the results. Find your next idea.

Open a stock chart