加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

通达信公式基础函数大全

(2011-09-17 07:39:51)
标签:

通达信基础函数大全

分类: 改版指标


T0002目录下的文件说明
如果重装到一个新位置,只需将整个T0002拷贝过去就可以了,所有的个性化数据都在此目录下
Advhq.dat 星空图相关个性化数据
Block.cfg 板块设置文件
cbset.dat 筹码分析个性化数据
CoolInfo.Txt 系统备忘录
Line.dat 画线工具数据
MyFavZX.dat 资讯收藏夹数据
newmodem.ini 交易客户端个性化数据
padinfo.dat 定制版面个性化数据
PriCS.dat,PriGS.dat,PriText.dat 指标相关数据
recentsearch.dat 最近资讯搜索数据
Scheme.dat 配色方案
tmptdx.css 临时网页CSS文件
user.ini 全局个性化数据
userfx.dat K线图个性化数据
mark.dat 标识信息的存盘文件

以下文件与设置的预警信息有关:
Col_warn.dat
Col_warn_self.dat
Col_warn2.dat
ColwarnTj.dat

[blocknew] 板块目录
[cache] 系统数据高速缓存
[zst_cache] 分时图数据高速缓存
[coolinfo] 系统备忘录目录
[Invest] 个人理财数据目录
[PAD] 定制牘面存盘文件
通达信 飞狐 大智慧 分析家 指标函数一览 (指标爱好者必看
说明: H-飞狐 T-通达信  D-大智慧 F-分析家
绘图函数

这组函数的功能是在主图或副图上设定条件输出图象、图标、直线、文字、数字、指标线、指标柱等,全部可以单独使用。

飞狐的强大功能,在此组函数中有淋漓尽致的发挥。无论在表面(美感),还是实质(提高工作效率)上,都有良好表现。

毫无例外的是,这组函数中,都带有CONDCONDITION,条件,状态。COND在这里可作为条件理解。

为了能找到合适的COND,用于举例子,先介绍一组概念。

高点:在2N+1K线中,中间这根K线的H,要大于等于左右NK线的H。在N+1K线中,有等高点出现,取最先出现的。

低点:在2N+1K线中,中间这根K线的L,要小于等于左右NK线的L。在N+1K线中,有等低点出现,取最先出现的。

峰点:高点和低点,合称为峰点。

(这个定义,意合于技术分析的老祖宗道氏:只要平均指数的最高点超过了前期的最高点,它就处于牛市时期;当最低点低于前期的最低点时,它处于熊市时期。这里我们撇开向上、向下分形和分形峰状点等概念,以免把概念复杂化。)

也为了不让指标一来就过于复杂,我们先取N2来做指标。简介到后面,可以看到,N是可以作为峰点指标的参数进行调整的。

指标名称:FENG2

指标说明:供引用

指标内容:

{峰点参数暂定为2}

A:=REF(H,2);{中间K线的最高价}

B:=A>=REF(H,4) AND A>=REF(H,3) AND A>=REF(H,1) AND A>=H;{中间K线的最高价大于等于两边共四根K线的最高价}

D:=BACKSET(B,3);{将当前位置和之前2个周期的数值设为1}

HD:FILTER(D,2);{找到高点后,过滤掉其后2周期内可能出现的等高点。输出高点}

A2:=REF(L,2);{中间K线的最低价}

B2:=A2<=REF(L,4) AND A2<=REF(L,3) AND A2<=REF(L,1) AND A2<=L;{中间K线的最低价小于等于两边共四根K线的最低价}

D2:=BACKSET(B2,3);{将当前位置和之前2个周期的数值设为1}

LD:FILTER(D2,2);{找到低点后,过滤掉其后2周期内可能出现的等低点。输出低点}

{后面有些例子,就从这个指标中引用信号。}

----------------------------------
H

函数:DRAWBKBMP

描述:设置背景图

类别:绘图

说明:根据条件设置背景图

用法DRAWBKBMP(COND,BMP);当图形上最后一组COND条件满足时,MyBMP做背景。

示例:DRAWBKBMP(C>O, 'MyBMP');表示图形上最后一组C>O时背景显示子FmlDLL目录下的MyBMP.bmp图。

----------------------------------
H

函数:DRAWGBK

描述:渐变背景色

类别:绘图

说明:绘制渐变背景色

用法DRAWGBK(COND,COLOR1, COLOR2,D);COND条件满足时,COLOR1COLOR2渐变色填充子图区域,D=0表示从左到右,D=1表示从上到下。

示例:DRAWGBK(C>O, COLORRGB(255,0,0), COLORRGB(255,255,0),0);表示图形上最后一组C>O时从左到右从红色到黄色渐变填充子图。

----------------------------------
H-F-T-D

函数:DRAWICON

描述:绘制小图标

类别:绘图

说明:在图形上绘制小图标

用法DRAWICON(COND,PRICE,TYPE),COND条件满足时,PRICE位置画TYPE号图标。15种图标编码为1-151-3为小 ,4-5为上下箭头,6-7为红绿小旗,8-9为三角形,10-12为信号灯,13-15OX、四方形)。TYPE为字符串时可显示用户自制BMP 图。

示例:DRAWICON(CLOSE>OPEN,LOW,4)表示当收阳时在最低价位置画4号图标。

DRAWICON(C>O, L, 'MyBMP')表示当收阳时在最低价位置画FmlDLL子目录下的自制图标MyBMP.BMP

这个说明有点老了,飞狐升级飞快,以致帮助文件跟不上变化了。基本意思如说明一样,其它作些补充。

1COND条件,一般是指判断的结果,不是0就是1。如用其它数据,大于等于1的,条件满足;小于1,条件就不满足。

2TYPE图标,现在已经有12种,用下面的指标,在000829上可以全部显示出来。当TYPE取大于等于12的数时,都显示黄球。

TYPE0时,显示的是笑脸(这个指标中没有做进去,自己可以试一下)。

B:="FENG2.HD";

D:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);

A:=D>REF(D,1);

DRAWICON(REF(A,1),1.05*H,1);

DRAWICON(REF(A,2),1.05*H,2);

DRAWICON(REF(A,3),1.05*H,3);

DRAWICON(REF(A,4),1.05*H,4);

DRAWICON(REF(A,5),1.05*H,5);

DRAWICON(REF(A,6),1.05*H,6);

DRAWICON(REF(A,7),1.05*H,7);

DRAWICON(REF(A,8),1.05*H,8);

DRAWICON(REF(A,9),1.05*H,9);

DRAWICON(REF(A,10),1.05*H,10);

DRAWICON(REF(A,11),1.05*H,11);

DRAWICON(REF(A,12),1.05*H,12);

DRAWICON(REF(A,13),1.05*H,13);

DRAWICON(REF(A,14),1.05*H,100);{主图叠加}

当红球和绿球连续显示时,立体感会强一些。

DRAWICON(C>=MA(C,30),MA(C,30),10);

DRAWICON(C主图叠加}

3PRICE是用于定位图标的位置的。一般用1.01H,或者0.99*L等。现在可用ALIGN(0-5)指定对齐位置。

用这个指标来试(主图叠加)

B:="FENG2.HD";

D:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);

A:=D>REF(D,1);

E:=REF(H,1);

DRAWICON(A,E,10),ALIGN0;

DRAWICON(A,E,11),ALIGN1;

DRAWICON(A,E,12),ALIGN2;

DRAWICON(A,E,3),ALIGN3;

DRAWICON(A,E,4),ALIGN4;

DRAWICON(A,E,5),ALIGN5;

可以初步得出结论:

ALIGN0:信号出现在PRICE的正中;

ALIGN1:信号出现在PRICE下边(十分靠近);

ALIGN2:信号出现在PRICE上边(十分靠近);

ALIGN3:信号出现在主图的中间;

ALIGN4:信号出现在主图的最上边;

ALIGN5:信号出现在主图的最下边;

在高低点上作图标,可以使高低点更明确了。

A:="FENG2.LD";

B:="FENG2.HD";

DRAWICON(A,L,11),ALIGN1;

DRAWICON(B,H,10),ALIGN2;{主图叠加}

4、可以自由调用MyBMP.BMP图到显示位置,大大增强了输出的效果。你只要看到好看的图,可以随时抓拍过来,做成BMP文件,放到FmlDLL子目录下,就可以调用了。

A:="FENG2.LD";

B:="FENG2.HD";

DRAWICON(A,L,'PIG'),ALIGN1;

DRAWICON(B,H,'PIG'),ALIGN2;{主图叠加。如果你没有PIG.BMP文件,则不可显示。}

DRAWICON(1,MA(C,5),'S28');

DRAWICON(1,MA(C,10),'S31');

DRAWICON(1,MA(C,20),'S14');

DRAWICON(1,MA(C,30),'S25');{主图叠加。如果你没有PIG.BMP文件,则不可显示。}

----------------------------------
H-F-T-D

函数:DRAWLINE

描述:绘制直线

类别:绘图

说明:在图形上绘制直线段

用法DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),COND1条件满足时,PRICE1位置画直线起点,当COND2条件满足时,PRICE2位置画直线终点,EXPAND为延长类型。

示例:DRAWLINE(HIGH>=HHV(HIGH,10),HIGH,LOW<=LLV(LOW,10),LOW,1)表示在创10天新高与创10天新低之间画直线并且向右延长。

DRAWLINE是唯一一个一句里面用到两个COND的绘图函数。因为它需要两个点来决定一直线。

COND1相当于指定K线位置(横坐标),PRICE1相当于是指定价位(纵坐标),这样一个点在平面上的位置就决定了。

DRAWLINE是从第一点画到第二点的,即有起点与终点的顺序关系:第一点出现的时间,要在第二点之前。否则线是画不出来的。

EXPAND,扩张、发展,这里是延伸的意思吧。一般取0,不延长;取1,延长。实际上是取大于等于1的数就延长,小于1就不延长。

DRAWLINE目前支持POINTDOTLINETHICKCOLORSHIFT这四个描述函数。

举个例子吧。

A:="FENG2.LD";

B:="FENG2.HD";

DRAWICON(A,L,11),ALIGN1;

DRAWICON(B,H,10),ALIGN2;

D:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);

E:=D>REF(D,1);

F:=BACKSET(E,REF(BARSLAST(B),1)+2);

G:=F>REF(F,1);

DRAWLINE(G,H,E,H,1),pointdot,linethick1,coloryellow;{主图叠加}

这根线有些趋势线的意思了。由于趋势线的主观性颇强,只有多设参数才能满足多数人的要求。

DRAWLINE画出的线,应该比手工画出的线精确一些。(DRAWLINE画线的灵敏度,要比手工画线低,所以说DRAWLINE画出的线精确,就未必对。)

主要用于画斜线,水平线我们一般可以另想办法。因为在图中显示直线,并非DRAWLINE专利

比如:

A:="FENG2.LD";

B:="FENG2.HD";

D:=BACKSET(ISLASTPERIOD,BARSLAST(A)+1);

E:=D>REF(D,1);

F:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);

G:=F>REF(F,1);

前高:REF(H,BARSLAST(G));

前低:REF(L,BARSLAST(E));{主图叠加}

----------------------------------
H

函数:DRAWNUMBER

描述:显示数字

类别:绘图

说明:在图形上显示数字

用法DRAWNUMBER(COND,PRICE,NUMBER,PRECISION),COND条件满足时,PRICE位置书写数字NUMBER(可以为常数或数组序列),PRECISION为小数显示位数(取值范围0-3)。可ALIGN0-5定义对齐方式。

示例:DRAWNUMBER(CLOSE/OPEN>1.08,HIGH,(CLOSE-REF(C,1))/REF(C,1)*100,2)表示当日涨幅大于8%时在最高价位置显示涨幅(相对开盘价的百分比)

这个函数的特色是,在NUMBER位置可以放变量。

NUMBER,数字。DRAWNUMBERDRAWTEXT兄弟,也可以用ALIGN(0-5)来定义水平位置,方法相同。

A:="FENG2.LD";

B:="FENG2.HD";

DRAWICON(A,L,11),ALIGN1;

DRAWICON(B,H,10),ALIGN2;

D1:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);

E1:=D1>REF(D1,1);{离目前最近的一个高点}

D2:=BACKSET(E1,REF(BARSLAST(B),1)+2);

E2:=D2>REF(D2,1);{倒数第二个高点}

DRAWTEXT(E1,H*1.02,'高点价:'),COLORGREEN,ALIGN2;

DRAWNUMBER(E1,H*1.02,H,2),COLORGREEN,ALIGN1;

DRAWTEXT(E2,H*1.02,'高点价:'),COLORYELLOW,ALIGN2;

DRAWNUMBER(E2,H*1.02,H,2),COLORYELLOW,ALIGN1;{主图叠加}

----------------------------------
H-F-T-D

函数:DRAWTEXT

描述:加入文字

类别:绘图

说明:在图形上显示文字

用法DRAWTEXT(COND,PRICE,TEXT),COND条件满足时,PRICE位置书写文字TEXT,可用'n'换行,ALIGN0-5定义对齐方式,分析家、通达信不可换行。

示例:DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大阳线')表示当日涨幅大于8%时在最低价位置显示'大阳线'字样。

DRAWTEXT(CLOSE/OPEN>1.08,LOW,'好呀n大涨啦');可显示多行文本,用"n"换行。

在某些满足条件的地方直接显示文字或字符,比显示图标要更直观一些。

此函数可以用ALIGN来定位水平位置。而ALIGN用在DRAWICON上定位的是高低的位置。

从下面例子可以看到,ALIGN(0~2)定义水平位置的意义:

ALIGN0:居中;

ALIGN1:偏右;

ALIGN2:偏左。

也可以用SHIFT函数进行向右水平移位。

所显示的文字或字符,可以用COLOR函数来定义颜色。至于文字的大小,则采用系统默认的大小,在此函数中无法定义。

此函数单独使用有其用途,与DRAWNUMBER配合应用时,效果更不错。后面介绍到DRAWNUMBER时再举例子。

A:="FENG2.LD";

B:="FENG2.HD";

DRAWICON(A,L,11),ALIGN1;

DRAWICON(B,H,10),ALIGN2;

D1:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);

E1:=D1>REF(D1,1);{离目前最近的一个高点}

D2:=BACKSET(E1,REF(BARSLAST(B),1)+2);

E2:=D2>REF(D2,1);{倒数第二个高点}

D3:=BACKSET(E2,REF(BARSLAST(B),1)+2);

E3:=D3>REF(D3,1);{倒数第三个高点}

DRAWTEXT(E1,H*1.01,'TEXT:'),COLORRED,ALIGN0;

DRAWTEXT(E2,H*1.01,'TEXT:'),COLORGREEN,ALIGN1;

DRAWTEXT(E3,H*1.01,'▓TEXT:'),COLORYELLOW,ALIGN2;{主图叠加}

----------------------------------
H

函数:DRAWYITEXT

描述:易学文字

类别:绘图

说明:在图形上显示易学文字,ALIGN0-3定义对齐方式

用法DRAWYITEXT(COND,PRICE,CODE,TYPE),COND条件满足时,PRICE位置书写TYPE类型的CODE的对应文字。TYPE为常数,取0--1,分别表示计算的是干支、64卦,CODE为对应的代码。

示例:DRAWYITEXT(CLOSE/OPEN>1.05,LOW, GANZHI(DATE*100, 2),0)表示当日涨幅大于5%时在最低价位置显示日干支。

DRAWYITEXT(REF(CLOSE,2)>REF(OPEN,2) AND REF(CLOSE,1)>REF(OPEN,1) AND CLOSE>OPEN, LOW, KGUA(1, 1), )表示连二阳时在最低价位置显示K线卦象。

-----------------------------------------------

H

函数:FILLRGN

描述:区间彩带

类别:绘图

说明:绘制指标区间彩带

用法FILLRGN(COND,PRICE1,PRICE2),COND条件满足时,COLOR填充PRICE1PRICE2的区间。

示例:FILLRGN(MA1>MA2, MA1,MA2),colorred 表示MA1>MA2时以红色填充MA1MA2之间的区域。

FILL,充满,填充。RGN可能是REGION,地区,地域。

用这个函数,再加DRAWICON可以调用BMP图象文件的功能,可以作出象风景一样的图。

这里举个简单的例子:

A:=MA(C,5);

B:=MA(C,10);

FILLRGN(1,H*1.01,H*1.02),COLORFFFF66;

FILLRGN(A>=B,A,B),COLORMAGENTA;

FILLRGN(A

FILLRGN(1,L*0.99,L*0.98),COLORFF99CC;{主图叠加}

----------------------------------
H

函数:PARTLINE

描述:分段绘制指标线

类别:绘图

说明:分段绘制指标线

用法PARTLINE(COND,PRICE),满足COND条件绘制PRICE连线。

示例:PARTLINE(C>REF(C,1),C),colorred表示收盘大于前收以红色绘制收盘价连线。

PART,部分,局部。值得一提的是,PARTLINE支持多种描述函数,如例所见。

A:=MA(C,5);

B:=MA(C,10);

PARTLINE(A>=B,A),COLORRED,POINTDOT;

PARTLINE(A>=B,B),COLORGREEN,CIRCLEDOT;

PARTLINE(A

PARTLINE(A主图叠加}

----------------------------------
H-F-T-D

函数:POLYLINE

描述:绘制折线段

类别:绘图

说明:在图形上绘制折线段

用法POLYLINE(COND,PRICE),COND条件满足时,PRICE位置为顶点画折线连接。

示例:POLYLINE(HIGH>=HHV(HIGH,10),HIGH)表示在创10天新高点之间画折线。

POLY,多个的。

支持POINTDOTLINETHICKCOLORSHIFT这四个描述函数。

A:="FENG2.LD";

B:="FENG2.HD";

DRAWICON(A,L,11),ALIGN1;

DRAWICON(B,H,10),ALIGN2;

POLYLINE(A,L),POINTDOT,COLORGREEN;

POLYLINE(B,H),LINETHICK2,COLORMAGENTA;{主图叠加}

----------------------------------
H-F-T-D

函数:STICKLINE

描述:绘制柱线

类别:绘图

说明:在图形上绘制柱线

用法STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),
COND条件满足时,PRICE1PRICE2位置之间画柱状线,宽度为WIDTH可为0-100(10为标准间距),EMPTH不为0大于等于1则画空心柱。宽度为WIDTH(10为标准间距)

示例:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,8,1)表示画K线中阳线的空心柱体部分。STICKLINE(CLOSE>OPEN,HIGH,LOW,0.8,1)表示画K线中阳线的高低线部分。

说明三点:

1PRICE1PRICE2没有顺序关系,即何者在前何者在后都不影响语句的执行。

2WIDTH宽度,支持小数。用1和用0.1,会有很大的差别。取7时和主图的K线宽度差不多。



以下的副图指标,画出的K线,与主图中显示的K线差不多。有些主图叠加指标,叠加在副图中也未尝不可了。

STICKLINE(C>O OR (C=O AND C>REF(C,1)),O,C,7,1),colorred;{画出红K实体}

STICKLINE((C>O AND C<>H) OR (C=O AND C>REF(C,1)),C,H,0.1,0),colorred;{画出红K上影线}

STICKLINE((C>O AND L<>O) OR (C=O AND C>REF(C,1)),L,O,0.1,0),colorred;{画出红K下影线}

STICKLINE(C<=REF(C,1)),C,O,7,0),colorcyan;{画出青K实体}

STICKLINE(C<=REF(C,1)),L,H,0.1,0),colorcyan;{画出青K影线。因为青K是实心的,所以影线从中穿过}

MA(C,5);

3、用STICKLINE可以用两种方法做出多色彩K线效果。

一种是横向的,将K线实体从OC分为N等份,每个小格中放入不同的但比较连续的颜色。

这里随便举个例子,N4,只对阳线加了效果。其它变化,道理是一样的。

A:=C-O;

B:=C>O;

STICKLINE(B,O,O+A/4,8,0),COLORFF99FF;

STICKLINE(B,O+A/4,O+A*2/4,8,0),COLORFF00FF;

STICKLINE(B,O+A*2/4,O+A*3/4,8,0),COLOR9900FF;

STICKLINE(B,O+A*3/4,O+A,8,0),COLOR0000FF;{主图叠加}

还有一种方法就是纵向的了。先在较宽的K线中加颜色,然后把宽度逐步收窄,再加颜色覆盖以前的,这样从纵向看,一根K线中就有不同颜色了。效果做得好的,可以做到赏心悦目。

B:=C>O;

STICKLINE(B,O,C,8,0),COLORFF99FF;

STICKLINE(B,O,C,6,0),COLORFF00FF;

STICKLINE(B,O,C,4,0),COLOR9900FF;

STICKLINE(B,O,C,2,0),COLOR0000FF;{主图叠加}

----------------------------------
H

函数:VERTLINE

描述:绘制垂直线段

类别:绘图

说明:在图形上绘制垂直线段

用法VERTLINE(COND),COND条件满足的周期处画垂直线。

示例:VERTLINE(HIGH>=HHV(HIGH,20))表示在创20天新高时画垂直线。

VERTICAL,垂直的。

VERTLINE目前可以用POINTDOTLINETHICKCOLORSHIFT这四个描述函数来描述。

这个函数,主要是用于画线看时间的。费波纳契周期,可以用这个函数画出来的。

这里举个例子,把日K线中每月的第一个交易日中,画一根垂直线。

A:=MONTH>REF(MONTH,1);

VERTLINE(A),COLOR808040,POINTDOT;{主图叠加}

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有