通达信指标写法第 2 节公式编写规则所有的公式系统都是遵守统一的运算法则,统一的格式进行函数之间的计算,所以我们掌握了技术指标公式的基本原理,其他的公式也不会出脱其外例如指标公式: KDJ ,右键点击 KDJ ,选择“编辑公式”后打开公式算法编辑器,显示出 KDJ 指标公式的内容参数名称 :缺省值 ,最小值 ,最大值N:9,1,10OM1:3,2,40M2:3,2,40RSV:=(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 内最高价与最低价之差的比值,再乘以系数 100K 线为 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, “ MACD ” (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)逻辑计算符包括 >、、>= 、3 就等于 1逻辑与”表示两个条件都成立时结果才成立: “逻辑或”表示两个条件中只要有一个成立结果成立 例如: 4>3ANDl2>=4 的结果等于 1,4>3 0R 3>12的结果等于 1E 线形描述符对于技术指标公式可以在语句加上线形描述符.用来表示如何画该语句描述的指标线线形描述符包括以下 7 种描述符写在语句后分号前,用逗号将它与语句分隔开,例如在上例当中加入一句线形描述符, c: B*0.618 ,COLORSTICK ;该语句在被执行时,会在图中添加彩色柱线,该功能在编制MACD 等指标的时候会显出它的用处柱状线名称含义 STICK彩色柱状线,当值为正时显示虹色,否则显示绿色COLORSTICK为线形赋色, COLORRED为线形赋红色 COLORBLUE为线形赋蓝色 COLORYELLOW表示黄色线 VOLSTICK成交量柱状线,股价上涨显示红色空心柱,则显示绿色实心柱 LINESTICK同时画出柱状线和指标线 LINETHICK对线体的粗细作出描述 CROSSDOT小叉线 CIRCLEDOT小圆圈线 POINTDOT小圆点线 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 第 3 节公式编写示例·公式示例·指标公式:均线通道·选股公式:均线通道·五彩 K 线公式:均线通道·交易系统公式:均线通道·颜色参数应用: MACDK·新增函数应用: HORCALC(X)·新增函数应用: BLOCKSETNUM( 板块名称 )3.1简单公式这里举一些最简单的公式例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。
收盘价线这是最简单的公式:CLOSE; 均线计算 N 日内收盘价的算术平均值,它是最常用的指标之一,公式为:MA(CLOSE, 5);其中的 MA(X,N) 表示 X 的 N 日平均涨幅涨幅指今日收盘价相对于昨日收盘价的变动幅度,即(今日收盘价-昨日收盘价)/昨日收盘价 *100% , 昨日收盘价的公式为: REF(CLOSE,1) ,因此涨幅的公式:(CLOSE-REF(CLOSE,1))/REF(CLOSE,1); 换手率换手率指当期的成交量占流通股本的比例公式:VOL/CAPITAL;VOL 为当期成交量, CAPITAL 为流通股本创新高创新高指当日最高价是最近一段时间的最高价:HIGH=HHV(HIGH,N);其中的 HIGH 为当期最高价, HHV(X,N) 是求 N 周期内 X 最高值因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0横盘整理横盘整理指最近一段时期价格在一定幅度之内摆动:(HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE<0.05;其中的 LLV(X,N) 是求 N 周期内 X 最。