内容提要:本文主要介绍了通达信指标公式常用绘图函数的第一种类型——画线函数,讲解了DRAWNULL、NODRAW、PLOYLINE、DRAWSL这四个画线函数的具体用法。
在上一篇文章中,给大家简单介绍了通达信指标公式绘图函数的三种类型,接下来将详细讲解这些函数的具体用法。说到绘图函数,就不得不提到DRAW。DRAW的英文意思是“画”,许多绘图函数的名称都包含了DRAW。因此,在正式学习这些函数之前,我们有必要了解一下DRAW的含义。
今天主要讲解画线函数DRAWNULL、NODRAW、PLOYLINE、DRAWSL,简单来说画线函数可以用来画各种类型的线。
首先,介绍两个比较另类的函数NODRAW和DRAWNULL,准确来说NODRAW应该属于修饰函数,DRAWNULL属于引用函数,但是这两个函数和画线有关系,所以我就把这两个函数归类在画线函数。
一、NODRAW函数
含义:不画该线,只在加载指标的窗口左上角显示数值。
举例:
MA5:MA(CLOSE,5),NODRAW;{5日均线,不画出来}
MA10:MA(CLOSE,10);{10日均线,会正常显示};
这里可能有人会想到在《第三篇——通达信指标公式编写基础(一)(从零起步编写通达信指标公式系列)》中讲到过的赋值符——冒号加等号(:=),也是不会画出来,这和NODRAW有什么区别呢?可以看下面这张图,可以看出MA5如果使用冒号加等号(:=),把指标加载到主图,MA5毫无存在感,在左上角也不显示数值,如果不看指标公式的代码,就好像完全不存在。通过两张图的对比,应该能看出区别了。
二、DRAWNULL函数
含义:返回无效数,DRAWNULL由DRAW和NULL两部分组成,DRAW是“画”,NULL的英文意思是“无效的、空的”,组合起来可以简单理解为“啥也不干”。
举例:
MA60:=MA(C,60);{60日均线,这里是:=,不会在主图上画出均线}
IF(MA60>REF(MA60,1),MA60,DRAWNULL);{如果今天60日均线的值大于昨天,即均线向上,就画出60日均线,否则不画};
把指标加载到主图,可以发现震荡时,断断续续的,因为震荡时均线一会向上一会向下。这样比较难看,如果想下跌的时候也画出均线,只不过均线颜色不同,把上面的MA60的:=改为:就可以了。如果要指定均线颜色,后面再讲。
看到这里,可能又有疑问:NODRAW和DRAWNULL有什么区别呢?
MA5:MA(C,5),NODRAW;
MA10:MA(C,10),DRAWNULL;
把这个公式加载到主图,对比可以发现,MA5、MA10这两条均线都不显示。但是MA5有数值,而MA10因为使用了DRAWNULL,显示的是“-”,也就是无效数据,空的。
三、PLOYLINE函数
含义:画折线段
使用方法:
PLOYLINE(COND,PRICE),满足COND条件时,把PRICE画折线连起来
举例:
PLOYLINE(H=HHV(H,20),H);{创20日新高的时候,把高点(最高价H)画线连起来}
不知道什么意思就看下图吧,把创新高HIGH=HHV(HIGH,20);写成指标,加载到附图,这样创新高的时候都可以看出来(红色箭头处对应的都是创新高)。创了新高,就把对应K线的最高价H(红圈处)连起来。
四、DRAWSL函数
含义:画斜线
使用方法:
DRAWSL(COND,PRICE,SLOPE,LEN,DIRECT);
当满足满足COND条件时,从PRICE位置起画斜线。
SLOPE表示斜率,SLOPE为0的时候,就表示画水平线;SLOPE为10000时,画垂直线。
LEN表示长度。当画的线为水平线或者斜线时,长度为延伸的周期数;当画的线为垂直线,长度为向上的像素高度。
DIRECT表示延伸方向。当画的线为水平线或者斜线时,DIRECT为0向右画线,1向左画线,2左右都画线;当画的线为垂直线,DIRECT为0向上画线,1向下画线,2上下都画线。
举例:
DRAWSL(H=HHV(H,20),H,0,3,0);{创20日新高的时候,往右画水平线,延伸3个周期};
DRAWSL有5个参数,看代码的时候可能记不住参数的含义,可以看指标公式编辑器下方的动态翻译。
限于篇幅,今天只介绍DRAWNULL、NODRAW、PLOYLINE、DRAWSL这四个画线函数,下一期将介绍DRAWLINE、DRAWKLINE、STICKLINE。
本文来自技术Pie
关注博主,学习更多通达信指标公式编写知识。
标签:函数,DRAWNULL,画线,通达信,第十四,NODRAW,DRAWSL From: https://www.cnblogs.com/ma-dongdong/p/17415823.html