Senzoukria · Indicators

ALMA Indicator: Formula, Settings and How to Read It

ALMA (Arnaud Legoux Moving Average, 2009) is a weighted moving average whose weights follow a Gaussian curve placed inside the lookback window rather than at its centre. Because the curve is shifted toward the most recent bars, the line follows price more closely than a symmetric weighted average of the same length. It is drawn on the price chart.

Updated September 2026First published 17 September 2026

On this page
  1. What ALMA measures
  2. The formula, as implemented
  3. How to read it
  4. Parameters and defaults
  5. What it does not show
  6. Related indicators
  7. This page in other languages
  8. Frequently asked questions

ALMA — Averages & volatility, on the price chart.

What ALMA measures

For a window of N bars the indicator builds a weight for each position t with w = exp(-(t - m)^2 / (2 s^2)), where m = offset x (N - 1) places the peak of the bell inside the window and s = N / sigma sets its width. The plotted value is the sum of weighted closes divided by the sum of weights, so it is a normalised average and stays inside the range of the closes it covers. Until N bars exist the output is empty rather than a partial average, so the line starts only once the window is full.

The formula, as implemented

This is not how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:

ALMA — Arnaud Legoux MA (Legoux & Kouzis-Loukas, 2009) : m = offset·(N−1) ; s = N/σ w_t = exp( −(t − m)² / (2·s²) ) t = 0 (le plus ancien) … N−1 ALMA[i] = Σ w_t·close[i−N+1+t] / Σ w_t Fenêtre gaussienne décalée vers le récent : offset→1 = réactif, offset→0 = lisse ; σ pilote la largeur de la cloche. Défauts N=20, offset=0.85, σ=6 (les défauts de Legoux). Warm-up (< N barres) → null.

How to read it

  • Slope comes before level: a line turning up means the weighted centre of the recent closes is rising, and nothing more than that.
  • A close crossing the line is a change of position relative to a smoothed reference, not a confirmation on its own; check what the orderflow did at that price before acting on it.
  • While price oscillates around a flat ALMA, the window has no dominant direction, and crossings in that state are frequent and carry little information.
  • Distance between price and the line grows when a move accelerates; a wide gap says the current close is far from its own recent average, not that a reversal is due.
  • Two ALMA lines with different periods give you a reference for direction; a single line gives you nothing to compare it against.

Parameters and defaults

The defaults are period 20, offset 0.85 and sigma 6, the values Legoux published. Offset moves the peak of the bell between the oldest bar of the window (0) and the newest (1), so raising it toward 1 makes the line react sooner and wobble more. Sigma acts through s = N / sigma, so a larger sigma narrows the bell and lets fewer bars contribute meaningfully, which reduces smoothing rather than increasing it. The period accepts 1 to 500.

ALMA — parameters exposed in the app, with the values it ships with.
ParameterTypeDefaultRange
Periodnumber201 – 500
Offsetnumber0.850 – 1
Sigmanumber61 – 50

What it does not show

ALMA is computed from closes only. It knows nothing about what happened inside each bar, so absorption at a level, a stack of imbalances or a one-sided aggressor sequence leaves no trace in the line. Any weighted average of past closes lags a turn, and the Gaussian weighting reduces that lag without removing it. On thin or gapped data the closes themselves are unreliable, and the average inherits that weakness without signalling it.

  • SMA — Averages & volatility
  • EMA — Averages & volatility
  • WMA — Averages & volatility
  • Hull MA — Averages & volatility
  • ATR (Wilder) — Averages & volatility
  • Bollinger — Averages & volatility

Browse all indicators

This page in other languages

Frequently asked questions

What does the offset parameter do in ALMA?
Offset decides where the peak of the Gaussian weighting sits inside the lookback window. At 0 the oldest bar carries the most weight, at 1 the newest one does, and the default of 0.85 puts the peak close to the recent end. The higher the offset, the faster the line reacts and the more it moves with short-term noise.
Does a larger sigma make ALMA smoother?
It does the opposite here. Sigma enters the formula as s = N / sigma, so raising sigma narrows the bell and concentrates the weight on fewer bars around the peak. A smaller sigma widens the bell, spreads the weight across the window and produces the smoother line.
Why does the ALMA line start later than the chart?
The calculation needs a full window of N closes before it produces a value, so with the default period of 20 nothing is plotted for the first 19 bars. The indicator returns an empty value during that warm-up instead of averaging fewer bars, which would show a number computed on a different window than the rest of the line.
NEXT

Keep reading