在通达信软件中,所有指标公式的编写都遵循统一的运算法则和格式规范。只要我们掌握了技术指标公式的基本原理,就能轻松理解和编写其他各类公式。下面,我们以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代表无效数,可作为常数使用。无效数与任何数作计算,其结果仍为无效数。
|