1/35通达信公式编程(本教程由风儿整理,教程中指标用法并不代表本人观点)一、技术指标公式基础技术指标公式编辑器,通过该编辑器将单调的数据行情转换成为有形的图形世界,转换成为易观察,视觉效果强烈的曲线,或者其它的图形,方便我们获取有益的信号。公式系统有以下特点:用户只需要描述一个数据是如何计算的,公式系统就能将所有数据计算出来,并以曲线的形式显示出来。公式系统以时间序列为基础,其计算对象是一组沿时间递增的数据序列,每一个时间周期包含一组数据,公式系统能对其中的任何数据进行操作。1、技术指标公式界面内容A:每一个指标公式必须有一个名称,这个名称由字母和数字组成,公式名称在公式中必须是唯一的,公式名称最多15个字符。B:公式描述是一段文字,用来简单描述该公式的含义,在公式列表时显示这段文字,这段文字不宜过长。C:主图叠加和副图选项定义了指标显示的位置,是在主图上与K线叠加还是显示在副图上。D:参数定义区:每一个公式可以设计所需的参数,参数用来替代公式中所需要的常数,在使用时可以方便地调节2/35参数,不必修改公式就可以对计算方法进行调节。参数包括参数名称、最小值、最大值、缺省值、步进值五个部分,参数名称用于标识参数,计算公式时采用缺省值计算,而最小值和最大值是参数的调整范围,步进值一般取1。E:密码,选中该栏目为指标公式加密。F:指标公式,为公式编辑的文本区。G:用法说明,主要用来描述一个公式如何使用、注意事项、计算方法、判断方法等等。2、技术指标公式编写格式和法则所有的公式系统都是遵守统一的运算法则,统一的格式进行函数之间的计算,只要我们掌握了技术指标公式的基本原理,其他的指标公式百变不离其中。例如我们在指标公式系统内写下公式:A:=X+Y;B:=A/Z;C:=B*0.618;分析以上公式,我们可以引出以下相关的格式和法则的结论:A、数据引用:a、数据来源公式中的基本数据来源于接收的每日行情数据,这些数据有行情函数从数据库中按照一定的方式提取,例如,高开低收,成交量,成交额等等。b、数据类型3/35按照公式使用的数据类型,系统可以处理的数据分为两类:变量和常量。所谓变量就是一个随着时间变化而变化的数据,例如成交量;常量就是一个永远不变的数据。例如:每个函数需要的参数可能是变量也可能是常量,不能随便乱用,函数计算的结果一般是一个变量。例如计算收盘价均线MA(CLOSE,5),MA函数要求第一个参数为变量,而CLOSE函数返回的正是一个变量;MA函数要求的第二个参数是常量,5就是一个常量,所以我们就不能这样书写:MA(5,CLOSE)。B、特殊数据引用:经常地编制公式的过程当中,需要使用另外一个指标的值,如果按照通常的做法,重新编写过这个指标显得很麻烦,因此有必要学习使用如何调用别的指标公式。基本格式为:“指标,指标线”(参数)a、指标和指标线之间用逗号分开,一个指标不一定只有一条指标线,所以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指标线。b、参数在表达式的末尾,必须用括号括起来,参数之间用逗号分开,通过参数设置可以选择设定该指标的参数,如果参数缺失则表示使用该指标的默认参数设置。c、整个表达式用引号引在其中,除参数以外。例如:“MACD,DEF”(26,12,9)表示计算MACD指标4/35的DEA指标线,计算参数为26、12、9,“MACD”(26,12,9)表示该指标的最后一条指标线,计算参数是26、12、9,“MACD”表示该指标的最后一条指标线并且使用公式的默认参数。二、公式的构成1、公式语句所有的公式体由若干语句按照一定的格式组成,每个语句表示一个计算结果,根据各个语句的功能分为两大类语句,一类是赋值语句,一类是中间表达式。A、赋值语句:在技术指标“B:A/Z”和“C:B*0.618”就是分别两条指标线,语言间用分号隔开。该语句被称为赋值语句,在技术指标当中,赋值语句的计算结果将会被计算机执行并形成相应的图形。每个语句可以有一个名称,该名称写在语句的最前面,并用一个冒号将它与语句分隔开。例如:ST:MA(CLOSE,5);表示该语句求收盘价的五日均线,语句的名称为ST,在该语句后的语句中可以直接用ST来替代MA(CLOSE,5),例如:MA(ST,5)表示对收盘价的五日均线再求五日平均。B、中间语句:一个语句如果不需要显示,可以将它定义为中间语句,例如在上例当中的第一句“A:=X+Y;”,这样该语句就不会被系统辨认为是指标线了,中间语句用“:=”替代冒号,5/35其他与一般语句完全一样,使用中间语句可以有效降低公式的书写难度,还可以将需要重复使用的语句定义成中间语句以减少计算量。每个公式最多可以分6个语句,中间公式数量没有限制,所有语句之间需要使用分号隔开。2、公式计算符公式计算符将函数连接成为公式,计算分为算术计算符和逻辑计算苻。A、算术计算符:包括+、-、*、/,它们分别对计算符两边的数据进行加减乘除计算,这同一般意义上的算术计算没有差异。B、逻辑计算苻:包括>、<、<>、=、=、=、AND、OR八种,分别表示大于、小于、不等于、大于等于、小于等于、等于、逻辑与、逻辑或运算,如果条件成立计算结果就等于1,否则等于0,例如:3+4等于7,4>3就等于1,3≤12就等于0,“逻辑与”表示两个条件都成立时结果才成立;“逻辑或”表示两个条件中只要有一个成立结果成立。例如,4>3AND12≥4的结果等于1,4>3OR3>12的结果等于1。3、线形描述符对于技术指标公式可以在语句加上线形描述符,用来表示如何画该语句描述的指标线。线形描述符号包括以下7种。描述符写在语句后分号前,用逗号将它们与语句分隔开,例6/35如在上例当中加入一句线形描述符,C:B*0.618,COLORSTICK;该语句在被执行时,会在图中添加色彩柱线,该功能在编制MACD等指标的时候会显出它的用处。A、COLORRED等三个线形描述符还可以自定义颜色,格式为COLOR+“BBGGRR”;BB、GG、RR表示蓝色,绿色和红色的分量,每种颜色的取值范围是00-FF,采用了16进制,例如:MA5:MA(CLOSE,5)COLOR00FFFF表示纯红色与纯绿色的混合色;COLOR808000表示淡蓝色和淡绿色的混合色。B、LINETHICK可以允许对线型的粗细进行自定义的描述,格式“LINETHICK+(0/7)”:参数的取值范围在0-7之间,“LINETHICK0”表示最细的线,而“LINETHICK7”表示最粗的线。三、指标公式编写技巧1、同图绘制多条指标线例一:同图绘制5日、10日、20日、和60日均线,指标原理:移动平均线(MA)是将一段时间的股票价格用数7/35理统计的方法加以平均,再将这些平均价标于图上并用线连接起来即可。它可以用来观察股价的趋势。其中,一段时间常使用的有5日、10日、20日、40日、60日、120日等。移动平均线可以用来确定这段时间持股的平均成本。计算方法:N日移动平均线=N日收市价之和/N编写要点:均线指标是求股票收市价的移动平均线,函数CLOSE的功能是求当日收市价,函数MA(X,N)的功能是求X的N日移动平均线,所以10日均线指标的公式这样写:MA(CLOSE,10)上面例子是在一个图上只绘一条指标线如果您想在同一个图上绘多条指标线,做起来非常简单,您只需用分号将各指标公式隔开就行了,公式这样写:MA1:MA(CLOSE,5);MA2:MA(CLOSE,10);MA3:MA(CLOSE,20);MA4:MA(CLOSE,60);上面公式内部包含四个小公式,小公式间以分号隔开,我们称这种公式为组合公式,可同图绘制多达16条指标线,我们可以为每一条指标线取一个名字,这样就可以在图上区分它们。具体方法是在指标公式前写上名称并加一个冒号,如上面所示.用当一条指标线有了名字以后,其后面的指标线就可以将该指标线作为一个函数来使用。请看下例,求收市价的5日移动平均价的10日移动平均线,写成:MA(MA8/35(CLOSE,5),10),若给收市价5日移动平均线取个名字,我们又能这样写:MA5:MA(CLOSE,5);MA(MA5,10);与前者不同的是,后者同图绘出两条指标线。2、函数的加减乘除和中间表达式例一、多空指数(BBI)指标原理是一种关于不同日数移动平均线的综合指标,长期以来理论界一直为中短期的移动平均线采用多少天数而争论不休,从而衍生出了BBI指标。多空指数就是通过几条不同日数的移动平均线加权平均的方法来解决这一问题。多空指数是将5天、10天、20天、30天4种平均股价(或指数)相加后除以4得出的数值。计算方法:BBI=(5日MA+10日MA+20日MA+30日MA)/4编写要点:中间表达式之一:MA的表达方式如上,假设我们需要引用一条均线,但是不需要显示出来,所以在冒号后面加上等号将它们表达为中间表达式。MA5:=MA(CLOSE,5);中间表达式之二:用当中一条指标线有了名字以后,其后面的指标线就可以将该指标线作为一个中间表达式来使用。请看下例,求收市价的5日移动平均价的再次计算10日移动平均线,写成:9/35MA(MA(CLOSE,5),10)若给收市价5日移动平均线取个名字,我们又能这样写:MA5:MA(CLOSE,5);MA(MA5,10);与前者不同的是,后者同图绘出两条指标线,语句中的计算符号同一般算术符号相通,所以BBI计算如下:MA3:=MA(CLOSE,5);MA6:=MA(CLOSE,10);MA12:=MA(CLOSE,20);MA24:=MA(CLOSE,60);BBI:(MA3+MA6+MA12+MA24)/4;用法:a、同移动平均线b、高价区收盘价跌破BBI线,卖出信号c、底价区收盘价突破BBI线,买入信号d、BBI线向上,股价在BBI线之上,多头势强e、BBI线向下,股价在BBI线之下,空头势强3、参数的使用参数的引进目标在于方便我们在设计和优化指标的过程当中,以简单的方式改变不同的周期、价位等等目标数据达到寻找到最优的参数数据。例一、BIAS乖离率指标原理BIAS是运用股价指数与移动平均值的比值关系,观测股10/35价偏离移动平均线的程度,以此决定投资者的买卖行为。计算方法:(当日收盘价—当日MA均线值)/当日MA均线值*100编写要点:在参数表内设定好相应的3个参数,公式系统内可以设置一共4个参数,从最大值到最小值为参数的变动范围,缺省值为当前指标的取值。参数名最小值最大值缺省值L111006L2110012L3110024注意:在表达式中的百分比的表达方式不可以是“%”而是“/100”;注意:表达式中的函数嵌套关系的表达方法,不存在大括号、中括号等等,全部是用小括号相互嵌套而成;指标内容和使用解析BIAS1:(CLOSE—MA(CLOSE,L1))/MA(CLOSE,L1)*100;BIAS2:(CLOSE—MA(CLOSE,L2))/MA(CLOSE,L2)*100;BIAS3:(CLOSE—MA(CLOSE,L3))/MA(CLOSE,L3)*100;应用原则:偏离率与移动平均值一致时,偏率为0,偏离率为正值时,偏离率在移动平均线上方,说明股市呈上升趋势;偏离率为负值时,偏离率在移动平均线下方,说明股11/35市呈下跌趋势;Y值偏离移动移动平均线的界定范围大体在-15%至15%,即:当Y值在0-15%时,可适当卖出股票,股价有可能反跌,当Y值在-15%-0时,可适当买入股票,股价有可能反弹。4、指标线形设计为了突出一些指标的显示效果,设计了一套指标线形用于指标的特殊表现形式。例一、MACD(柱线的编写实例)指标原理:MACD是根据移动平均线较易掌握趋势变动的方向之优点所发展出来的,它是利用二条不同速度(一条变动的速率快--短期的移动平均线,另一条较慢--长期的移动平均线)的指数平滑移动平均线来计算,二者之间的差异状况(DIF)作为研判行情的基础,然后再求其DIF之9日平滑移动平均线,即MACD线,MACD实际就是运用快速与慢速移动平均线聚合与分离