通达信均线公式的写法有一个清晰的演进路径:从一条线的平滑,到多条线的比较,再到把多条线的相互关系压缩成一个量。每往前一步,要处理的问题就换一个类别——第一步处理噪声,第二步处理顺序,第三步处理距离与强度。顺着这条路看,写法上的选择就都有依据了。
文中的函数名与参数写法按通达信 PC 版的常见形态描述。不同版本与券商定制版在支持的函数集合与计算细节上存在差异,涉及具体取值的地方请以你所用客户端的测试结果为准。
一、第一阶段:单均线,解决噪声问题
最基础的形式是取一段价格的平均。它要解决的是单根价格的跳动幅度过大,看不出方向。
{单均线}
名称:MA(CLOSE,N);
含义:最近 N 根收盘价的算术平均
N 的取值直接决定线的平滑程度与滞后程度
| N 取值 | 线的特征 | 代价 |
|---|---|---|
| 偏小 | 贴合价格,转折及时 | 噪声被一起保留下来 |
| 偏大 | 平缓,方向清晰 | 转折点滞后 |
| 中等 | 折中 | 两头都不突出 |
平滑与滞后是同一件事的两面,不存在同时拿到两者的取值。这一点决定了下一条路:既然单一取值无法兼顾,就用多条线分别承担两种角色。
二、第二阶段:双均线,处理顺序关系
通达信均线公式走到第二步,是把两条不同周期的均线放在一起,能表达一个单条线无法表达的信息:短期位置相对长期位置是在上方还是下方。
{双均线}
短期:=MA(CLOSE,N1);
长期:=MA(CLOSE,N2);
关系:短期-长期;
写成差值之后,原来的两条线被压缩成一条线,判断从「看两条线的交叉」变成「看这一条线是否在零轴之上」。图上占的位置更少,判断也更直接。
{从差值到条件}
位置关系:=短期-长期;
条件:=位置关系>0;
注意:条件输出的是真假值,不是数值
两者用途不同,预警用的需要的是条件
差值写法的代价是丢失了绝对水平信息。两条线同样的差值,可能来自都很低的位置,也可能来自都很高的位置,这条线本身看不出区别。需要保留位置信息时,仍然要把两条线都画出来。
三、第三阶段:均线系统,处理距离与强度
三条以上均线一起用,目的是表达排列状态与距离程度。这一步的写法从直接输出线转向计算关系量。
{排列状态的表达}
短:=MA(CLOSE,N1);
中:=MA(CLOSE,N2);
长:=MA(CLOSE,N3);
多头排列:=短>中 AND 中>长;
含义:三条线按周期由短到长依次排列在上
输出的是真假值,可直接用于条件
{距离程度的表达}
分散度:=(短-长)/长*100;
含义:短期线与长期线的相对距离,按长期线折算成百分数
用法:观察这个值的扩大与收缩
把绝对差值改成相对比值,是为了能跨对象比较。差价 1 元在高低两个价位上的含义不同,换成相对距离之后才可比。这一步与前面提到的量级问题同源。
四、三种写法的适用与代价
| 写法 | 能表达什么 | 丢失什么 |
|---|---|---|
| 单均线 | 方向与平滑后的位置 | 无法表达相互关系 |
| 双均线差值 | 相对位置与方向变化 | 绝对水平 |
| 均线系统 | 排列状态与距离程度 | 代码复杂度上升 |
| 相对距离 | 可跨对象比较的程度量 | 具体价位信息 |
选择哪一种,取决于你下一步要用这个结果做什么。只是看方向,单均线就够;要产出条件用于预警,就需要最后输出真假值;要横跨多个对象比较强弱,则必须换成相对量。
五、参数取值与相互约束
多条均线一起用时,参数之间存在约束关系,不能各自独立取值。
{参数约束}
1. 周期要拉开差距,相邻两条过于接近时差值长期在零附近摆动
2. 最短周期要大于前置数据要求,否则线的前段会断开
3. 最长周期要与图上显示的历史长度相称,超出显示范围的部分看不到
4. 三条线的周期比不要取整倍数关系,避免在某些数据长度下同时转折
第 4 项是一个容易被忽略的细节。周期取成完全成比例的值时,三条线会在同一根上同时改变方向,看起来像是一次集中的变化,实际是参数设置造成的。
六、均线写法的验证方式
验证不止于「图上画出来了」。三步确认能把多数问题挡在早期。
{三步验证}
1. 取值合理:单条均线的值应落在同期价格的最小与最大之间
2. 关系正确:差值的正负与图上两条线的上下位置一致
3. 边界可用:参数调到最小与最大各试一次,确认不出现断开或异常值
第 1 步是算术层面的检查。均线是平均值,取值落在参与平均的数据范围内是它应有的性质。落到范围之外说明引用的字段或周期有误。
第 3 步在参数化之后变得必要。参数被调到极值时的问题在默认取值下看不到,等到实际调整参数时才会暴露。
七、把均线参数提成可调项
均线写法的可维护性取决于参数是否提出来。写死数字的公式每换一次周期或换一个对象就要改代码,提成参数之后在参数表里就能调。
{参数化的步骤}
1. 打开公式管理器,进入这条公式的编辑界面
2. 在参数区逐项填写参数名、最小值、最大值、默认值
3. 用参数名替换代码里的周期数字
4. 点测试确认语法通过
5. 保存,并在图上确认参数表里出现可调项
参数名不要与函数名重合。重合时编辑器读取的顺序决定实际取值,容易出现测试通过但结果与预期不符的情况,且这类问题不报错,定位起来费时间。
| 参数 | 最小值建议 | 理由 |
|---|---|---|
| 短期周期 | 大于等于 2 | 取 1 时均线等于价格本身,失去平滑意义 |
| 长期周期 | 大于短期周期的两倍 | 差距过小时两条线长期贴合 |
| 相对距离的基准 | 大于 0 | 作为除数,取 0 会产生无效值 |
最小值设定不只是形式上的约束,它同时是这套公式的使用说明:告诉后来调整参数的人,哪些取值区间是有意义的。
七、跨周期使用时的调整
同一套均线逻辑放到不同周期的数据上,合适的参数会变化。原因是同样长度的均线在不同周期上覆盖的时间跨度不同。
| 周期 | 同样 N 覆盖的时间 | 调整方向 |
|---|---|---|
| 分钟线 | 很短 | 适当增大 N |
| 日线 | 以交易日计 | 按经验取值 |
| 周线 | 以周计,跨度显著拉长 | 适当减小 N |
调整的方式是先确定希望覆盖多长时间,再按当前周期换算成根数,而不是把日线上的参数直接搬过去。这一点决定了同一套代码在不同周期下的结果是否可比。
相关延伸:均线与指标参数的设定值与取值范围,见 指标原理与参数 一栏;公式的语句结构与写法,见 公式编写教程 一栏;算出的结果与预期不符时的排查,见 报错与卡顿排查 一栏。本文只讨论公式写法与计算口径,不构成任何投资建议。
通达信均线公式的写法演进,本质是把「看什么」逐步明确化的过程:先看方向,再看顺序,最后看距离。每一步都保留前一步的能力,同时增加一种新的表达,代价是复杂度上升。按实际需要停在合适的一步即可。
文中目录名、文件后缀与菜单名按通达信 PC 版的常见形态描述;不同版本与券商定制版在目录结构、命名约定与菜单路径上存在差异,具体请以你所用客户端帮助文档为准。本文只讨论操作步骤与文件机制,不构成任何投资建议。
