Hull MA 指标:公式、参数与读法
赫尔移动平均线(Hull Moving Average,Alan Hull,2005)是一种加权平均,通过让短周期均线相对长周期均线做过度外推、再对剩余部分进行平滑,来减少传统移动平均的滞后。它叠加在价格上绘制,也可以作用于K线 delta 或K线成交量。
Senzoukria · 指标 · Updated September 2026
Hull MA — 均线与波动率, 叠加在价格图上.
Hull MA 测量的是什么
计算方法是:取半周期加权移动平均的两倍,减去全周期加权移动平均,再把这个差值送入长度为周期平方根的最终加权移动平均。子周期按惯例四舍五入到最接近的整数,最小为 1。中间项负责消除滞后,因为它外推了近期斜率;最后一级则过滤外推所放大的噪声。在整条计算链的每一级都有定义之前,不输出任何数值。
公式:代码中的实现
这不是别处常见的定义,而是所发布代码实际计算的内容,记录在实现旁边:
Hull MA (Alan Hull, 2005) : HMA_N = WMA_{round(√N)}( 2·WMA_{round(N/2)}(x) − WMA_N(x) ) round() sur les sous-périodes (convention usuelle), plancher 1. Le terme 2·WMA_half − WMA_N sur-extrapole pour compenser le lag, le WMA_√N final lisse le résidu. Warm-up : null tant que la chaîne complète n'est pas définie. Défaut N=16 (√16 = 4 exact — le défaut historique de Hull).
如何解读
- 与同周期的简单或指数均线相比,这条线明显更早拐头,这正是这种构造存在的意义。
- 提前拐头来自外推,因此线条可能跑到收盘价前面再回撤修正;仅一根K线的方向变化需要确认。
- 这里斜率比交叉更有意义,因为外推项使线条本身就是对趋势的表述。
- 在震荡数据上,最后一级平滑很短,线条可能反复改变方向。周期是你唯一能控制这一点的参数。
- Hull 与同周期较慢均线之间的背离越大,说明外推当前计入的近期斜率越多。
参数与默认值
周期默认 16,这是 Hull 本人的历史默认值,选择它是因为其平方根正好是 4,最后一级无需取整。可接受 1 到 500 之间的任意值。提高周期会按比例拉长三个内部均线,并使第一个绘制值更靠右。来源选择器提供收盘价、delta 和成交量,改变来源改变的是线条测量的内容,而不仅是它的速度。
| 参数 | 类型 | 默认值 | 取值范围 |
|---|---|---|---|
| Period | number | 16 | 1 – 500 |
| Source | 选项 | Close | Close, Delta, Volume |
它无法显示的内容
减少滞后不等于没有滞后,而换来这一点的外推还会在反转处造成过冲:急速行情之后,线条可能指向价格实际停止位置之外。图形叠加在价格坐标轴上,因此 delta 和成交量来源的数值处于与价格无关的刻度上。无论选择哪种来源,K线内部的 bid 和 ask 活动、吸收和失衡对这条均线都是不可见的。预热期也比同周期的单一加权平均更长,因为三级计算必须依次获得定义。
相关指标
其他语言版本
Frequently asked questions
- 赫尔移动平均线为什么使用周期的平方根?
- 平方根决定了最后一级平滑的长度。它相对周期较短,既保留了外推带来的大部分灵敏度,又过滤了外推放大的噪声。默认周期 16 的平方根正好是 4,无需取整。
- 赫尔移动平均线有滞后吗?
- 比同周期的简单或指数均线少,但并非没有滞后。这种构造通过外推近期斜率来补偿滞后,代价是在行情快速转向时出现过冲。
- 赫尔移动平均线是为什么周期设计的?
- Alan Hull 发布时使用的周期是 16,这里的默认值也是 16。可接受 1 到 500 之间的任意值,平方根不是整数的周期会在最后一级内部取整。