通达信WMA加权移动平均怎么算?权重顺序、窗口移动与EMA区别

发布日期:2026年10月15日。WMA(CLOSE,3)与普通三周期均值为什么不一样?因为窗口内的样本不是等权:从旧到新依次乘1、2、3,再除以权重总和。把新旧顺序反过来,或直接除以3,都会得到另一套计算。
适用环境:支持WMA函数的通达信公式编辑环境。本文依据官方用户红宝书,以完整有效窗口做原创算术模型,未做客户端编译或实测。不推导样本不足时的初始化规则,也不保证所有版本和手机环境兼容。
一、先明确官方线性权重公式
官方WMA(X,N)按窗口内样本X1到Xn计算:(1×X1+2×X2+…+n×Xn)/(1+2+…+n)。本篇将窗口按从旧到新排列,最新样本对应最大权重。固定正整数N的完整窗口下,分母为N(N+1)/2。
WEIGHTED:WMA(CLOSE,3);
PLAIN:MA(CLOSE,3);
两条输出只是比较平均方法,没有把曲线穿越解释成收益信号。N在这里是窗口长度,不是EMA的当前输入权重,也不是SMA的权重分子。
二、用三周期完整窗口逐项计算
假设连续四根CLOSE依次为10、12、14、16。只计算D3和D4两个完整三根窗口,避免把起始不足三根时的行为混入模型。
| 当前根 | 从旧到新窗口 | 加权分子 | 分母 | WMA模型 | 普通均值 |
|---|---|---|---|---|---|
| D3 | 10,12,14 | 76 | 6 | 12.666667 | 12 |
| D4 | 12,14,16 | 88 | 6 | 14.666667 | 14 |
D3分子为10×1+12×2+14×3=76,分母为1+2+3=6。D4必须移出10、加入16,并把剩余窗口重新分配为权重1、2、3;不是保留12的旧权重2再无限累加。
三、窗口移动与递推均线不是一回事
在完整固定窗口模型里,WMA明确使用最近N个样本的线性权重;EMA、SMA用上期输出继续递推,初值及更早历史可能间接影响当前结果。参数都写3,并不让它们成为同一条序列。
如果比较两份指标,先确认函数名与全部参数一致,再比较数据、复权和周期。不能用“同样叫加权平均”替代公式核对,也不要把某个平台同名WMA的实现未经核实搬过来。
四、三个常见算术错误怎样定位
- 顺序写反:把最新值乘1,最旧值乘3。用一组明显递增的假设数据,检查最新样本是否贡献最大权重。
- 分母错误:76除以3得到25.333333,甚至超出本窗口10至14的范围;正常正权重平均应落在输入最小值与最大值之间。
- 窗口没有移动:D4仍计算10、12、14,说明取样或REF对齐有问题,而不是WMA自动“锁定”了窗口。
这个范围检查只适用于全部输入有效、权重为正且分母正确的模型;无效值、特殊序列或样本不足时不能直接套结论。先把输入和权重表列出来,比只观察两条相似曲线更容易定位。
五、显示小数与样本不足分别检查
表中的12.666667是分数76/6的六位显示,不表示底层计算只保存六位。界面如果显示12.67,仍可能与公式内部比较使用的数值不同。不要先把每一项四舍五入再求和,除非原公式明确这样定义。
官方条目本次没有展开不足N个样本时如何填充或初始化。应在具体版本中保留前N根的输入和输出单独核对,不把完整窗口示例当作边界行为保证。参数、历史范围或复权发生变化后,要重新对照相同窗口。
来源与相关教程
原始依据:通达信用户红宝书《通达信公式-全部函数.docx》的WMA条目。示例为学习模型,未实测客户端,不提供收益或买卖建议。延伸阅读:教程中心、EMA与SMA递推权重、指标参数核对、计算精度与显示位数。




