同一句「把 20 周期均线画出来」,在通达信里至少有三种写法,画出来的线并不重合。通达信均线指标公式的参数问题,一半出在窗口长度上,另一半出在算法选择上——用 MA、EMA 还是 SMA,决定了这条线对最近几根数据的反应速度。

下面按三种算法的差别、参数与复权设置的关系、均线组的写法、周期选择带来的口径变化与一份上手核对清单展开。文中函数写法以通达信 PC 版的公式系统为准,不同版本与券商定制版在函数集合上存在差异,请以你所用客户端帮助文档为准。

一、三种算法不是同一个东西

通达信里带「平均」含义的函数主要有三个,参数形式不同,权重分配方式也不同。

函数 算法特征 对最近几根的敏感度
MA(X,N) 窗口内 N 个取值等权相加再取平均 低,每一根权重相同
EMA(X,N) 指数平滑,越近的根权重越大 高,转折处跟得紧
SMA(X,N,M) 带权重参数的移动平均,权重由 M 控制 由 M 决定,M 越大越贴近当前根

SMA 的通项可以写成:当前值等于上一根结果乘以 (N 减 M) 加上当前 X 乘以 M,再整体除以 N。M 取 1 时贴近程度最低,M 取接近 N 的值时几乎跟随当前 X。所以写法里光有窗口长度还不够,M 这个参数必须一起确认。

三种算法在同一段行情上的差异,集中出现在转折附近。价格刚转向时,算术平均仍在按等权重消化前期数据,指数平均已经把更多权重给了最近几根,因而反应更快。写通达信均线指标公式时先定算法再定窗口,反过来做的话,参数调了很久也调不到想要的手感。

{ 同一条 20 周期的均价线,三种算法 }
算术均:=MA(CLOSE,20);
指数均:=EMA(CLOSE,20);
加权均:=SMA(CLOSE,20,1);

{ 均线组:四条不同周期的均价线 }
MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);
MA20:=MA(CLOSE,20);
MA60:=MA(CLOSE,60);

{ 相对间距:两条均线的距离占较长一条的比重 }
间距:=(MA5-MA20)/MAX(MA20,0.0001);

{ 斜率:当前均线相对上一根的变化量 }
斜率:=(MA20-REF(MA20,1))/MAX(ABS(REF(MA20,1)),0.0001);

最后两行都用了 MAX 给分母设下限。均线取值本身不可能为零,但除权、数据缺失或序列开头会让分母变成一个极小值,结果被放大成无效数值。给分母加下限的动作成本很低,漏掉之后排查起来要绕一大圈。

二、参数与复权设置是两件事

窗口长度写在算式里,复权方式写在客户端设置里。两者都会改变均线的位置,但改变的原因不同:窗口长度改变的是参与平均的根数,复权方式改变的是每根的取值本身。

除权日前后,不复权的价格序列会出现一个向下的跳空。均线跨过这个缺口时会被拉低,画出来的线在这个位置有一段不自然的折角。前复权把历史价格按比例调整到当前口径,连续性问题解决,但历史数值与当时看到的并不一致。两种口径各有用途,关键是同一段算式里不要一半用前复权、一半用不复权去对照。

把两段均线算式并排比较之前,先确认它们的复权设置一致。设置不同带来的差异,会让窗口长度的调整看起来「没起作用」,从而把排查方向带偏。公式管理器的描述栏里把复权口径写清楚,是避免这类混用的直接办法。相关口径问题可对照 指标原理与参数 一栏。

三、均线组的写法与间距

单条均线只能给出一个参考水平,实际使用中多是几条一起看。写均线组时把每条都定义成独立变量,不要为了省事写成一行嵌套,后面对某一条单独调整时改动范围最小。

组内几条线的相对位置由间距与斜率描述,这两个量都是计算出来的,不依赖主观判断。间距用两条均线之差除以较长的一条,得到的是一个无量纲的比值,能在不同价格水平的品种之间横向对照。斜率用当前值减上一根的值再归一化,得到的同样是一个可比量。

写通达信均线指标公式时,组内周期的选择建议保持整数倍关系,例如 5、10、20、60。周期之间成倍数关系时,短窗口完全落在长窗口之内,两条线的关系有明确的几何含义;随意取一组不成倍数的参数,线的交叉位置会变得难以解释。

把间距与斜率都做成输出行,副图上就能画出两条曲线,一条反映均线之间的距离,一条反映均线本身的走向。相比在主图上一根一根目测,这种方式更适合记录与复盘。

四、周期选择带来的口径变化

窗口参数数的是根数。同一组参数挂在日线、周线和分时上,覆盖的时间跨度完全不同:日线上的 20 根大致是一个月,周线上的 20 根接近五个月,分时图上的 20 根只覆盖不到一个交易日。

  • 日线窗口适合观察中期位置,根数在 5 到 60 之间时,几个常用长度的含义比较直观。
  • 周线窗口适合观察更长周期,但周线数据更新慢,最后一根在周内还会变化。
  • 分时窗口适合观察当日节奏,窗口长度建议按采样点数量折算,而不是照搬日线的数值。

还有一处与周期相关:周线数据在周中处于未完成状态,最后一根的均线取值会随当日价格变化,收盘后才固定。用周线均线做记录时,把记录时点一并记下,否则同一周的两次记录可能对不上。

分时周期上还有一层容易忽略的差异:分时序列的采样间隔可调,间隔改大之后单根覆盖的时间变长,同样窗口长度覆盖的实际时间也跟着变。要在分时图上用均线做当日节奏的对照,采样间隔固定下来之后,窗口参数才有稳定的含义。

五、上手核对清单

  1. 算法确认:这段算式用的是 MA、EMA 还是 SMA,M 参数取了多少。
  2. 窗口确认:窗口数的是根数,换算成时间跨度是多少,是否符合观察目的。
  3. 复权确认:算式所在图表的复权设置是什么,与用来对照的另一段算式是否一致。
  4. 分母确认:所有除法都加了 MAX 下限,序列开头的无效值不会把结果带坏。
  5. 输出确认:需要画线的行用冒号声明,中间量用冒号等号声明,图例名称与用途对应得上。

通达信均线指标公式本身不复杂,容易出问题的是上面这五处前提。把它们固定下来,再谈参数调整才有意义。函数按类别整理的对照表,见 通达信公式编写教程 一栏;均线与其他指标组合时的判定写法,见 量价形态与信号拆解 一栏。

文中函数名、参数含义与通项写法按通达信 PC 版公式系统的常见形态描述;不同版本与券商定制版在函数集合、复权处理与序列取值上限上存在差异,具体请以你所用客户端帮助文档为准。本文只讨论公式算法与参数口径,不构成任何投资建议。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。