通达信主图公式与副图公式的写法不一样,差别不在语法,而在它叠加在什么之上。主图叠的是 K 线,所有画出来的东西都要在价格坐标系里找位置,这一步决定了它能表达什么、不能表达什么。这篇按「坐标系 — 显示逻辑 — 参数 — 效果对照」推进。
文中涉及的菜单路径、函数名与分支名称按通达信 PC 版的常见形态描述。不同版本与券商定制版在公式管理器结构上存在差异,涉及界面的部分请以你所用客户端的帮助文档为准。
一、主图与副图的本质区别
两者用同一套语法,但运行在不同的坐标系里。
| 项目 | 主图 | 副图 |
|---|---|---|
| 坐标系 | 价格轴 | 自定值域 |
| 叠加对象 | K 线 | 独立区域 |
| 画线约束 | 取值要落在价格范围内才有意义 | 取值只需内部可比 |
| 常见用途 | 叠加均线、标记位置、画通道 | 摆动类、柱状类、差值类 |
这张表能解释一个常见现象:在副图上看着正常的指标,挪到主图上会出现线条跑到 K 线之外,或者压在下方完全看不见。原因是它的取值区间不在价格轴上。
二、主图公式的显示逻辑
通达信主图公式的输出方式分三类,分别对应不同的显示行为。
类型一:持续画线
{持续画线}
名称:表达式;
例:均价线:MA(CLOSE,20);
这类输出会在每根 K 线上取一个值并连成线。值域与价格一致,因此能自然叠在 K 线之上。线断掉的位置说明那一根没有值,原因是前置数据不足。
类型二:条件位置画线
{条件位置画线}
名称:IF(条件,表达式,空值);
例:支撑线:IF(CLOSE>均价线,均价线,空值);
第三个参数给空值,条件不成立时这条线断开。断开是符合预期的呈现方式。若写成给 0,图上会出现一条贴着坐标轴走的线,看起来像支撑线的一部分,实际是错的值。
类型三:标记但不连线
{只标记不连线}
1. 用画柱或画符的函数,在条件成立的位置做出标记
2. 标记的高度参数决定它在 K 线之上还是之下
3. 不要用连线的输出写法,否则会画出跨根的长线
这类标记常用于在 K 线上下标出某个位置。高度参数若写的是固定值,在不同价位的对象上会显示在差异很大的相对位置上,需要按价格区间折算。
三、参数调整的两个方向
通达信主图公式的参数调整不只是改数字,还要区分两类参数。
| 参数类型 | 作用 | 调整影响 |
|---|---|---|
| 周期长度 | 决定平滑程度 | 改小更贴价格,改大更平缓 |
| 阈值 | 决定条件松紧 | 改小触发位置增多,改大减少 |
| 显示偏移 | 决定标记落在哪一根 | 影响看到的位置与实际的对应 |
参数写成固定数字时,换一个品种就要改代码。把周期长度提成参数是更实用的做法,这样在公式管理器的参数表里就能调。
{把周期提成参数}
1. 打开公式管理器,找到这条主图公式
2. 进入编辑,在参数区填参数名、最小值、最大值、默认值
3. 把代码里对应的数字替换成参数名
4. 测试通过后保存
5. 在图上右键该公式,确认参数表里出现可调项
四、效果对照:三种情况的处理
把主图公式挂上去之后,效果与预期不符的情况集中在三类。
{对照检查}
1. 线完全看不见
→ 确认取值量级是否与价格同阶
2. 线看得见但位置不对
→ 确认引用的是当前这根还是前几根
3. 标记挤在一起分不开
→ 确认标记的判断条件是否过宽
第一类最常见。在副图里看着正常的指标放到主图上看不见,说明取值范围与价格轴不匹配,这类指标应当留在副图。
第二类的排查方式是取一个明确的时点,把标记位置与实际发生的时间对照一次。差一根与差几根的成因不同:差一根是引用位置的问题,差几根则要查条件里是否用了跨周期取值。
第三类与条件严格程度有关。条件是价格与某条线的比较时,只要价格在线的同侧就一直成立,标记会连成一片。若只想标出穿越的那一根,条件要改成「这一根成立且前一根不成立」的形式。
| 预期效果 | 写法方向 | 容易出错的地方 |
|---|---|---|
| 持续可见的线 | 直接输出表达式 | 取值区间与价格不同阶 |
| 只在特定位置出现的线 | 条件成立时输出,否则空值 | 把空值写成 0 |
| 穿越点标记 | 加前一根不成立的条件 | 条件过宽导致标记连片 |
五、主图公式与其他图层的顺序
一条主图上可以挂多条公式,它们的显示顺序会影响可读性。
{叠加顺序的建议}
1. 先挂与价格同步的线(均线类)
2. 再挂通道类的上下轨
3. 最后挂标记类的符号
理由:标记类会遮挡其他线条,放在最上层更方便看清
具体的层序调整方式,以你所用版本的菜单为准
顺序问题的处理没有统一答案,要点是让主要信息不被遮挡。同一张图上挂的公式数量增加后,每条线的可辨识度都会下降,这时减少数量比调整顺序更有效。
六、保存与复用的注意事项
通达信主图公式做好之后,若要复用到其他环境,有几个位置需要重新确认。
{复用时逐项确认}
1. 公式是否挂在了「技术指标」分支下的正确位置
2. 参数表的默认值是否一并带过去
3. 引用的其他公式是否存在(有些主图公式依赖副图公式的输出)
4. 叠加顺序是否需要重新设置
第三项在跨环境复用时容易漏。主图公式若引用了另一条自编公式的计算结果,目标环境没有那条公式时,整条主图公式会失效,而报错信息指向的是引用位置,容易被当成语法问题处理。
七、主图与副图配合的两种做法
同一套判断逻辑,可以只用主图完成,也可以主图加副图配合。两种做法的差别在信息密度与可读性上。
| 做法 | 主图显示 | 副图显示 | 适用情形 |
|---|---|---|---|
| 全部放主图 | 线、通道、标记 | 无 | 逻辑简单,线条数量少 |
| 主图加副图 | 位置相关的线 | 摆动类中间量 | 需要同时看位置与强度 |
副图的优势是能把与价格不同量级的数据单独呈现。把强度、差值这类量放进副图,主图只保留与价格同阶的线,两边的可读性都会提升。
{主图副图配合的建法}
1. 先在副图里建立承载中间量的公式
2. 在副图上证是否按预期摆动
3. 再在主图里引用副图的输出,或用同一套计算在图上画线
4. 分别确认两个图层的显示是否正常
第 3 步有两种实现路径:一是主图公式重新算一遍,二是引用副图的输出。前者不依赖其他公式,移植到大盘或个股上都能用;后者省代码,但目标环境缺少副图公式时会一起失效。选择哪条路径取决于这条主图公式是否需要单独分发。
七、一条判断顺序
通达信主图公式的问题基本集中在一个判断上:取值量级是否与价格同阶。同阶的放主图,不同阶的放副图;这一条定下来,剩下的参数与顺序问题都在可处理范围内。
进一步阅读:主图与副图的分工与呈现方式,见 主图副图指标 一栏;公式的语句结构与写法,见 公式编写教程 一栏;指标参数的设定值与取值范围,见 指标原理与参数 一栏。
如果只记一条:先看量级再谈效果。量级不匹配时,改参数和调顺序都解决不了看不见的问题。
文中目录名、文件后缀与菜单名按通达信 PC 版的常见形态描述;不同版本与券商定制版在目录结构、命名约定与菜单路径上存在差异,具体请以你所用客户端帮助文档为准。本文只讨论操作步骤与文件机制,不构成任何投资建议。
