第十五篇——如何编写通达信指标公式实现自定义K线(从零起步编写通达信指标公式系列)
在前一篇文章中已经介绍了和画线有关的四个绘图函数,今天将介绍两个函数DRAWKLINE和STICKLINE,可以实现自定义K线。DRAWKLINE功能比较单一,只能通过高开低收4个参数画K线。STICKLINE画柱线,通过参数的设定可以实现完全重画K线,包括调整宽度、线型、颜色等,真正做到自定义。
一、DRAWKLINE函数
含义:DRAWKLINE函数可以拆成三个部分理解:DRAW、K、LINE。DRAW是指 "画",LINE是指 "线",因此整个函数的意思就是“画K线”。
举例:
DRAWKLINE(HIGH,OPEN,LOW,CLOSE);
DRAWKLINE高开低收四个参数,对应好参数的位置就可以画出K线图。
把指标公式加载到副图,就可以看出和主图数据是一样的。当然因为附图被压扁的原因,看起来不一样而已。
从上面的介绍来看,感觉DRAWKLINE这个函数也没什么用,这里提供一个常见的用法。有时候我们想比较个股和大盘的相对强度,DRAWKLINE就可以帮我们实现。
DRAWKLINE(INDEXH,INDEXO,INDEXL,INDEXC);
INDEXH,INDEXO,INDEXL,INDEXC是个股对应的大盘指数的高开低收价格,具体的这里先不讲,后面有机会再说。把上面的指标公式加载到副图(如下图),红色箭头处明显可以看出个股和大盘的相对强度。
DRAWKLINE只能输入高开低收四个参数,可以对价格做一些调整,相对来说使用范围比较窄,如果要真正实现自定义K线,完整实现画出K线的过程,需要用到STICKLINE函数。STICKLINE是一个非常实用,使用频率非常高的函数,有必要重点学习并熟练掌握使用方法。
二、STICKLINE函数
含义:画柱线
使用方法:
STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY)
当满足COND条件时,在PRICE1和PRICE2位置之间画柱线;
WIDTH表示柱线的宽度,如果WIDTH为4,就是标准间距);
EMPTY表示柱线是实心还是空心,如果EMPTY为0就是实心柱,为1就是实线空心柱,为-1画就是虚线空心柱。当然也可以为其他数,只不过都是实线空心柱。
举例:
CXG:=H=HHV(H,20);{创20日新高}
STICKLINE(CXG,C,O,3,0);{当创20日新高的时候,在收盘价和开盘价之间,画宽度为3的实心柱线};
可以看到,上图白线柱线就是满足创20日新高条件的,柱线宽度WIDTH为3,就和图上的K线宽度相同,能完全覆盖原来的K线实体部分,比较美观一些。但是只覆盖实体,没有覆盖影线部分,还是不够完美,那能不能做到覆盖影线呢?答案是肯定的。
其实只需要在最高价和最低价之间画宽度WIDTH为0的柱线,实际画出的就是影线。
CXG:H=HHV(H,20);{创20日新高}
STICKLINE(CXG,H,L,0,0);{当创20日新高的时候,在最高价和最低价之间,画宽度为0的实心柱线}
STICKLINE(CXG,C,O,3,0);{当创20日新高的时候,在收盘价和开盘价之间,画宽度为3的实心柱线};
注意一点,要把画影线代码写在画柱线前面,计算机执行代码是从上往下执行的,先画出影线,再画柱线,这样柱线是覆盖在影线之上的。否则就会出现下图这样的情况,影线在柱线之上,不太美观。
当然影线和柱线的颜色相同的时候也看不出来,颜色不同时才会出现上图的情况。至于柱线的颜色如何自定义,在接下来介绍修饰函数时再给大家讲。
利用STICKLINE函数画出K线只是其中一个应用,STICKLINE函数很多时候用在副图指标中,在副图上画出柱线。比如今天是阳线,就画出正的成交量柱(红色);今天是阴线,就画出负的成交量柱(绿色)。
代码如下:
STICKLINE(C>=O,0,V,3,0),COLORRED;
STICKLINE(C<O,0,-V,3,0),COLORGREEN;
通达信编写指标公式常用的画线函数就讲完了,下一篇文章中会讲解标记函数,给指标信号增加一些醒目的标记。
本文来自技术Pie
关注博主,学习更多通达信指标公式编写知识。