通达信指标公式编写教程:第2节公式编写规则详解-凯发k8娱乐手机
通达信指标公式编写教程:第2节公式编写规则详解
在通达信软件中,所有指标公式的编写都遵循统一的运算法则和格式规范。只要我们掌握了技术指标公式的基本原理,就能轻松理解和编写其他各类公式。下面,我们以kdj指标为例,详细解析公式编写的规则。
一、kdj指标公式示例
右键点击kdj指标,选择“编辑公式”后,即可打开公式算法编辑器,查看kdj指标的具体内容。以下是kdj指标的公式代码:
参数名称:缺省值,最小值,最大值
n:9,1,100
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线与d线的差值(具体为3倍k线减去2倍d线)。
二、公式编写规则详解
2.1数据引用
a.数据来源
公式中的基本数据均来源于每日行情数据,这些数据由行情函数从数据库中提取,包括高开低收、成交量、成交额等。
b.数据类型
在公式中,数据类型主要分为变量和常量两类。变量是随时间变化而变化的数据,如成交量;而常量则是固定不变的数据,如数字3。函数计算时,所需的参数可能是变量也可能是常量,不能随意混用。函数计算的结果通常是一个变量。
例如,在计算收盘价均线ma(close,5)时,ma函数要求第一个参数为变量,而close函数返回的正是变量;ma函数要求的第二个参数是常量,5就是一个常量。因此,我们不能将参数顺序颠倒,写成ma(5,close)。
2.2特殊数据引用
a.指标数据引用
在编写公式时,有时需要引用其他指标的值。此时,可以使用“指标.指标线”(参数)的格式来调用。例如,“macd.dea”(26,12,9)表示计算macd指标的dea指标线,计算参数为26、12、9。如果参数缺失,则表示使用该指标的默认参数设置。
b.跨周期引用指标数据
引用大盘数据:可以使用indexc、indexv等函数来引用大盘数据。
引用个股数据:可以使用“股票代码数据”的格式来引用个股数据。例如,“000002vol”表示000002该股本周期的成交量,“999998$close”表示a股指数本周期的收盘价(此时a股指数被视为一只个股)。
2.3公式构成
a.公式语句
公式体由若干语句组成,每个语句表示一个计算结果。根据语句的功能,可以分为赋值语句和中间表达式两类。
b.赋值语句
赋值语句用于计算并显示一个指标线。例如,“st:ma(close,5);”表示计算收盘价的五日均线,并将结果命名为st。在该语句后的语句中,可以直接用st来替代ma(close,5)。
c.中间语句
中间语句用于计算但不显示结果。它使用“:=”替代冒号,与一般语句完全一样。使用中间语句可以有效降低公式的书写难度,还可以将需要重复使用的语句定义成中间语句以减少计算量。
d.公式计算符
公式计算符用于将函数连接成为公式。计算符分为算术计算符和逻辑计算符两类。
算术计算符:包括 、-、*、/,用于对计算符两边的数据进行加减乘除计算。
逻辑计算符:包括>、<、<>、>=、<=、=、and、or八种,用于进行逻辑判断。如果条件成立,计算结果等于1;否则等于0。
e.线形描述符
线形描述符用于表示如何画该语句描述的指标线。它写在语句后分号前,用逗号将它与语句分隔开。例如,“c:b*0.618,colorstick;”表示在被执行时,会在图中添加彩色柱线。线形描述符包括多种类型,如colorred(红色)、colorstick(彩色柱线)等,还可以自定义颜色和线型粗细。
2.4关于无效数的问题
无效数即指没有数据的情况。在某些情况下,一些数据项可能取不到数据,这时返回值为无效数。例如,ma(close,500)表示计算最近500天收盘价的均价,但如果某只股票上市时间较短没有500天,则其值为无效数。在分析图上,该指标线将不显示。在tdx分析系统中,函数nodraw代表无效数,可作为常数使用。无效数与任何数作计算,其结果仍为无效数。
觉得有用点个赞[ 共91个赞 ]