分享

指南针指标平台绘图函数说明

 qqpp1819 2014-02-03

指标平台绘图函数说明(一)

画曲线

2003年1月中旬的指南针证券软件升级中,指标平台新增了一系列功能强大的绘图函数,这些绘图函数包括:画曲线、画折线、画柱状线、画K线,画文本、画标题和画分割线等7类。通过这些绘图函数,可以实现多种画图效果。为了大家能够更好的使用绘图函数,在这里对绘图函数作一个详细的介绍。

1、画曲线(CURVELINE)
画曲线的函数是CURVELINE,可以有1~4个参数,画曲线函数的完整形式如下:CURVELINE( 指标表达式_X, 图线颜色_CLR, 线宽_W, 忽略条件_I ) [1]

同时也可以有如下简化模式:
CURVELINE( 指标表达式_X ) [2]
CURVELINE( 指标表达式_X, 图线颜色_CLR ) [3]
CURVELINE( 指标表达式_X, 图线颜色_CLR, 线宽_W ) [4]

各参数的含义如下:

■ 指标表达式_X

可以是指标、常数以及指标与常数的表达式,例如CYS13、CYF5[1]、10、(OPEN+CLOSE)/ 2。需要注意的是,参数表达式中只能出现常数、结果指标和参数指标,不能出现临时指标、局部变量和输入参数。

■ 图线颜色_CLR

这个变量用来定义图线的颜色,在系统中已经预先定义好了一些常用的颜色,引用这些颜色时,只需线输入“clr”,即可在wizard框中选择需要的颜色,这些颜色包括:

☆clrBlack(黑色)☆clrBlue(蓝色)☆clrDefault(默认色)☆clrGreen(绿色)

☆clrPink(粉红色)☆clrPurple(紫色)☆clrRed(红色) ☆clrSky(天蓝色)

☆ clrWhite(白色)☆clrYellow(黄色)

其中使用默认色时,系统会为图线选择一种比较合适的颜色。如果不输入这个变量(如[2]),指标平台将自动按照默认色显示指标图线。

除了以上几种颜色外,指标平台还允许使用自定义的颜色,用户可以通过RGB()函数设定自己希望的颜色。RGB函数有三个参数,按顺序分别是红、绿、蓝三种基色,指定了这三个值后,RGB函数将会生成一个系统可用的颜色,这三个参数的取值范围都是0~255。如果不知道自己希望的颜色的这三个值,可以通过指标组编辑对话框中的颜色选择对话框(注意点击“More…”按钮)找到颜色对应的红、绿、蓝三种基色的数值。

注意,这个参数不仅仅可以是常量,还可以是指标、函数等变量表达式,灵活使用这种方法,可以实现在不同的条件下,用不同的颜色画指标图线。大家可以从下面的例子中找到这种应用。

■ 线宽_W

线宽标示曲线的宽度,以分辨率为单位,取值范围是:1~5。如果不输入这个变量,图线宽度将自动设为1。和图线颜色_CLR一样,这个参数是可以是指标、函数等变量表达式,可以在不同的条件下用不同的线宽显示指标图线。

■ 忽略条件_I

忽律条件用于设定在什么条件下不画图线,例如显示CYS13的图线时,不希望看到CYS13大于0的部分,则可以把忽略条件设定为:CYS13 > 0,此时CYS13大于0的部分将不被显示。如果忽略条件是0,则标识不忽略。

下面举一些画曲线的简单例子,下面每一个例子中都附带有一个zbt文件,解压压缩包后会生成到本文档所在目录,把对应的zbt文件拷贝到“盘后分析\自定指标\指标”目录即可直接使用。

1) 简单模式

在CURVE1.zbt中只有一句话:CURVELINE(CYS13); 即画CYS13的曲线,曲线函数中仅有一个参数——指标名称,从上面的分析我们可以知道,此时系统使用默认颜色画曲线,线宽为1,不忽略任何交易日,整条曲线是完整的。

曲线如下图示:

2) 指定颜色

CURVELINE( CYS13, CHOOSE(CYS13 > -1.6, clrPurple, clrYellow) );

在Curve2.zbt的CURVELINE函数中,指定了图线的颜色,但是,我么可以看到,指标代码中并不是单纯指定一种颜色,而是使用了CHOOSE函数,CHOOSE函数是一个简单的二选一函数,它的意思是当第一个参数为真是,返回第二个参数的数值,否则返回第三个参数的数值。在Curve2.zbt中,当CYS13大于-1.6时,指标图线是粉色的,否则指标图线是黄色的。显示效果如下图示:

仔细观察图线可能会有这样的疑问——为什么有些地方似乎CYS13大于了-1.6了,但是指标图线却是黄色,而有些地方CYS13小于-1.6,指标图线却是粉红的?这种情况与曲线的特性有关,我们看到的指标窗中的曲线并不平滑,它其实是由相邻两天对应指标值的连线连接而成,是一条很密集的折线。而连接相邻两天指标值的线段是曲线的最小绘图单位,没条线段只能有一种颜色,这种颜色由时间较晚的交易日的指标数值决定。假设第4天CYS13是-3,而第5天CYS13是2,那么连接第4第5天的线段的颜色将由第5天的指标数值来决定,此时应该是粉色的。在另外一个参数“忽略条件_I”中,也有这种情况。

3) 指定颜色与线宽

CURVELINE( CYS13, CHOOSE(CYS13 > -1.6, clrPurple, clrYellow), 3 )

在CURVE3.zbt中,CURVELINE函数除了指定图线颜色,还指定了线宽(线宽_W)参数,数值为3,效果如下图所示。在CURVELINE函数中,线宽的取值范围为[1, 5],数值越大,图线越粗。注意,所有小于1的值视同1,所有大于5的值视同5。

4) 带忽略条件

CURVELINE( CYS13, CHOOSE(CYS13 > -1.6, clrPurple, clrYellow), 3, CYS13< -4 )

忽略条件的作用是当第N日满足忽略条件时,不画第N日与第N-1日间的指标线。在CURVE4.zbt中,我们画出了CYS13的图线,但是忽略CYS13<-4的部分。仔细观察下图可能会发现,有些图线中CYS13的数值明显小于4,但是也被画出来了,原因和“图线颜色_CLR”一样,请参照CURVE2.zbt的说明。

5) 综合效果——渐变色

CURVELINE( CYS13, RGB( ABS(MOD(KLINEINDEX*4,511)-255), ABS(MOD(KLINEINDEX*4,511)-330), ABS(MOD(KLINEINDEX*4,420)-350)) , 3 )
前面所举的几个关于CURVELINE的例子中,图线颜色参数都是常数或者是有限的几种颜色,这是CURVELINE的基本应用。除此以外,CURVELINE函数中的颜色参数还支持变量,允许的变量形式是:函数、结果指标、参数指标和他们的四则运算式。在CURVE5.zbt中,主要就是以KLINEINDEX函数作为变量通过RGB函数组合出每一个交易日的指标颜色,效果如下图示。

如果不希望使用RGB函数组合颜色,甚至可以直接指定一个指标作为颜色,如 CURVELINE( CYS5, CYF13, 3 )。此时每日的指标图线都以CYF13的数值作为颜色。有兴趣的用户可以自己动手试试这样的效果(注意有些地方可能看起来没有指标线,但是这不是被忽略了,而是因为这些交易日CYF13的数值转换为颜色后是黑色,和背景色一样,所以…… J )。

6) 综合效果——线宽渐变

CURVELINE( CYS13, RGB( ABS(MOD(KLINEINDEX*4,511)-255), ABS(MOD(KLINEINDEX*4,511)-330), ABS(MOD(KLINEINDEX*4,420)-350)), CHOOSE(CYS13 >-0.8, 3, CHOOSE(CYS13 > -2.8, 1, 2)) )
和颜色参数一样,线宽参数“线宽_W”也支持变量表达式。在CURVE6.zbt中,当CYS13>-0.8时,线宽为3,CYS13在-2.8到-0.8之间时,线宽为1,小于-2.8时线宽为2。

 

指标平台绘图函数说明(二)

画折线

2003年1月中旬的指南针证券软件升级中,指标平台新增了一系列功能强大的绘图函数,这些绘图函数包括:画曲线、画折线、画柱状线、画K线,画文本、画标题和画分割线等7类。通过这些绘图函数,可以实现多种画图效果。为了大家能够更好的使用绘图函数,在这里对绘图函数作一个详细的介绍。

2、 画折线(ZIGLINE)
画折线的函数是ZIGLINE,可以有2~5个参数,画折线函数的完整形式如下:

ZIGLINE(周期条件_TC,图线位置_P,图线颜色_CLR,线宽_W,忽略条件_I ) [5]

同时也可以有如下简化模式:

ZIGLINE (周期条件_TC,图线位置_P) [6]

ZIGLINE (周期条件_TC,图线位置_P,图线颜色_CLR ) [7]

ZIGLINE(周期条件_TC,图线位置_P,图线颜色_CLR,线宽_W,忽略条件_I ) [8]

各参数的含义如下:

n 周期条件_TC 与 图线位置_P

这两个参数是ZIGLINE函数最基本的部分,折线是指把所有“转折点”用直线连接起来的指标图线,周期条件的作用就是确定那些交易日是转折点。周期条件应该是一个条件表达是,当周期条件非0是,表示当前交易日是转折点,例如把HHVB(OPEN,7)=0作为周期条件,那么“当前天的开盘价是过去七日的最大开盘价”的交易日将成为折线的转折点。

确定了那些交易日是转折点以后,相当于确定了转折点的横坐标,我们还需要确定转折点的纵坐标,这个纵坐标通过“图线位置_P”参数确定。

例如周期条件是第N日和第M日是两个相邻的转折点,图线位置是最高价(HIGH),则ZIGLINE函数会一个直线段把N、M两天的最高价连接起来。

n 图线颜色_CLR

折线的图线颜色于曲线完全一致,可以参照CURVELINE函数“图线颜色”参数的说明。折线的图线颜色也支持变量表达式。

n 线宽_W

折线函数的“线宽”参数于曲线函数完全一致,可以参照CURVELINE的“线宽”参数的说明。折线的“线宽”参数也支持变量表达式。

n 忽略条件_I

折线函数的“忽略条件”参数于曲线函数完全一致,可以参照CURVELINE的“忽略条件”参数的说明。折线的“忽略条件”参数也支持变量表达式。

下面举一些画折线的简单例子(K线窗叠加):

1) 简单模式

ZIGLINE( HHVB(HIGH,7)=0, HIGH )

在ZIGLINE1.zbt中,ZIGLINE函数只有“周期条件”和“图线位置”两个参数,这也是折线函数最简单的应用。上例中,周期条件是HHVB(HIGH,7)=0,即当前交易日是过去7个交易日最高价的最大值;位置条件是最高价(HIGH)。画图效果如下图示(K线窗叠加的效果)。

在下图中,最晚几天没有图线,这不是有忽略条件起作用,而折线函数的性质决定的——要出现一条折线段,就必须有两个相邻的转折点,可以看出在下图最后的10天中,没有符合的HHVB(HIGH,7)=0交易日,找不到转折点,所以最后10天没有图线。事实上,折线能画到最后一个交易日的情况极少(仅当最后一个交易日满足周期条件),大多数情况最后几天是没有图线的。使用ZIGLINE函数时还需要注意一种更特殊的情况——新股K线链较短,可能整条K线链上只要一个转折点甚至一个都没有,此时将完全看不到折线!!!

2) 综合效果

ZIGLINE( HHVB(HIGH,7)=0, HIGH , CHOOSE(HIGH / LOW > 1.02, clrPurple,clrSky) , 3, CLOSE>OPEN );

在ZIGLINE2.zbt中,ZIGLINE函数的“周期条件”和“图线位置”两个参数与ZIGLINE1.zbt一样。此外:

&sup2; 当天振幅大于2%时,用紫色(clrPurple)画图线,否则用天蓝色(clrSky)画图线;

&sup2; 折线的线宽为3;

&sup2; 如果当前天收阳线,则忽略当前天与前一天的线段。

 

指标平台绘图函数说明(三)

画柱状线

2003年1月中旬的指南针证券软件升级中,指标平台新增了一系列功能强大的绘图函数,这些绘图函数包括:画曲线、画折线、画柱状线、画K线,画文本、画标题和画分割线等7类。通过这些绘图函数,可以实现多种画图效果。为了大家能够更好的使用绘图函数,在这里对绘图函数作一个详细的介绍。

3、画柱状线(COLUMN)
柱状线函数是COLUMN,可以有3个或者3个以上的参数,画柱状线函数的完整形式如下:COLUMN(柱线类型_TYPE, 顶价_TOP, 底价_BOTTOM, 图线颜色_CLR, 忽略条件_I, 价格1_V1, 价格颜色1_C1, ... ) [9]

同时也可以有如下简化模式:
COLUMN (柱线类型_TYPE, 顶价_TOP, 底价_BOTTOM) [10]

COLUMN (柱线类型_TYPE, 顶价_TOP, 底价_BOTTOM, 图线颜色_CLR) [11]

COLUMN (柱线类型_TYPE, 顶价_TOP, 底价_BOTTOM, 图线颜色_CLR, 忽略条件_I) [12]

各参数的含义如下:

n 柱线类型_TYPE

一共有3种类型的柱状线:

&sup2; 同向柱状线(clt1Dir);

&sup2; 异向柱状线(clt2Dir);

&sup2; 悬空柱状线(cltSuspend);

同向柱状线与异向柱状线和指标组平台中一样,在本函数中新增了悬空柱状线。所谓悬空柱状线是指不以0为基点的柱状线,在后面的例子中可以清除的看到它们的区别。

n 顶价_TOP和底价_BOTTOM

要确定一条柱状线,就需要确定柱状线顶部和底部的位置,这两个信息通过“顶价”和“底价”参数确定。

注意,虽然“底价”也是COLUMN函数中必须填写的参数,但是底价只有在悬空柱状线中才起作用,对于同向和异向柱状线来说,这个参数不起作用,可以随便填(但是必须填)。

n 图线颜色_CLR

这里说的图线颜色其实是图线的默认颜色,如果COLUMN函数中没有“价格”和“价格颜色”的参数列表,这个图线颜色可以唯一确定柱状线的颜色。

n 忽略条件_I

柱状线的忽略条件的含义和曲线、折线函数基本相同,可以参照前面对忽略条件的说明。

n 价格、价格颜色列表

理论上来说,价格、价格颜色列表的元素个数没有限制,但是这两个参数必须成对出现,每个价格都必须有一个价格颜色与之对应。列表中的每个元素应该按照价格降序排列,排在前面的元素价格应该较大。

每个价格、价格颜色表示当指标值大于价格(V)时柱状线使用的颜色。我们可以通过一个简单的例子了解价格、价格颜色列表的作用:

COLUMN( clt2Dir, CYS13, 0, clrGreen, 0 , 0, clrRed , -4, clrYellow , -10, clrPurple );

上例中,默认颜色是绿色(clrGreen),价格、价格颜色列表中一共有3个元素,综合起来看,每条柱状线CYS13大于等于0的部分用红色(clrRed)画,大于等于-4小于0的部分用黄色(clrYellow)画,大于等于-10小于-4的部分用紫色(clrPurple)画,小于-10的部分没有定义,使用“图线颜色”参数中所指定的颜色——绿色(clrGreen)。最终的图线效果如下图示:

下面举一些画柱状线的简单例子:

1) 简单模式1——同向与异向柱状线

COLUMN( clt2Dir, HIGH - MA(HIGH,10), 0, CHOOSE(OPEN < CLOSE,clrRed,clrGreen) )

在COL1.zbt中,COLUMN函数画的是一条异向柱状线;顶价是今天的最高价与过去10日最高价简单平均的差值;如前面所说,“底价”参数只在悬空柱状线(cltSuspend)中起作用,同向和异向柱状线中可以随便填写,这里填入一个0;在图线颜色上,这个例子中COLUMN函数没有价格、价格颜色列表,每根柱状线的颜色都由图线颜色参数确定——阳线时用红色,阴线时用绿色。

2) 简单模式2——悬空柱状线

COLUMN(cltSuspend,CLOSE,OPEN, CHOOSE(CLOSE >= OPEN,clrRed,clrGreen))

在COL2.zbt中,COLUMN函数画了一条悬空柱状线,顶价是收盘价,底价是开盘价,图线颜色与正常K线的颜色一致,这其实就是正常K线的实体部分。效果如下图示:

3) 综合效果

COLUMN( cltSuspend, HIGH, LOW, clrGreen, CLOSE / OPEN > 1.02 , HIGH - (HIGH - LOW) * 0.2, clrYellow , HIGH - (HIGH - LOW) * 0.4, clrBlue , HIGH - (HIGH - LOW) * 0.6, clrRed , HIGH - (HIGH - LOW) * 0.8, clrSky , HIGH - (HIGH - LOW), clrPurple );

COL3.zbt中,COLUMN画的是一条悬空柱状线,柱状线的顶价是最高价(HIGH),底价是最低价(LOW),默认图线颜色是绿色,如果K线长阳(CLOSE / OPEN > 1.02)则忽略当天的柱状线,通过后面的价格、价格颜色列表,把每根柱状线的平均分割为5段,每段一种颜色。

值得注意的是上图中虽然“图线颜色”参数是绿色(clrGreen),但是因为价格、价格颜色列表已经完全含盖柱状线的范围,所以“图线颜色”参数相当于不起作用。

 

指标平台绘图函数说明(四)

画K线(KLINE)

2003年1月中旬的指南针证券软件升级中,指标平台新增了一系列功能强大的绘图函数,这些绘图函数包括:画曲线、画折线、画柱状线、画K线,画文本、画标题和画分割线等7类。通过这些绘图函数,可以实现多种画图效果。为了大家能够更好的使用绘图函数,在这里对绘图函数作一个详细的介绍。

4、画K线(KLINE)
画K线的函数是KLINE,可以有4个或者4个以上的参数,画K线函数的完整形式如下:

KLINE( 开_OPEN , 高_HIGH , 低_LOW , 收_CLOSE , 图线颜色_CLR , 忽略条件_I , 价格1_V1, 价格颜色1_C1, ... ) [13]

同时也可以有如下简化模式:

KLINE ( 开_OPEN, 高_HIGH, 低_LOW, 收_CLOSE ) [14]

KLINE (开_OPEN, 高_HIGH, 低_LOW, 收_CLOSE, 图线颜色_CLR) [15]

KLINE( 开_OPEN , 高_HIGH , 低_LOW , 收_CLOSE , 图线颜色_CLR , 忽略条件_I ) [16]

各参数的含义如下:

n 开_OPEN, 高_HIGH, 低_LOW, 收_CLOSE

构成K线的四个基本指标,分别对应正常K线的开、高、低、收四个指标,输入时注意参数顺序。

n 图线颜色_CLR、忽略条件_I、价格、价格颜色列表

KLINE函数的“图线颜色”、“忽略条件”、“价格、价格颜色列表” 参数和柱状线函数完全一样,可以参照COLUMN函数中的说明。

一般而言,K线都分为阴线和阳线,用不同的颜色显示,所以,一般使用KLINE函数时,“图线颜色”参数应该使用CHOOSE函数,例如CHOOSE( CLOSE >= OPEN, clrRed, clrGreen )。

 

下面举一些画K线的简单例子:
1、简单模式

KLINE( OPEN, HIGH, LOW, CLOSE, CHOOSE(CLOSE>=OPEN,clrRed,clrGreen)

KLINE1.zbt中,KLINE函数画的是一条标准的K线,值得留意的地方是颜色的设定,KLINE函数中,只有一个“图线颜色”的参数,但是,通过CHOOSE函数,可以针对多种情况定义多种颜色。

2、综合效果1

KLINE( OPEN, HIGH, LOW, CLOSE, CHOOSE(CLOSE>OPEN,clrRed,clrGreen), 0 , 10.5, clrBlue , 10.3, clrPink , 10.1, clrPurple , 9.9, clrSky , 9.7, clrWhite , 9.5, clrYellow );

和KLINE1.zbt相比,在KLINE2.zbt中K线除了默认颜色外,还增加了价格、价格颜色列表。在颜色列表中,大于价格10.5的部分用蓝色画、[10.5, 10.3]的部分使用粉色、……、[9.7,9.5]的部分使黄色、小于9.5的部分在颜色列表中没有设定,用“图线颜色”参数中设定的默认色画。效果如下图示:

3、综合效果2

KLINE( OPEN, HIGH, LOW, CLOSE, CHOOSE(CLOSE>OPEN,clrRed,clrGreen), OPEN >CLOSE , HIGH - (HIGH - LOW) * 0.2, clrYellow , HIGH - (HIGH - LOW) * 0.4, clrBlue , HIGH - (HIGH - LOW) * 0.6, clrRed , HIGH - (HIGH - LOW) * 0.8, clrSky , HIGH - (HIGH - LOW), clrPurple )

和KLINE1.zbt相比,在KLINE3.zbt中增加了颜色列表和忽略条件,和KLINE2.zbt不同的是,KLINE2.zbt中的颜色列表中的价格都是常数,而KLINE3.zbt中的颜色列表其实是把当前天K线等分为5个部分,每个部分使用一种颜色显示。此外KLINE3.zbt中增加了忽略条件(OPEN >CLOSE),也就是说,忽略所有阴线交易日,仅画出阳线交易日的K线

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多