通达信指标公式编写教程 第2节 公式编写规则
-
相关简介:第2节 公式编写规则 所有的公式系统都是遵守统一的运算法则,统一的格式进行函数之间的计算,所以我们掌握了技术指标公式的基本原理,其他的公式也不会出脱其外。例如指标公式:KDJ,右键点击 KDJ,选择编辑公式后打开公式算法编辑器,显示出 KDJ 指标公式的内容。 参数名称:缺省值,最小值,最大值 N:9,1,10O M1:3,2,40 M2:3,2,40 RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:SMA(RSV,M1,1); D
-
文章来源:股海网作者:股海网发布时间:2013-09-12浏览次数:
第2节 公式编写规则
所有的公式系统都是遵守统一的运算法则,统一的格式进行函数之间的计算,所以我们掌握了技术指标公式的基本原理,其他的公式也不会出脱其外。例如指标公式:KDJ,右键点击 KDJ,选择“编辑公式”后打开公式算法编辑器,显示出 KDJ 指标公式的内容。
参数名称:缺省值,最小值,最大值
N:9,1,10O
M1:3,2,40
M2:3,2,40
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1);
D:SMA(K,M2,1);
J:3*K-2*D;
该公式绘制 K、D、J 三条指标线。RSV 行是一个中间语句,计算当期收盘价与 N 天内最低价之差除以 N 内最高价与最低价之差的比值,再乘以系数 100。K 线为 RSV 的 M1 天移动平均线,D 线为线 K 的 M2 天移动平均线,J 线为 K 线与 J 线的差值。
分析以上公式,我们可以引出以下相关的格式和法则的结论:
2.1 数据引用
A 数据来源
公式中的基本数据来源于接收的每日行情数据,这些数据由行情函数从数据库中按照一定的方式提取,例如、高开低收、成交量、 成交额等等。
B 数据类型
按照公式使用的数据类型,系统可以处理的数据分为两类:变量和常量。所谓变量就是一个随着时间变化而变化的数据,例如成交量;常量就是永远不变的数据。例如 3,每个函数需要的参数可能是变量也可能是常量,不能随便乱用,函数计算的结果一般是一个变量。
例如计算收盘价均线 MA(CLOSE,5),MA 函数要求第一个参数为变量,而 CLOSE 函数返回的正是一个变量;MA 函数要求的第二个参数是常量,5就是一个常量,所以我们就不能这样书写:MA(5,CLOSE)。
2.2 特殊数据引用
A 指标数据引用:
经常地编制公式的过程当中,需要使用另外一个指标的值,如果按照通常的做法,重新编写过这个指标显得麻烦,因此有必要学习使用如何调用别的指标公式。
基本的格式为:“指标.指标线”(参数)
a) 指标和指标线之间用逗号分开,一个指标不—定只有一条指标线,所以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指标线。
b) 参数在表达式的末尾,必须用括号括起来,参数之间用逗号分开,通过参数设置可以选择设定该指标的参数,如果参数缺失则表示使用该指标的默认参数设置。
c) 整个表达式用引号引在其中,除参数以外。例如:“MACD.DEA” (26,12,9)表示计算 MACD 指标的 DEA 指标线。计算参数为 26、11、9,(26,12,9)表示该指标的最后一条指标线,计算参数是 26、12、9, “MACD”表示该指标的最后—条指标线并且使用公式的默认参数。
B 跨周期引用指标数据:
a) 引用大盘数据:引用大盘数据时使用下列函数: INDEXC/NDEXV,等等!
b) 引用个股数据:引用个数据时使用下列格式:“股票代码$数据”.在以上格式当中调用 CLOSE,VOL,AMOUNT 等等!例如“000002$VOL表 000002该股本周期的成交量。“999998$CLOSE"同样也可以表示为 A 股指数本周期的收盘价,此时的 A 股指数被视为一只个股。
C 其它股票数据引用:
使用以下的格式可以在当前的分析界面下引用大盘的数据或者其它个股的数据实现横向上的对比。
a) 引用大盘数据:引用大盘数据时使用下列函数: INDEXC/NDEXV,等等!
b) 引用个股数据:引用个数据时使用下列格式:“股票代码$数据”.在以上格式当中调用 CLOSE,VOL,AMOUNT 等等!例如“000002$VOL表 000002该股本周期的成交量。“999998$CLOSE”同样也可以表示为 A 股指数本周期的收盘价,此时的 A 股指数被视为一只个股。
2.3 公式构成
A 公式语句
所有的公式体由若干语句按照一定的格式组成,每个语句表示一个计算结果,根据各个语句的功能分为两大类语句,一类是赋值语句,一类是中间表达式。
B 赋值语句:
在技术指标“B:AZ”和“c:B*0.618”就是分别两条指标线,语句间用分号隔开。该语句被称为赋值语句,在技术指标当中,赋值语句的计算结果将会被计算机执行并形成相应的图形。每个语句可以有一个名称,该名称写在语句的最前面,并用一个冒号将它与语句分隔开。例如:ST:MA(CLOSE,5);表示该语句求收盘价的五日均线,语句的名称为 ST。在该语句后的语句中可以直接用 ST 来替代 MA(CLOSE,5),例如:MA(ST, 5)表示对收盘价的五日均线再求五日平均。
C 中间语句;
一个语句如果不需要显示,可以将它定义为中间语句,例如在上例当中的第一句“A:=X+Y;”,这样该语句就不会披系统辨认为是指标线了。中间语句用“:=”替代冒号,其它与一般语句完全一样。使用中间语句可以有效降低公式的书写难度,还可以将需要重复使用的语句定义成中间语句以减少计算量。每个公式最多可以分 6 个语句,中间公式数量没有限制,所有语句之间需要使用分号隔开。
D 公式计算符
公式计算符将函数连接成为公式。计算分为算术计算符和逻辑计算符。
a)算术计算符
包括十、一、*、/,它们分别对计算符两边的数据进行加减乘除计算,这同一般意义上的算术计算没有差异。
b)逻辑计算符
包括>、<、<>、>=、<=、=、AND、OR 八种,分别表示大于、小于、不等于、大于等于、小于等于、等于、逻辑与、逻辑或运算,如果条件成立计算结果就等于 1,否则等于 0。例如:3+4 等于 7,4>3 就等于 1。“逻辑与”表示两个条件都成立时结果才成立:“逻辑或”表示两个条件中只要有一个成立结果成立。例如:4>3ANDl2>=4 的结果等于 1,4>3 0R 3>12 的结果等于 1。
E 线形描述符
对于技术指标公式可以在语句加上线形描述符.用来表示如何画该语句描述的指标线。线形描述符包括以下 7 种。描述符写在语句后分号前,用逗号将它与语句分隔开,例如在上例当中加入一句线形描述符,c:B*0.618,COLORSTICK;该语句在被执行时,会在图中添加彩色柱线,该功能在编制 MACD 等指标的时候会显出它的用处。
柱状线
a) COLORRED 等三个线形描述符还可以自定义颜色,格式为 COLOR+“BBGGRR”:BB、GG、RR 表示蓝色、绿色和红色的分量,每种颜色的取值范围是 00-FF,采用了 16 进制。例如:MA5:MA(CLOSE,5),COLOR00FFFF表示纯红色与纯绿色的混合色:COLOR808000 表示淡蓝色和淡绿色的混合色。
b) LINETHlCK 可以允许对线型的粗细进行白定义的描述,格式LINETHICK+(1-9)”;参数的取值范围在 1—9 之间,“LINETHICK1”表示最细的线,而“LINETHICK9”表示最粗的线;
2.4 关于无效数的问题
所谓无效数即指没有数据。在某些情况下,一些数据项可能取不到数据,这时返回值为无效数。例如,MA(CLOSE,500),其含义是该股票最近500 天收盘价的均价,如果有些公司上市时间较短没有 500 天,则其值为无效数。反应在分析图上则该指标线不显示。在 TDX 分析系统中函数 NODRAW代表无效数,可作为常数使用。无效数与任何数作计算,其结果仍为无效数。例如:7*NODRAW 得到的结果仍为 NODRAW。