ALMA 指标:公式、参数与读法
ALMA(Arnaud Legoux 移动平均线,2009)是一种加权移动平均,其权重服从一条高斯曲线,曲线位于回看窗口内部而不是正中。由于曲线偏向最近的K线,这条线比同长度的对称加权平均更贴近价格。它绘制在价格图上。
Senzoukria · 指标 · Updated September 2026
ALMA — 均线与波动率, 叠加在价格图上.
ALMA 测量的是什么
对于 N 根K线的窗口,指标按 w = exp(-(t - m)^2 / (2 s^2)) 为每个位置 t 构造权重,其中 m = offset x (N - 1) 把钟形曲线的峰值放在窗口内,s = N / sigma 决定其宽度。绘制值等于加权收盘价之和除以权重之和,因此是归一化的平均,始终落在其覆盖的收盘价范围之内。在凑满 N 根K线之前输出为空,而不是部分平均,因此线条只在窗口填满后才开始。
公式:代码中的实现
这不是别处常见的定义,而是所发布代码实际计算的内容,记录在实现旁边:
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.
如何解读
- 先看斜率,再看数值:线条向上拐头,只表示近期收盘价的加权中心在上升,仅此而已。
- 收盘价穿越这条线,是相对于平滑参考的位置变化,本身并不构成确认;行动之前先看订单流在该价位做了什么。
- 价格围绕走平的 ALMA 震荡时,窗口没有主导方向,此时的穿越频繁且几乎不含信息。
- 行情加速时价格与线条的距离会扩大;距离大说明当前收盘价远离它自身的近期均值,而不是说即将反转。
- 两条不同周期的 ALMA 可以作为方向的参考;单独一条线没有可以比较的对象。
参数与默认值
默认值为周期 20、offset 0.85、sigma 6,即 Legoux 发布的数值。offset 在窗口最旧的K线(0)与最新的K线(1)之间移动钟形峰值,因此把它调向 1 会让线条反应更快、抖动更多。sigma 通过 s = N / sigma 起作用,因此 sigma 越大钟形越窄,能显著参与的K线越少,平滑程度是降低而不是提高。周期可设为 1 到 500。
| 参数 | 类型 | 默认值 | 取值范围 |
|---|---|---|---|
| Period | number | 20 | 1 – 500 |
| Offset | number | 0.85 | 0 – 1 |
| Sigma | number | 6 | 1 – 50 |
它无法显示的内容
ALMA 只由收盘价计算。它对每根K线内部发生的事情一无所知,因此某个价位的吸收、成堆的失衡或单边的主动成交序列都不会在线条上留下痕迹。任何对过去收盘价的加权平均在拐点处都会滞后,高斯加权减少了滞后但没有消除它。在成交稀薄或有缺口的数据上,收盘价本身就不可靠,均线会继承这一弱点而不作任何提示。
相关指标
其他语言版本
Frequently asked questions
- ALMA 中的 offset 参数有什么作用?
- offset 决定高斯权重的峰值位于回看窗口内的哪个位置。为 0 时最旧的K线权重最大,为 1 时最新的K线权重最大,默认值 0.85 把峰值放在靠近近端的位置。offset 越高,线条反应越快,也越容易随短期噪声波动。
- sigma 越大,ALMA 越平滑吗?
- 这里恰恰相反。sigma 以 s = N / sigma 的形式进入公式,因此提高 sigma 会让钟形变窄,把权重集中在峰值附近更少的K线上。较小的 sigma 会让钟形变宽,把权重分散到整个窗口,得出更平滑的线条。
- 为什么 ALMA 线比图表开始得晚?
- 计算需要完整的 N 个收盘价窗口才能产生数值,因此在默认周期 20 下,前 19 根K线不绘制任何内容。预热期间指标返回空值,而不是对更少的K线求平均,否则显示的数字将基于与线条其余部分不同的窗口计算。