1、怎样编写大智慧指标公式怎样编写大智慧指标公式1.公式设定步骤2.五彩K线公式3.特殊数据引用4.公式编制5.走势特征选股公式的编制6.创历史新高7.突破长期盘整8.五彩K线与交易系统指标的编制方法9.五彩K线编辑10.交易系统11.公式编写实例编写实例12.公式编写实例编写实例(2)13.公式编写实例编写实例(3)14.公式编写实例编写实例(4)15.技术指标公式数据引用格式及注意事项16.走势形态特征指标17.形态特征选股公式的编制18.五彩K线与交易系统指标的编制方法19.交易系统的编制方法20.公式编写实例 编写实例 公式设定步骤公式设定步骤1.设定公式名称:每个公式都有自己的名称,它由
2、字母或数字组成,最多可以有9个字符。请注意,公式名称在同类公式中不能重复。2描述公式:用于简单描述该公式的含义,若输入,则在公式列表中会显示3注释公式:用于描述一个公式如何使用、计算方法等内容。输入后,在有关窗口按“用法注释”按钮可以查看公式注释。4. 设计技术指标公式语句: 式的形式由若干语句组成。每个语句得到一个计算结果,对于技术指标,就是一条指标线,语句间用分号隔开。一个语句由若干函数通过四则运算或逻辑运算而组成。函数是公式系统的基本成分,它是对数据做某种操作,如CLOSE()函数表示调用该分析周期的收盘价。函数由函数名称和参数组成,参数用函数名后的括号括起来,每个函数调用的参数可以是变
3、量或常量,变量是一个随着时间变化而变化的数据,例如收盘价;常量是一个不随时间变化而变的数据。例如函数REF(X,N)用于引用N周期前的X值,X是一个变量,N是一个常量,REF(close(),1)表示计算上一周期的收盘价。函数若需调用几个参数,则它们在括号内是有顺序的。若没有参数则可以省去括号,例如CLOSE()函数没有参数,所以写成 CLOSE和 CLOSE()都可以。函数计算得到的结果是一个变量。计算符将函数连接成为语句。计算符分为算术计算符和逻辑计算符。算术计算符有+、-、*、/,分别是对计算符两边的数值进行加减乘除计算;逻辑计算符有、=、1的逻辑运算结果等于1,12的逻辑运算结果就等于
4、0。语句得到的计算结果连成线就是所谓的指标线,不同的语句就得到不同的线,为了在指标图形中互相区分,不同的线有不同的颜色,而且语句还可以有自己的名称,在指标图形中显示在左上角位置。语句名写在语句的前面,用一个冒号将它与语句隔开。语句“上日收盘价:REF(close,1)”就表示该语句REF(close,1)的名称为“上日收盘价”。该语句后而的语句若需引用它,则写公式名即可,如MA(上日收盘价,20)意思是对上日收盘价求20日平均。5、设计中间语句:一个语句将显示一条指标线,一个复杂的公式往往有很多语句,而且有些语句没必要显示出来。这时我们可以把不需要显示语句定义为中间语句,中间语句的写法只需在一
5、般语句的名称与语句之间的冒号后加个等号,即“:=”即可。例如,语句“上日收盘价:=REF(close,1)”就表示该语句为中间语句。重复使用的语句也可以定义成中间语句。6、设计其他公式语句:其他类型的公式显示的不是指标线,而是相应的操作,如条件选股公式显示的是选股结果,交易系统公式显示的是交易指示,五彩K线公式显示的是K线颜色。这些公式需要有一条或几条逻辑表达式表示这些操作的语句,当语句返回0时表示不需要进行相应的操作,当返回非0时表示需要进行相应的操作。其他的语句都应设定为中间语句。条件选股公式只有一条逻辑表达式语句,用来表示选股条件是否成立,例如CLOSEREF(close,1)语句,表示
6、选出当期收盘价高于上日收盘价的股票。其他的语句必须设定为中间语句,否则编辑器出现“只能有一个输出结果”的警示。交易系统公式需要14条逻辑表达式语句,分别为多头和空头的切入切出条件语句,分别用ENTERLONG, EXITLONG, ENTERSHORT, EXITSHORT表示多头买入、多头卖出、空头切入、空头切出条件,当这些语句返回非0时,表示需要进行相应的操作。其他的语句必须设定为中间语句,否则编辑器出现“非交易信号变量只能用:=赋值”的警示。这四个条件中必须至少设定一个条件。五彩K线公式五彩K线公式可以有1-6条逻辑表达式语句,最多描述6种不同的颜色。7、设计计算参数: 我们有时需要调节
7、公式中的常数来看公式的表现,可以直接进入公式修改,更方便的方法是用计算参数来指代公式中的常数,需要调节公式时不需进公式只需调节参数就可以了。比如,经常要修改REF(close,1)中的第二个参数1,这时可以把它设为一个计算参数N,公式写成REF(close,N),到时调节N即可。计算参数包括参数名称、最小值、最大值、缺省值四个部分。参数名称用于标识参数,本例我们将参数名定位N,计算公式时采用缺省值计算,而最小值和最大值是参数的调整范围。设定参数后,在图形分析窗口显示该指标时,指标名跟着有参数,右键点击参数即可对它进行修改。对于交易系统公式,每个参数还包括一个测试步长,在优化参数时系统从最小值到
8、最大值逐一调整参数,每次调整的增量就是测试步长。例如最小值1,最大值30,步长10,则系统将测试参数1,11,21。最大测试步数为10000次。每个公式可以带有最多16个计算参数。8、其他语句:有时我们想指定技术指标线的画法,这时我们可以在语句后加上线形描述符,描述该语句对应的指标线画法。线形描述符包括STICK:柱状线;COLORSTICK:彩色柱状线,当语句结果为正时显示红色,否则显示绿色;VOLSTICK:成交量柱状线,股价上涨时显示红色空心柱,下跌时显示绿色实心柱;LINESTICK:同时画出柱状线和指标线;CROSSDOT:小叉线;CIRCLEDOT:小圆圈线;POINTDOT:小圆
9、点线。五彩K线公式有用来描述显示K线颜色的语句,其实就是在语句后加上色彩描述符,之间用逗号隔开,表示当该句返回非0时K线的颜色。色彩描述符有:COLORRED:红色;COLORGREEN:绿色;COLORBLUE:蓝色;COLORBLACK:黑色:COLORWHITE:白色;COLORYELLOW:黄色:COLORYELLOW:青色;COLORF0F000:晶红色;COLORBROWN:棕色。技术指标公式还可以主动设定欲显示的坐标线,例如我们在坐标线位置输入框中写入-10;O;10,则显示该指标时出现-10,0,10三条坐标线。特殊数据引用特殊数据引用(1)、指标数据引用在编制公式过程中,有时
10、需要使用另外一个指标的值,如果按照通常的做法,重新编制这个指标就显得很麻烦,因此很有必要学习使用如何调用别的指标公式。调用其他指标的基本格式:”指标.指标线”(参数) A、指标与指标线之间用点“.”分开,一个指标不一定只有一条指标线,所以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指标线。 B、参数在表达式的末尾,必须用括号括起来,参数之间用“,”号分开,通过参数设置可选择设定该指标的参数,如果参数缺失则表示使用该指标的默认参数设置(不过我在使用过程中发现,如不写参数,测试就通不过)。 C、整个表达式用引号引在其中,除参数以外。例如:”MACD.DEF”(26,12,9)表示
11、计算MACD指标的DEA指标线,计算参数为26、12、9,”MACD”(26,12,9)表示该指标的最后一条指标线,计算参数是26、12、9,”MACD”表示该指标的最后一条指标线,并且使用公式的默认参数。(2)、其他股票数据引用使用以下的格式可以在当前的分析界面下引用大盘的数据或者其他个股的数据实现横向上的对比。 A、引用大盘数据引用大盘数据时使用下列函数:INDEXC、INDEXV等等。 B、引用个股数据引用个股数据时使用下列格式:”股票代码$数据”,在以上格式当中调用CLOSE、VOL、AMOUNT等等,例如,”Z000002$VOL”表示000002该股本周期的成交量。同时大盘也可视为
12、一只个股来引用,例如,上证”H000001$CLOSE”表示为大盘本周期的收盘价,深市”Z399001$CLOSE”同样表法大盘本周期的收盘价。(3)、注意事项在编公式中所运用的标点符号均是在英语状态下的符号。在编制公式中,有要显示的句子和不显示的句子,要显示用“:”不要显示用“:=”, 一个源码中最多只能有16个可显示的句子,并且每句结束后要加分号“;”。 另外,开盘价、收盘价、最高价、最低价,在公式中可用该函数的第一个字母代替。因此在编公式时不要单独用这几个字母,请要注意。9、引用其他公式、周期或股票的数据: (注意:本点只作为参考,因大智慧未设有引用其它周期的数据功能)可以在一个公式中引
13、用其他公式、周期或股票的数据,具体做法如下。1)引用指标公式/交易系统/条件选股公式可以引用其他技术指标的指标线,写法是公式名称.指标线名称(参数表),请注意,参数表中的参数个数应该与该公式的实际参数数量一致,若不写参数表,(文章来源:股市马经 )则表示使用缺省参数。例如:KDJ.K(9,6,6),表示引用根据(9,6,6)参数计算出KDJ指标中的K指标线数值。可以引用交易系统公式,写法为SYSTEM.公式名称.交易类型(参数表),交易类型包括ENTERLONG、EXITLONG、ENTERSHORT、EXITSHORT,分别表示引用多头买入、多头卖出、空头买入、空头卖出条件。例如:SYSTE
14、M.KDJ.ENTERLONG,表示引用根据缺省参数计算的KDJ交易系统的多头买入条件。可以引用条件选股公式,写法为EXPLORER.公式名称(参数表),例如:EXPLORER.KDJ,表示引用根据缺省参数计算的KDJ买入条件选股条件。2)跨周期引用公式(大智慧不支持)可以引用其他周期的数据,写法为公式名称.指标线名称#周期(参数表),跨周期引用只能从较短周期引用较长周期,反方向的引用不允许。例如KDJ.K#WEEK(9,6,6),表示引用根据(9,6,6)参数计算周线周期的KDJ指标公式K指标线的数值。其中周期包括MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MO
15、NTH,分别表示1、5、15、30、60分钟线,以及日线、周线、月线。3)引用任意股票的数据可以引用其它股票的数据,写法为:股票代码$数据名称,其中数据名称包括OPEN、HIGH、LOW、CLOSE、VOL、AMOUNT,分别表示开盘价、最高价、最低价、收盘价、成交量、成交额。公式编制公式编制这里举一些最简单的公式例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。收盘价线这是最简单的公式:CLOSE 均线的画法计算N日内收盘价的算术平均值,它是最常用的指标之一,公式为:MA(X,N)表示X的N日平均。例如: MA1: MA (CLOSE,) , coloryellow ; 表
16、示为: 参数名 画一条5日收盘价的均线 设置该线为黄色涨幅涨幅指今日收盘价相对于昨日收盘价的变动幅度,即(今日收盘价昨日收盘价)昨日收盘价*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最高值。因此该公式的含义是当日最高价创日新高时返回值为,否则
17、为。横盘整理横盘整理指最近一段时期价格在一定幅度之内摆动:(HHV(CLOSE,10)-LLV(CLOSE,10)/CLOSE=2 AND MONTH2 b.今天成交量较10个交易日平均成交量放大了1倍,表示如下: a:=ma(vol,10); Vol/a2 或者直接用如下公式表示: vol/ma(vol,10)2; c.今日的5日均量较10个交易日平均成交量放大了1倍,表示如下: a:=ma(vol,10); b:=ma(vol,5); b/a2; d.今日的成交量超过了整个流通盘的5,表示如下: vol/capital0.05;其中capital代表流通盘。 B、缩量 a.今日成交量较昨日
18、减少了一半,表示如下: vol/ref(vol,1)0.5; b.今日成交量较10个交易日平均成交量减少一倍,表示如下: a:=ma(vol,10); vol/a2; 或者直接用如下公式表示: vol/ma(vol,10)2; c.今日的5日均量较10个交易日平均成交量减少1倍,表示如下: a:=ma(vol,10); b:=ref(a,5); a/b2; d.今日的成交量低于了整个流通盘的5,表示如下: vol/capitalref(close,1)1.05; 5日均价连续上涨,表示如下: a:=ma(close,5); b:=ref(a,1); b; 下跌今天的跌幅达到5以上,表示如下:
19、close/ref(close,1)0.95; 5日均价连续下跌,表示如下: a:=ma(close,5); b:=ref(a,1); aopen; 阴线 closeref(close,1); 低开 openref(high,1); 跳空低开(low为最低价) open=n; 注:n为指标参数,可在参数设定范围内设定参数范围。Hhv(x,n),求n周期内x最高值,n=0则从第一个有效值开始;barscount(x),将当前位置到n周期前的数值设为1,若x非0,则将当前位置到n周期前的数值设为1。(2)、n日内创新低 llv(low,n)=llv(low,0) and barscount(clo
20、se)=n; 注n为指标参数,可在参数设定范围内设定参数范围。Llv(x,n),求n周期内x最低值,n=0则从第一个有效值开始;barscount(x)第一个有效数据到当前的天数,例如,barscount(close)以于日线数据取得上市以来总交易日数。(3)、n日内阴线多于阳线 count(openclose,n)/n0.5; 注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5等,达到确定阴线占全部K线个数的比例)。(4)、n日内阳线多于阴线count(open0.5; 注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5
21、等,达到确定阳线占全部K线个数的比例)。(5)、n日内上涨多于下跌(第二天开盘高于前一天收盘) count(cref(c,1),n)/n0.5;注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5等,达到确定其中比例)。(6)、n日内上涨少于下跌(第二天开盘低于前一天收盘) count(cref(c,1),n)/nopen; count(up,n)=n; 注:count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。n为指标参数,可在参数设定范围内设定参数范围。(8)、连续n日内收阴线 up:=closeref(close,1),n)
22、=n; 注:count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。N为指标参数,可在参数设定范围内设定参数范围。(10)、连续n天下跌count(chhv(if(barscount(c)=1,high,0),0)+1=1; 注:barscount(x),若x非0,则将当前位置到n周期前的数值设为1。创历史新高(12)、创历史新高hhv(close,0)=close; 注:hhv(x,n),求n周期内x最高值,n=0则从第一个有效值开始。(13)、创历史新低llv(close,0)=close; 注:llv(x,n),求n周期内x最小值,n=0则从第一个有效值开始。
23、(14)、单日放量a:=ref(ma(vol,5),1); vol/an and vol/capital*100m; 注:n为指标参数,代表今日成交量和前一日的5日均量的比值,可在参数设定范围内设定参数范围。(15)、阶段缩量sum(vol,n1)/capital=n2; 注:n1为要统计的阶段时间,n2为y放量比例,可在参数设定范围内设定参数范围。(17)、持续放量a:=volref(vol,1); count(a,n)=n; 注:其中条件a的含义为成交量较上一交易日放大,n为要统计的阶段时间,可在参数设定范围内设定参数范围。(18)、持续缩量a:=vol=n and hhv(a,n)n2*
24、a,n)n3; 注:a.barscount(x)第一个有效数据到当前的天数。Barscount(c)对于日线数据取得上市以来总交易日数。 b.完整含义:n日内五日均量的最大值小于最小值的n1倍,成交量大于等于五日均量的n2倍的情况发生的次数多于n3次。(20)、放量上攻 a:=(c-ref(c,1)/ref(c,1)=(n/100); sum(vol,n1)/capital=(n2/100) and count(volref(vol,1),n3 )=n3 and count(a,n3)=n3; 完整含义:每日股价涨幅均大于n%,n1日内累计换手率大于n2%,并且成交量连续在n3日内放大。(21
25、)、温和放量上攻股价小幅上扬 a1:=close/ref(close,1); a2:=a11 and a11 and b12; c1:=ma(vol,n)/capital0.6 and c1; 完整公式为:a1:=close/ref(close,1); a2:=a11 and a11 and b12; c1:=ma(vol,n)/capital0.6 and c1; 注:公式分为股价小幅上扬和成交量小幅上扬两个部分,请在指标编写时注意其结构。(22)、突然放量volref(hhv(vol,n),1*m; 注:当前成交量高于n个周期中最大成交量的m倍。(23)、平台整理count(close,0
26、)n and (hhv(close,n)-llv(close,n)/llv(close,n)n为平台整理n个周期的设定。(hhv(close,n)-llv(close,n)/llv(close,n)=(n1/100)为平台整理幅度n1%的设定。突破长期盘整(24)、突破长期盘整 ref(hhv(h,n)-llv(l,n)/llv(l,n)/llv(l,n),1)=ref(hhv(h,n),1) and barscount(c)n; 注:前n日在上下n1%的幅度内整理:ref(hhv(h,n)-llv(l,n)/llv(l,n)/llv(l,n),1)=ref(hhv(h,n),1)。(25)、
27、阶段强势股a:=sum(if(date-n=0,indexc,0),0); b:=sum(if(date-n1=0,indexc,0)0); e:=sum(if(date-n=0,c,0),0); f:=sum(if(date-n1=0,c,0),0); (f-e)/e)(b-a)/a); 注:该公式求的是n日-n1日之间涨幅高于大盘的股票。n、n1参数的表达格式为yymmdd,注意在2000年前的表达为年份的后两位,例如1999年为99,从2000年开始以100依次向后累加,例如2001年9月14日为1010914,indexc函数表示同期大盘的收盘价,该函数对分笔成交分析周期无效。(26)、阶段弱势股a:=sum(if(date=n,indexc,0),0); b:=sum
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1