公式写好了,也挂上去了,K 线的颜色却没有变化——这种情况要先分清是条件没有命中,还是公式根本没有生效。写通达信五彩K线公式时,这两个原因的表现一样,排查方向却完全不同:前者要改条件,后者要先看公式挂到了哪个位置。
下面按「与普通指标的差别、着色条件、画 K 线的函数、上色顺序、不生效的情形、参数与显示、核对记录」的顺序讲。全文只讲着色条件的写法与显示路径,不涉及任何品种判断,也不把颜色变化当作可利用的信息。文中函数名与菜单路径以通达信金融终端为参照。
一、五彩K线公式和普通指标的区别
普通的副图指标算出一条曲线,曲线的位置由数值决定。五彩K线公式的输出不是曲线,而是附着在 K 线上的颜色标记:条件成立的那一根 K 线被画成指定的颜色,条件不成立的保持原样。
{ 两类公式的输出对象不同 }
普通副图指标 → 输出一条数值曲线,位置随数值上下移动
五彩K线公式 → 输出一个颜色覆盖层,落在原本的 K 线上
{ 输出对象不同,决定了两者的挂载位置与排查方式都不同 }
这个差别带来一个直接后果:五彩K线公式挂在副图上不会显示颜色。公式管理器在新建时就要选定分支,分支决定了公式能挂在哪个位置,后改分支需要重新新建公式。
二、着色条件怎么写
通达信五彩K线公式的着色条件与普通条件写法一致,用比较运算与逻辑运算组合即可。条件写完之后得到的是每一根上的成立与否,成立的位置就是会被上色的位置。
| 条件类型 | 写法要点 | 常见问题 |
|---|---|---|
| 单根比较 | 直接用收盘价与均线、前一根收盘比较 | 条件过宽,整段被上色 |
| 区间判断 | 用区间上下界把条件限制在一段内 | 上下界写反,条件恒不成立 |
| 连续成立 | 用连续函数把多根压成一个位置 | 直接比较会得到一整段被上色 |
条件过宽是写这类公式时最直观的表现:整段 K 线被染成同一个颜色,看不出区分的意义。收窄的办法是在条件里加上取值范围的限制,把命中位置限制在一个有限区间内,而不是让条件覆盖大片 K 线。
条件写完之后先在副图上验证一次。把同一个条件作为普通指标输出到副图,观察命中位置是否与预期一致;确认之后再把它搬到五彩K线公式里。这一步把「条件对不对」与「显示位置对不对」分开,排查时不会两头同时怀疑。
三、画 K 线用哪个函数
把 K 线重新画一遍并替换颜色,用的函数是按价格画线的函数。写法上需要给出条件与两个价格位置:条件成立时,在给定的两个价格之间画出一条线,宽度按参数指定,是否空心也由参数决定。
{ 着色写法的思路 }
① 条件:本根是否需要上色
② 价格区间:从哪里画到哪里(实体用开盘价与收盘价,影线用最高价与最低价)
③ 宽度:线条粗细,取 0 表示不画
④ 空心标志:区分实体与中空
{ 条件、区间、宽度、空心,四项都要给全 }
用实体与影线分别上色时,需要写两组语句:一组按开盘价与收盘价画实体,另一组按最高价与最低价画影线。影线语句的宽度取值比实体小,画出来的效果才与原本的 K 线接近。宽度取 0 的语句不会画出任何东西,这一条可以用来临时屏蔽某一组着色,便于逐组验证。
四、上色的顺序与覆盖
多条着色语句按书写的先后顺序执行,后写的覆盖先写的。这个顺序决定了当同一个位置满足多个条件时,最终显示的是哪一组的颜色。
{ 覆盖关系的处理原则 }
把条件更窄的语句写在后面
把条件更宽的语句写在前面
{ 窄条件覆盖宽条件,颜色层次才分得开 }
顺序写反会出现一种现象:细分条件的语句写在前面,被后面一个宽条件的语句整段覆盖,图上只看得到一种颜色,公式里却写着好几组条件。排查这类现象不必逐句删,只需要临时把可疑语句的宽度改成 0,看颜色是否露出来,就能确定覆盖关系。
五、不生效的几种情形
公式挂上去颜色没有变化时,按下面的顺序查一遍。前两条决定公式能不能显示,后两条决定条件会不会命中。
- 公式所在分支是否为五彩K线分支。挂在普通指标分支上的公式不会覆盖 K 线颜色。
- 挂载位置是否为主图。副图上没有 K 线可覆盖。
- 条件是否命中。把条件单独输出到副图看命中位置。
- 着色语句的宽度是否为 0,或价格区间的两个值是否写反。
另有一类情形是公式生效了,但只有一部分 K 线被上色。这时先看两条边界:条件里用到的均线在数据不足的位置取不到值,这一段不会上色;价格区间的两个端点如果取自不同字段,边界的对齐关系会随周期变化。两种情形都表现为前一段没有颜色,需要回到数据长度上找原因。
六、参数与显示设置
需要调整颜色与线宽时,通过公式的参数表与显示设置完成,而不是改条件。参数表里可以给出周期一类的数值参数,显示设置里指定各条输出语句的颜色与线型。把这两处与条件分开维护,后续修改条件时不会牵动显示效果。
周期参数对五彩K线公式的影响体现在条件的取样窗口上。把周期参数改大,条件里用到的均线与区间判断会更平滑,命中位置随之减少或整段转移。改动之后先在副图上对照一遍命中位置,再决定是否保留。
颜色与线型的设置属于显示层,不参与条件的计算。只改显示设置时,条件的命中位置不会变化,这一点可以用来区分两类问题:命中位置变了,是条件或参数的问题;只有颜色变了,是显示设置的问题。核对时先看位置再看颜色,顺序颠倒会把两次改动的影响混在一起。
七、核对与记录
核对的做法是挑一根已经上色的 K 线,回到副图上确认同一根上的条件是否成立,再往前推几根看条件成立的位置与颜色是否一一对应。逐根对过一遍之后,把核对所用的周期与参数值记下来。
下一步可以固定在两件事上:一是把最终版公式里的条件、着色语句与参数值整理成一份说明,写清每一项的作用;二是把这版公式导出留档,与后面修改的版本分开保存。这样后续调整条件时,有一个可以直接对照的基线版本。相关写法可以对照 公式编写教程 一栏,主图与副图的挂载差别可以看 主图副图指标 一栏。
通读下来可以看到,通达信五彩K线公式的重点落在两个可核对的点上:条件命中哪些位置,以及着色语句把它们画成了什么样子。这两点分开验证,颜色不变化的原因就能定位到具体某一处,而不必在条件与显示之间来回猜测。
文中分支名称、函数用法与参数表位置以通达信金融终端为参照;券商定制版与不同版本的可用分支、着色函数的参数顺序及显示设置项可能存在差异,请以你所用版本公式管理器中的实际分支与公式编辑器内的函数说明为准。
