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.
Senzoukria · Indicators · Updated September 2026
ALMA ships with the Senzoukria desktop app, in the Averages & volatility group of the indicator catalogue. It is drawn 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 a description of 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.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Period | number | 20 | 1 – 500 |
| Offset | number | 0.85 | 0 – 1 |
| Sigma | number | 6 | 1 – 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.
Using it in Senzoukria
Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.
Related indicators
- SMA — Averages & volatility
- EMA — Averages & volatility
- WMA — Averages & volatility
- Hull MA — Averages & volatility
- ATR (Wilder) — Averages & volatility
- Bollinger — Averages & volatility
See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.
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.