What is HMA?
The Hull moving average draws one line through price that turns quickly but stays smooth. It compares a half-length weighted average with a full-length one to estimate the lag, pushes the line ahead by that amount, then runs a short final average over the result to remove the jitter the correction creates.
HMA reduces lag; it does not eliminate it, and it does not confirm trend strength or predict future prices. At sharp reversals it can still overshoot price before turning.
How to use HMA
- The direction of the line. The most common reading is the direction of the line itself. A line that turns up is read as the short-term trend turning up, and the reverse.
- Price above or below the line. Price holding above HMA is context for an uptrend, below it for a downtrend. Because the line is fast, price crosses it more often than a plain average.
- HMA against a slower average. A fast HMA and a slower average together give a quick line to time turns and a slow line for the broader trend.
- Period length. Shorter turns sooner and overshoots more; longer is smoother and later.
These are ways to read the line, not entry signals on their own.
Settings
| Setting | Default | What it changes |
|---|---|---|
| Length | 9 | Sets the full-length average, the half-length average (the length divided by two, rounded down) and the final smoothing (the square root of the length, rounded). Lower is faster and noisier; higher is smoother and later. Minimum 1. |
| Source | Close | Which price each bar contributes. Open, high, low and the averaged sources such as hl2 and hlc3 are also available. |
Adjust the period and price source in the indicator settings.
Calculation
HMA uses three weighted moving averages (WMA), where the newest bar has the largest weight:
half = length / 2, rounded down (4 at the default 9)
final = square root of length, rounded (3 at the default 9)
raw = 2 * WMA(price, half) - WMA(price, length)
HMA = WMA(raw, final)
The half-length average sits closer to price than the full-length one. Doubling it and subtracting the full-length average extends that difference, giving a line that leads price rather than trailing it. That line is rough, so a short weighted average of 3 bars at the default length smooths it.
Both lengths are whole numbers: a length of 9 uses 4, not 4.5, for the half and 3 for the final pass. Odd lengths therefore round down for the half-length average.
The full-length average needs 9 bars and the final pass needs 3 values of the raw line, so with the default length the first value appears on bar 11.
Limitations
- It overshoots. The lag correction can carry the line past price at a sharp reversal before it turns.
- Fast also means noisy. In a range, the line changes direction often, and each turn looks like a signal.
- Small lengths behave coarsely. Because the half length and the final smoothing are rounded to whole bars, very short settings change in steps rather than smoothly.
- It depends on timeframe, period and source. The same indicator gives a different line on 15m than on 1D, or on close against hl2.
- It is not a strategy. On its own it carries no risk management, sizing or exit.
Frequently asked questions
The Hull moving average is a lag-reduced average built from weighted moving averages. It doubles a half-length average, subtracts a full-length one, and smooths the result with a short average whose length is the square root of the setting. The line turns faster than an EMA of the same length while staying smooth.
An [EMA](/library/indicator/ema) reduces lag by weighting recent bars more. HMA goes further by estimating its own lag and adding it back, then smoothing the result. It turns sooner than an EMA of the same length but can overshoot price at sharp turns.
The default is 9. There is no single best length. Shorter settings react faster and change direction more often; longer ones are steadier and later. Choose the length for the timeframe you trade and test it.
Yes. The indicator has two inputs: Length, default 9 with a minimum of 1, and Source, default close. Open the indicator's settings on the chart to change them. The half length and the final smoothing are derived from Length and cannot be set separately.
No. Each value depends only on the bars up to and including that bar, so values on closed bars are not revised. The current candle's value moves while that candle is live and settles when it closes.
Use the Add to chart button at the top of this page. It opens BTC/USDT on Binance in the Altrady Charts terminal with the built-in Hull Moving Average already applied. On any other market, open the indicator picker on the chart and choose Hull Moving Average from the Moving Average group.