Hull Moving Average (HMA)

StratCraft indicator page for the HMA low-lag moving average.

Route: /indicators/hma/

What It Does

HMA aims to be smoother than a standard moving average while responding faster to price changes. It is widely used in trend-following systems.

Formula

HMA = WMA(2 * WMA(price, n/2) - WMA(price, n), sqrt(n))

Parameters

  • period - default 30
  • _movav - default WMA

C++23 API

#include <nonabt/indicators/hma.hpp>
auto hma = std::make_unique<nonabt::HMA>(data().close(), 30, "WMA");

Common Usage

  • Use HMA as a fast trend baseline.
  • Combine it with price crossovers or a second slower average.
  • Helpful for trend reversal detection without too much lag.

Practical Pattern

Buy when price closes above HMA and HMA is sloping upward; exit when price loses that baseline.