条件选股编程教程(真正实现股票程序化交易)

发布时间:   来源:文档文库   
字号:

大智慧公式编写教程大智慧公式编写教程第一节公式入门
我们大多数的用户并不是完全了解公式编辑器的意义,简单地,我们可以从以下几个角度进行理解:一、指标分析:
公式编辑器好比是一个工作母床,通过这个工作母床可以制造出所需要的各式各样的零件,同样,在指标分析的工作中,利用编辑器可以编写出相应的分析条件,这种方法是在技术分析当中最为常用的方法之一。例如,指标KD、指标MA等等,通过对这些指标的观察、分析,找出一些合适的条件作为买入卖出点。当然,我们也许需要的是一些自己的指标,一些自己的准确的指标,更多的MBMCMD等等,这一切我们通过公式编辑器可以实现。二、条件选股:
编写公式都要用到什么东西?
我们留下了许多问题--都是公式编写的基础问题,所以我们这节课来解决这些基础的问题。什么是技术指标?



MA均线就是一种技术指标,我们在炒股的时候,经常会将一些行情数据进行数学计算得出一些曲线等等,方便我们掌握股市的变动情况。什么是条件选股?
简单讲,就是按照您的设定的条件用电脑帮助您完成一些太多太复杂的挑选--比如您有一些好的心得和方法,可使有1000多只股票,您就是有100双眼睛有时也不一定可以看得过来,这时电脑就派上用场了!什么是参数?
比如讲:10日均线,您可以把10日当作参数,好处在于,您觉得需要修改成5日的时候,就可以使用一些简单的方法,例如参数精灵来很方便的修改和调整。参数需要名字,例如M就不错。还要规定参数的范围,例如1日至260日。这样我们就可以在1260之间任意调节M的值了,M最常用的数填在缺省一栏,例如你最喜欢用10日均线,那就填10吧。什么是周期?
这么解释吧!我们有的投资者喜欢使用日线图作技术分析;有的喜欢5分钟的K线;有的喜欢使用长一点时间的,例如周线。所以在公式设计中,允许不同喜好的使用者选择不同的分析时间--就是可以选择不同的周期。



什么是函数?
函数在公式编写非常重要,如果作个比喻,我们用一种语言去告诉电脑我的想法,并且让它去帮我做,那么函数就是这种语言的单词。我们在公式编辑器中选择插入函数,就可以看到里面有许多的函数,我们在附录中有一个简表,大家可以到那里去检索!例一:
一根K线有四个价格组成:最高价:HIGH收盘价:CLOSE最低价:LOW开盘价:OPEN成交量:VOL成交额:AMO例二:
两条均线不断地交叉,就专门设定了一条函数来描述两条线交叉:CROSSXY



假如下图中的两条均线一条名叫X,另外一条叫YCROSSXY)表示X向上穿过了YCROSSYX)表示Y向上穿过了X例三:
前面的CLOSE,还是VOL,都表示当天,或者您使用的不是日线,那就表示本周期的数据,那么前几天的怎么表示呢?REFXM例如:
REFClose5)表示5天前的收盘;REFVol10)表示10天前的成交量;
这里的M就是参数,您现在明白了什么是参数了吗?例四:
如果我想把两个条件并列在一起怎么办?AND
XANDY就表示条件X和条件Y
好了!本课结束吧--有点稍慢,下面会好一些!



编写一条最简单的指标线
通过前几课的学习,我们今天开始使用软件的公式编辑功能编写我们自己的第一条指标线。
其实不难,你应该对自己有信心!
按照主菜单-工具-公式**-选择-技术指标-点击新建,然后在公式编辑器中留下你的第一行脚印吧!
点击:确认,现在看一下我们第一条指标线。这条指标线与你的想法相符吗?总结与补充:
1、如果选择:主图叠加,我们的指标线会与K线图显示在同一个图形框中,现在我们的指标线显示在其下方,即副图中;2、参数可以有,也可以没有,但是鼓励大家设置参数,这是非常好的习惯;
3、一个句子完了,别忘了以分号结尾;
你的公式写得对不对,可以通过测试公式来检查,如果错了,它会告诉你错在哪里。
第二节编写最常用的均量和均价线



均价线,不就是那个移动平均线MA”什么的吗?不过,话说回来,听说10个人里面有11个人都在使用,我可得学习学习!原理是??
5日平均线=(今天收盘价+昨天收盘价+.....--5天前的收盘价)/510日平均线=(今天收盘价+昨天收盘价+......+10天前的收盘价)/10150日平均线=(今天收盘价+昨天收盘价+......+150天前的收盘价)/150
200日平均线......不是这么麻烦吧?难道我每天都要写这么多得数才得到一条平均线????你有什么办法?
MA1=MACLOSE5);MA2=MACLOSE10);MA3=MACLOSE50);......
当然是有简单的方法了!你把我在上面说过的话写下来,按照前面几课讲的,写在公式的编辑栏当中就可以了!注意:



“MA”表示的就是计算平均值。
在括号内写上计算的对象和计算的时间长度。
MA1MA2MA3......是好几条指标线,别忘记了用分号把它们分开。最后呢?电脑自己会把它们一起画出来。均量线???
均价线都有了,照着葫芦画瓢,把收盘价CLOSE换成成交量VOL就行了!
MA1MAVOL5);MA2MAVOL10);MA3MAVOL150);MA4MAVOL200);今天有几只发生MA金叉?
我们学习了编写MA移动平均线,关于这几条指标线如何使用?我想大家可能都比我清楚。例如短期均线和长期均线发生了金叉或者死叉,......等等,葛兰维尔的八项法则......如果说如何用分析家软件编写一个条件,让电脑把今天两个市场的股票中所有发生了黄金交叉的股票选出来呢?



想知道吗?这就是条件选股按照条件电脑自动选择股票出来,可以供您分析,要不然的话,技术分析的投资者都会累死了!跟我学!
第一步:工具栏中选中公式**
第二步:我们现在选择新建一个条件选股公式,结果出现了下面的编辑栏!然后在里面写上您的条件!第三步:按照说明书上的步骤选股就行了!注意:
1、在条件选股中点击新建2、原来MA5MACLOSE5);
表示的是一条指标线,可是现在我们在条件选股当中只要引用它,需要把它画出来。所以我们在冒号的后面加一个符号,表示等会要引用它:MA5=MACLOSE5);
这个在分析家的公式编辑中,叫做中间表达式X=1Y=X+1Y=



我们学过上面的数学,都知道把X=1代入到Y的计算中去,“X=1就是一个中间表达式,您明白了吗?如何汇编自己的公式?
好多人只会引入或拆解别人的公式组装一下但终归不是自己的原装,自己也想动手编制但苦于不会,这里就教你学会如何由浅至深的编制公式的技能.满世界找开琐钥匙(寻找破解指标,不如自己做个造锁专(编写公式指标专家,您说呢?
?????怎样编写大智慧指标公式?
???目前大多数证券分析软件都具有指标分析和条件选股的功能,只有用户可以自己编制算法公式的系统才是真正实用的,因为:许多软件的指标和选股功能是黑箱操作,也就是说,其内部算法是不公开的。这样用户并不知道其指标和选股到底是如何运作的、靠性有多高、前提条件是什么,因而也难以决定是否采用指标或选股的结果。这样的指标和选股只有宣传上的意义而没有任何实际意义。许多软件的选股功能都不够强大和灵活。例如有些软件的条件选股功能只能让用户按照特定的模式进行设定,适用面很窄。



公式系统类似于一种编程语言,用户可以数学公式的形式实现任何自己期望的技术指标和选股条件等。可编制的公式可以完全公开算法,用户可以自行分析、评价和修改,做到心中有数。
???公式系统的作用是什么呢?公式系统其实就是对一系列随时间变化的原始数据组序列进行代数和逻辑计算。为什么是数据组序列呢?因为每一个时间周期(即相邻两组数据间的时间间隔)都包含了一组原始数据,如开高低收量额,公式系统能对其中的任何原始数据进行操作。使用者定义出如何对原始数据进行处理得到一个新的数据,式系统读出原始数据并按要求计算出使用者定制的数据,并以曲线、图形、指示等形式显示出来。
公式系统可以编辑四种类型的公式,分别是技术指标、交易系统、条件选股和五彩K线公式。技术指标公式是最基本的公式,它用于指标图形的绘制。技术指标公式结合选股条件逻辑判断表达式,即得到条件选股公式,用于条件选股。技术指标公式结合买卖逻辑判断表达式,得到交易系统公式,用于交易系统指示。技术指标公式结合色彩逻辑判断表达式,即得到K线模式公式,用于描述特定的K线模式。公式的编辑在公式编辑器中完成。
公式系统处理的原始数据的分析周期(即相邻两组数据间的时间间隔)可以从1分钟到1000天间的任意值,也可以是分笔成交数据,我们用鼠标把一个公式拖到某只证券的某个周期的图形分析窗口,



该公式处理这个周期的原始数据,如开高低收量额,改变分析窗口显示的分析周期,则公式处理新的分析周期的数据。
公式系统对数据的运算是基于一系列函数,函数中除ZIG之字转向函数类和BACKSET函数外,其余函数均满足时间不变性,即时间靠后的数据不对时间靠前的结果产生影响。公式设定步骤
1.设定公式名称:每个公式都有自己的名称,它由字母或数字组成,最多可以有9个字符。请注意,公式名称在同类公式中不能重复。2.描述公式:用于简单描述该公式的含义,若输入,则在公式列表中会显示这段文帧?
?????3.注释公式:用于描述一个公式如何使用、计算方法等内容。输入后,在有关窗口按用法注释按钮可以查看公式注释。
?????4.设计技术指标公式语句:
公式的形式由若干语句组成。每个语句得到一个计算结果,对于技术指标,就是一条指标线,语句间用分号隔开。



一个语句由若干函数通过四则运算或逻辑运算而组成。函数是公式系统的基本成分,它是对数据做某种操作,CLOSE(函数表示调用该分析周期的收盘价。函数由函数名称和参数组成,参数用函数名后的括号括起来,每个函数调用的参数可以是变量或常量,变量是一个随着时间变化而变化的数据,例如收盘价;常量是一个不随时间变化而变的数据。例如函数REF(X,N用于引用N周期前的X值,X是一个变量,N是一个常量,REF(close(),1表示计算上一周期的收盘价。函数若需调用几个参数,则它们在括号内是有顺序的。若没有参数则可以省去括号,例如CLOSE(函数没有参数,所以写成CLOSECLOSE(都可以。函数计算得到的结果是一个变量。
计算符将函数连接成为语句。计算符分为算术计算符和逻辑计算符。算术计算符有+-*/,分别是对计算符两边的数值进行加减乘除计算;逻辑计算符有><<>>=<==ANDOR,分别是对计算符两边的数值做大于、小于、不等于、大于等于、小于等于、等于、逻辑与、逻辑或的逻辑运算,如果逻辑条件成立返回的计算结果1,否则为0。例如:2>1的逻辑运算结果等于11>2的逻辑运算结果就等于0
语句得到的计算结果连成线就是所谓的指标线,不同的语句就得到不同的线,为了在指标图形中互相区分,不同的线有不同的颜色,而且语句还可以有自己的名称,在指标图形中显示在左上角位置。语句名写在语句的前面,用一个冒号将它与语句隔开。语句上日收盘价:



REF(close,1”就表示该语句REF(close,1的名称为上日收盘价。该语句后而的语句若需引用它,则写公式名即可,MA(上日收盘价,20意思是对上日收盘价求20日平均。?????5、设计中间语句:
一个语句将显示一条指标线,一个复杂的公式往往有很多语句,而且有些语句没必要显示出来。这时我们可以把不需要显示语句定义为中间语句,中间语句的写法只需在一般语句的名称与语句之间的冒号后加个等号,“:=”即可。例如,语句上日收盘价:=REF(close,1”就表示该语句为中间语句。重复使用的语句也可以定义成中间语句。
??????6、设计其他公式语句:
其他类型的公式显示的不是指标线,而是相应的操作,如条件选股公式显示的是选股结果,交易系统公式显示的是交易指示,五彩K线公式显示的是K线颜色。这些公式需要有一条或几条逻辑表达式表示这些操作的语句,当语句返回0时表示不需要进行相应的操作,返回非0时表示需要进行相应的操作。其他的语句都应设定为中间语句。
条件选股公式只有一条逻辑表达式语句,用来表示选股条件是否成立,例如CLOSEREF(close,1语句,表示选出当期收盘价高于上日收盘



价的股票。其他的语句必须设定为中间语句,否则编辑器出现只能有一个输出结果的警示。
交易系统公式需要14条逻辑表达式语句,分别为多头和空头的切入切出条件语句,分别用ENTERLONGEXITLONG
ENTERSHORTEXITSHORT表示多头买入、多头卖出、空头切入、空头切出条件,当这些语句返回非0时,表示需要进行相应的操作。其他的语句必须设定为中间语句,否则编辑器出现非交易信号变量只能用:=赋值的警示。这四个条件中必须至少设定一个条件。五彩K线公式可以有1-6条逻辑表达式语句,最多描述6种不同的颜色。
?????7、设计计算参数:
我们有时需要调节公式中的常数来看公式的表现,可以直接进入公式修改,更方便的方法是用计算参数来指代公式中的常数,需要调节公式时不需进公式只需调节参数就可以了。比如,经常要修改REF(close,1中的第二个参数1这时可以把它设为一个计算参数N公式写成REF(close,N到时调节N即可。计算参数包括参数名称、最小值、最大值、缺省值四个部分。参数名称用于标识参数,本例我们将参数名定位N计算公式时采用缺省值计算,而最小值和最大值是参数的调整范围。设定参数后,在图形分析窗口显示该指标时,指标名跟着有参数,右键点击参数即可对它进行修改。对于交易系统公



式,每个参数还包括一个测试步长,在优化参数时系统从最小值到最大值逐一调整参数,每次调整的增量就是测试步长。例如最小值1最大值30,步长10,则系统将测试参数11121。最大测试步数10000次。每个公式可以带有最多16个计算参数。?????8、其他语句:
有时我们想指定技术指标线的画法,这时我们可以在语句后加上线形描述符,描述该语句对应的指标线画法。线形描述符包括STICK柱状线;COLORSTICK彩色柱状线,当语句结果为正时显示红色,否则显示绿色;VOLSTICK:成交量柱状线,股价上涨时显示红色空心柱,下跌时显示绿色实心柱;LINESTICK:同时画出柱状线和指标线;CROSSDOT小叉线;CIRCLEDOT小圆圈线;POINTDOT小圆点线。
五彩K线公式有用来描述显示K线颜色的语句,其实就是在语句后加上色彩描述符,之间用逗号隔开,表示当该句返回非0K线的颜色。色彩描述符有:COLORRED:红色;COLORGREEN:绿色;COLORBLUE:蓝色;COLORBLACK:黑色:COLORWHITE:白色;COLORYELLOW黄色:COLORYELLOW青色;COLORF0F000晶红色;COLORBROWN:棕色。



技术指标公式还可以主动设定欲显示的坐标线,例如我们在坐标线位置输入框中写入-10O10,则显示该指标时出现-10010三条坐标线。
特殊数据引用1)、指标数据引用
在编制公式过程中,有时需要使用另外一个指标的值,如果按照通常的做法,重新编制这个指标就显得很麻烦,因此很有必要学习使用如何调用别的指标公式。
调用其他指标的基本格式:指标.指标线”(参数
A指标与指标线之间用点“.”分开,一个指标不一定只有一条指标线,所以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指标线。
B参数在表达式的末尾,必须用括号括起来,参数之间用“,”号分开,通过参数设置可选择设定该指标的参数,如果参数缺失则表示使用该指标的默认参数设置(不过我在使用过程中发现,如不写参数,测试就通不过)。
C、整个表达式用引号引在其中,除参数以外。



例如:”MACD.DEF”26,12,9表示计算MACD指标的DEA指标线,计算参数为26129”MACD”(26,12,9表示该指标的最后一条指标线,计算参数是26129”MACD”表示该指标的最后一条指标线,并且使用公式的默认参数。2)、其他股票数据引用
使用以下的格式可以在当前的分析界面下引用大盘的数据或者其他个股的数据实现横向上的对比。A、引用大盘数据
引用大盘数据时使用下列函数:INDEXCINDEXV等等。B、引用个股数据
引用个股数据时使用下列格式:股票代码$数据”,在以上格式当中调CLOSEVOLAMOUNT等等,例如,”Z000002$VOL”表示000002该股本周期的成交量。同时大盘也可视为一只个股来引用,例如,上”H000001$CLOSE”表示为大盘本周期的收盘价,深”Z399001$CLOSE”同样表法大盘本周期的收盘价。3)、注意事项
在编公式中所运用的标点符号均是在英语状态下的符号。



在编制公式中,有要显示的句子和不显示的句子,要显示用“:”不要显示用“:=”,
一个源码中最多只能有16个可显示的句子,并且每句结束后要加分号“;”
???另外,开盘价、收盘价、最高价、最低价,在公式中可用该函数的第一个字母代替。因此在编公式时不要单独用这几个字母,请要注意。
?????9、引用其他公式、周期或股票的数据:(注意:本点只作为参考,因大智慧未设有引用其它周期的数据功能)
可以在一个公式中引用其他公式、周期或股票的数据,具体做法如下。1)引用指标公式/交易系统/条件选股公式
可以引用其他技术指标的指标线,写法是"公式名称.指标线名称"(参数表请注意,参数表中的参数个数应该与该公式的实际参数数量一致,若不写参数表,则表示使用缺省参数。例如:"KDJ.K966",表示引用根据(966)参数计算出KDJ指标中的K标线数值。
可以引用交易系统公式,写法为"SYSTEM.公式名称.交易类型"(参数,交易类型包括ENTERLONGEXITLONGENTERSHORTEXITSHORT,分别表示引用多头买入、多头卖出、空头买入、空头



卖出条件。例如:"SYSTEM.KDJ.ENTERLONG"表示引用根据缺省参数计算的KDJ交易系统的多头买入条件。
可以引用条件选股公式,写法为"EXPLORER.公式名称"(参数表,例如:"EXPLORER.KDJ",表示引用根据缺省参数计算的KDJ买入条件选股条件。
2)跨周期引用公式(大智慧不支持)
可以引用其他周期的数据,写法为"公式名称.指标线名称#周期"(参数表跨周期引用只能从较短周期引用较长周期,反方向的引用不允许。例如"KDJ.K#WEEK"(966,表示引用根据(966数计算周线周期的KDJ指标公式K指标线的数值。
其中周期包括MIN1MIN5MIN15MIN30MIN60DAYWEEKMONTH,分别表示15153060分钟线,以及日线、周线、月线。
3)引用任意股票的数据
可以引用其它股票的数据,写法为:"股票代码$数据名称",其中数据名称包括OPENHIGHLOWCLOSEVOLAMOUNT分别表示开盘价、最高价、最低价、收盘价、成交量、成交额。



公式编制
这里举一些最简单的公式例子,有些只有一条语句且函数简单,复杂的公式中函数复杂且语句较多。收盘价线
这是最简单的公式:CLOSE均线的画法
计算N日内收盘价的算术平均值,它是最常用的指标之一,公式为:MA(X,N表示XN日平均。例如:
?????????MA1:????MA(CLOSE,????????coloryellow表示为:????参数名????画一条5日收盘价的均线????设置该线为黄色涨幅



涨幅指今日收盘价相对于昨日收盘价的变动幅度,(今日收盘价-昨日收盘价)/昨日收盘价*100%昨日收盘价的公式为:REF(CLOSE,1,因此涨幅的公式:
(CLOSE-REF(CLOSE,1/REF(CLOSE,1换手率
换手率指当期的成交量占流通股本的比例。公式:
VOL/CAPITAL
VOL为当期成交量,CAPITAL为流通股本。五彩K线与交易系统指标的编制方法一、五彩K线1五彩K线简介
简单地说五彩K线,就是对于我们事先描述好的K线形态,大智慧将自动地给我们找出来,同时对满足条件的K线形态赋于颜色,以区别于其他的K线。
依据K线的形态,我们将五彩K线分为上涨下跌反转大类。



2五彩K线编辑时常用的函数1)、BACKSET(X,N
??????五彩K线就是对满足条件的K线形态赋于颜色,在这里,我们就需要赋值函数BACKSET赋予满足条件的K线时段以不同的颜色,区分不满足条件的其它时段的K线。
函数BACKSET(X,N中,X是由逻辑判断语句组合的一个综合条件,N为你意欲赋予颜色的时间长度,该时间长度的取值法为当前周期开始向前到N个当前周期2)、更改颜色
如果不进行任何的颜色设定,系统将以黄色显示五彩K线,目前我们在每个指标中以红色显示五彩K线。如果要更改颜色,只需要瘵指标中“COLORRED”改为其他颜色即可。3五彩K线的编制方法
五彩K线的编制并没有和前面介绍的其他公式有很大的区别,一般的公式编辑是作
为特定的指标来显示,五彩K线将满足条件的连续K线形态赋予颜色,区别于其它的K线,则是把满足设定条件的个股以其们的颜色标明。



1阳包阴五彩K线的编制
这里的阳包阴就是说某一天的阳线将前一天的阴线全部包容起来,使得在K线组
合上出现前小后大的形态。该动态表明前日所有价位买进而未出局者都能获利,从而大鼓舞了人气,为此后的持续上升奠定了基础,是典型的底部信号。
原理:某一天的阳线将前一天的阴线全部包容起来。五彩K线的编辑:
REF(OPEN,1>REF(CLOSE,1??上一交易日收阴线。
CLOSE>REF(OPEN,1?????????收盘价高于上一交易日开盘价。OPEN开盘价小于上一交易日收盘价。HIGH>REF(HIGH,1???????????最高价高于上一交易日最高价。LOW最低价小于上一交易日最低价。CLOSE>OPEN????????????????收阳线
???????????(CLOSE-OPEN>(EMA((HIGH-LOW,N
????????????????????????????????????????为了避免小阴小阳的包阴,我们设定幅



度超过市场N个交易日内平均涨幅。
COLORRED???????????????????五彩K线颜色为红色。那么,整体的公式为:
BACKSET(我们假定的条件,2,COLORRED;????????即:
BACKSET(REF(OPEN,1>REF(CLOSE,1ANDCLOSE>REF(OPEN,1ANDOPEN
HIGH>REF(HIGH,1ANDLOWOPENAND(CLOSE-OPEN>(EMA((HIGH-LOW,N,2,COLORRED;2)、三只乌鸦五彩K线的编制方法
在股价顶部,庄家已获利丰厚,准备出逃时会连续拉出二根、三根或三根以上的小阴线,且每日的K线均低于上一日的收盘价。这促顶部特征不一定要伴随着大的成交量,因此具有较大的欺骗性。原理:1连续三支阴线;2每日收盘价均向下跌;



3收盘价接近每日的最低价位;4每日的开盘价都下跌。五彩K线的编辑:
REF(CLOSE,2前二个交易日收阴线。
REF(CLOSE,1前一个交易日收阴线。
????????????CLOSE最后交易日收阴线。REF(CLOSE,1CLOSE
?????????????????????????????????????????每日收盘价都向下跌。REF(OPEN,1OPEN
?????????????????????????????????????????每日开盘价都向下跌。REF(C,3/REF(O,3>=1.02???????第一根阴线跌幅超过2%。
COLORRED???????????????????五彩K线颜色为红色。



那么,整体的公式为:
BACKSET(我们假定的条件,3,COLORED????????即:BACKSET(REF(CLOSE,2REF(CLOSE,1
REF(CLOSE,1REF(OPEN,1REF(C,3/REF(O,3>=1.02,3,COLORRED;????????注:
三只乌鸦形态发生在上升趋势中,三只乌鸦出现前必须有一段明显的上升趋势,无论这段上升趋势是长或短,在此之后出现该形态才较为有效。三只乌鸦形态如果出现在前期的形态压力位附近,则其反转的可靠性进一步增强。对行情的研判更具意义。在一段上升行情的关健位置在历史高价位区域,且是重要的支撑阻挡位时,出现三只乌鸦形态,则其意义显得重要,在很大的程度上趋势将反转下跌。3)、红三兵五彩K线的编制
在本形态中,相继出现的3根阳线K线组成,它们的收市价一个比一个高(并且每根K线的收市价均接近当日的最高价),表示多头势力的加强。如果这样的3根阳线K线出现在一贯相对稳



定的价格阶段之后,而且处于一个低价区,则预示着市场将进一步坚挺。
五彩K线编辑:
REF(CLOSE,2>REF(OPEN,2???第一根K线收阳。REF(CLOSE,1>REF(OPEN,1???第二根K线收阳。CLOSE>OPEN????????????????第三根K线收阳。(CLOSE-OPEN>=REF((CLOSE-OPEN,1
?????????????????????????????????????????第三根阳线实体大于第二根阳线实体。
REF((CLOSE-OPEN,1>=REF((CLOSE-OPEN,2?????????????????????????????????????????第二根阳线实体大于第一根阳线实体。
OPEN>REF(OPEN,1???????????第三根阳线开盘高于第二根阳线开盘。
REF(OPEN,1>REF(OPEN,2?????第二根阳线开盘高于第一根阳线开盘。
COLORRED???????????????????标明为红色。



那么,整体的公式为:
BACKSET(我们假定的条件,3,COLORED;????????即:
BACKSET(REF(CLOSE,2>REF(OPEN,2ANDREF(CLOSE,1>REF(OPEN,1ANDCLOSE>OPENAND(CLOSE-OPEN>=REF((CLOSE-OPEN,1ANDREF((CLOSE-OPEN,1>=REF((CLOSE-OPEN,2ANDOPEN>REF(OPEN,1AND
REF(OPEN,1>REF(OPEN,2,3,COLORRED;????????注:
如果红三兵出现在V型底、W底的附近,则构成了底部反转形态的确认信号;红三兵形态发生在下降趋势中,红三兵出现前必须有一段明显的下降趋势,无论这段下降趋势是长或短,在此之后出现该形态更为有效;红三兵形态如果出现在底部,是一种底部反转信号,此时买进;红三兵形态如果出现在高位,则是一种较为危险的顶部反转信号,此时不宜买进。
阳线三兵形态有三种类似的构成,表现为一个逐渐而稳定的上升过程,其中每根阳线K线的开市价都处于前一天的阳线实体之内,或者处在其附近的位置上;每一根阳线K线的收市价都应



当位于当日的最高点或接近当日的最高点,如果其中第二根和第三根K线,或者仅仅是第三根K线,表现出上涨势头减弱的迹象,就构成了一个前方受阻(阳线三兵)形态。在前方受阻形态中,作为上涨势头减弱的具体表现,既可能是其中的阳线实体一个比一个小,也可能是后两根阳线K线具有相当较长的上影线,如果在后两根K线中,前一个为长长的阳线实体,并且向上创出了新高,后一根只是一个小的阳线K线,那么就构成了一个(阳线三兵)停顿形态。有时候,这种形态也称为(阳线三兵)深思形态。二、交易系统
交易系统是大智慧在条件选股功能上的一个大的延伸,旨在建立一套完整的交易规则体系,系统可以通过此平台对我们的买入、卖出等操作发出明确的买卖信号指示。1编辑交易系统公式进入大智慧公式编辑器
1、点击交易系统选项,选择新建,可以建立一个亲的交易系统。
2、选中一个具体的交易系统,双击名称或者点击修改,可能浏览并编辑该系统的公式内容。



2交易提示编辑时常用的函数:
1)、前提:交易系统一共包含多头买入(卖出)、空头买入(卖出)四种情况,但是由于我们只允许多头买入、卖出,故我们这里不讨论空头情况。2)、函数
ENTERLONG:多头买入函数。EXITLONG:多头卖出函数。简单的交易系统模型应该如下表示:ENTERLONG:条件A;??????EXITLONG:条件B;
???注意:一个完整的交易系统必须有进出两个条件组成,也就是说ENTERLONGEXITLONG或者ENTERSHORTEXITSHORT(空头买入、卖出函数)中其中一组组成。3交易系统的编制方法
首先,要确定的是,交易系统是多个条件的组合。通过不同条件的叠加、修正,系统自动在满足我们组合条件的个股K线图中添加买卖信号。



1)、均线交易系统
如果个股5日均线上穿20日均线时,我要买入;相反,个5日均线下穿20日均线我就卖出,这样的一个思路我们怎么来编写交易系统呢?很简单
5日均线上穿20日均线(买入条件):CROSS(MA(CLOSE,5,MA(CLOSE,20????????5日均线下穿20日均线(卖出条件):CROSS(MA(CLOSE,20,MA(CLOSE,5
????????按照前面所讲,交易系统函数“ENTERLONG:条件A;EXITLONG:条件B;”的方式表达:
ENTERLONG:CROSS(MA(CLOSE,5,MA(CLOSE,20;????????EXITLONG:CROSS(MA(CLOSE,20,MA(CLOSE,5;????????同时按照自己的需求选择正确的介入点,如果不作选择,统将默认在满足条件时发出提示信号。
为了方便修改指标参数,也可以将5日均线、20日均线设定成参数:SHORTLONG,并将其默认为520。参数自述中加



短期(Parsm#1均线上穿长期(Param#2均线买入,长期均线上穿短期均线卖出。
那么在使用该交易系统时,用鼠标右健点击发出的买卖提示点,选择调整指标参数就可以很方便的修改里面的2条均线参数。2)、KDJ交易系统
我们知道如果在D小于20的区域发生了K线上穿过D线是很好的买入条件;相反,D>80并且好生了D线下穿过了K线,则是很好的卖出条件。如何编辑呢?
第一步:在公式编写栏中分别设定公式的名称、分析周期、参数的各项内容,并编写KD的表达式,并且将KD表达为两个中间表达式。中间表达式用符号“:=”
R:xxx:=(CLOSE-LLV(LOW,N/(HHV(HIGN,N-LLV(LOW,N0*100;????????K:=SMA(RSV,M1,1;????????D:=SMA(K,M2,1;
????????第二步:完成交易系统的结构ENTERLONG:CROSS(K,DANDK<20;????????EXITLONG:CROSS(D,KANDK>80;



????????完整表达式:
R:xxx:=(CLOSE-LLV(LOW,N/(HHV(HIGN,N-LLV(LOW,N0*100;????????K:=SMA(RSV,M1,1;????????D:=SMA(K,M2,1;
ENTERLONG:CROSS(K,DANDK<20;????????EXITLONG:CROSS(D,KANDK>80;
但是,假设在一个KD强势的市场中,如果股价从下方穿过30日均线,并且当天的成交量有比较明显的放大,我会买入;我的卖出条件是股价跌下10日均线之下立即抛出。这个交易系统怎么编辑呢?买入条件:KDJ强势:
AA:=”KDJ,D”(9,3,3;(因为KDJ指标中3个参数默认值分别为933,故我们应在指标中增加默认值)。A1:=AA>40;
????????成交量明显放大,量化为大于5日均量的一倍。



A2:=VOL/MA(VOL,5>2;????????股价从下方上穿过了30日均线。A3:=CROSS(CLOSE,MA(CLOSE,30;????????完整的买入条件为
ENTERLONG:A1ANDA2ANDA3;卖出条件:
股价从上方下穿过了5日均线A4:=CROSS(MA(CLOSE,5,CLOSE;
????EXITLONG:A4ANDCOUNT(A1ANDA2ANDA3,20=1;意其后的COUNT(是用来限定卖出信号发生在买入条件发生的20天内。
那么,完整的公式为:AA:=”KDJ,D”(9,3,3;A1:=AA>40;
A2:=VOL/MA(VOL,5>2;
A3:=CROSS(CLOSE,MA(CLOSE,30;



A4:=CROSS(MA(CLOSE,5,CLOSE;ENTERLONG:A1ANDA2ANDA3;
EXITLONG:A4ANDCOUNT(A1ANDA2ANDA3,20=1;公式编写实例编写实例
3.1指标公式:均线通道新建公式均线通道JXTD1.使用快捷键Ctrl+F打开公式**
2.点击新建按钮,打开公式编辑器
3.填写公式项公式名称---JXTD,公式描述---均线通道
参数(最小值)(最大值)(缺省值)



#N:110026
--------------------------------------------------VAR1:=MA(CLOSE,N;{“VAR1”赋值}VAR2:=MA(CLOSE,2*N;{“VAR2”赋值}VAR3:=MA(CLOSE,3*N;{“VAR3”赋值}VAR4:=MA(CLOSE,4*N;{“VAR4”赋值}
VAR5:=MA((VAR1+VAR2+VAR3+VAR4/4,5;{一条多条均线的平均线}
上轨:VAR5*1.08;{在均线“VAR5”上加上8%的幅度变成上轨”}下轨:VAR5*0.92;{在均线“VAR5”上减去8%的幅度变成下轨”}----------------------------------------------------
4.指标类型:选路径型,还有大势型、超买超卖型、趋势型、能量型等如图
5.画线方法:副图、主图叠加、副图叠加线、副图叠加美国线四种;选中主图叠加型,副图是K线图下面的区域;6.密码保护:010101



7.参数设置:#N最小值为1最大值为100缺省值(默认)268.坐标线位置:在非主图叠加中,此编辑框处可写状态;输出线为副图中深红色横线显示,是副图坐标线;
9.额外Y轴分界:是指标敏感数值输出线,在副图中显示为白色;10.引入指标公式:在引入原公式的基础上进行编辑;
11.插入函数:左上为函数类别,右上为函数表,下区为函数解释区及用法举例;12.公式编辑区:
{}〗是解释,不输出,为了提示自己和别人,便于看懂公式;:=〗赋值符,意为相当于
:〗输出符,它前面的名称为输出名称,可以在副图中看到,它后面的为公式定义;
〖;〗分段符,表示一段完成;〖,〗分节符;
〖()〗括号中为公式体。
13.测试公式:测试通过则自动保存;测试不能通过,则在翻译区提示错误所在。



14.用法注释:自编公式使用说明。
15.K线图上,直接敲字母键“JXTD”调出自编的公式均线通道查看结果;
16.修改公式:左键选中公式线后,点击右键,在弹出的对话框中,选中修改指标项,直接调出《公式编辑器》修改公式。如果左键选指标线不便,直接用右键选参数数值,也可调出公式编辑器。17.鼠标动态提示:将鼠标放在函数上,等一会系统自动出现提示框,方便函数学习和应用,如图:
3.2选股公式:均线通道
改公式均线通道JXTD)为选股公式均线通道1.Ctrl+F〗打开公式**2.点击条件选股公式选项;
3.点击新建按钮,打开条件选股公式编辑器
4.点击引入指标公式按钮,选最后一项均线通道,确定;5.修改输出:公式输出项改为赋值项;即将〖:〗符改为〖:=〗符;



6.新建输出项:选股:CLOSE<下轨;{选出收盘价小于下轨的股票}
7.测试公式通过;
8.Ctrl+T〗打开条件选股公式均线通道,进入公式选股操作程序;
3.3五彩K线公式:均线通道
改公式均线通道JXTD)为五彩K线公式均线通道1.Ctrl+F〗打开公式**2.点击五彩K线公式选项;
3.点击新建按钮,打开“K线指示公式编辑器4.点击引入指标公式按钮,选均线通道确定;五彩K线公式公式名:JXTD公式描述:均线通道
参数(最小值)(最大值)(缺省值)#N:110026



--------------------------------------------------VAR1:=MA(CLOSE,N;{“VAR1”赋值}VAR2:=MA(CLOSE,2*N;{“VAR2”赋值}VAR3:=MA(CLOSE,3*N;{“VAR3”赋值}VAR4:=MA(CLOSE,4*N;{“VAR4”赋值}
VAR5:=MA((VAR1+VAR2+VAR3+VAR4/4,5;{一条多条均线的平均线}
上轨:=VAR5*1.08;{在均线“VAR5”上加上8%的幅度变成上轨”}下轨:=VAR5*0.92;{在均线“VAR5”上减去8%的幅度变成下轨”}CLOSE<下轨,COLORRED;{小于下轨提示买入红色}CLOSE>上轨,COLORYELLOW;{高于上轨提示卖出黄色}HIGH>上轨*1.06,COLORBLUE;{高于上轨6%提示清仓蓝色}LOW<下轨*0.94,COLORMAGENTA;{低于下轨6%提示加仓洋红}
--------------------------------------------------5.测试通过,退出;



6.Ctrl+K〗,打开五彩K线指示---均线通道7.查看效果,不满意就修改参数一直到满意为止;
3.4交易系统公式
改公式均线通道JXTD)为交易系统公式均线通道1.Ctrl+F〗打开公式**2.点击交易系统公式选项;
3.点击新建按钮,打开交易系统公式编辑器4.点击引入指标公式按钮,选均线通道确定;公式名:JXTD公式描述:均线通道
参数(最小值)(最大值)(缺省值)#N:110026
--------------------------------------------------VAR1:=MA(CLOSE,N;{“VAR1”赋值}



VAR2:=MA(CLOSE,2*N;{“VAR2”赋值}VAR3:=MA(CLOSE,3*N;{“VAR3”赋值}VAR4:=MA(CLOSE,4*N;{“VAR4”赋值}
VAR5:=MA((VAR1+VAR2+VAR3+VAR4/4,5;{一条多条均线的平均线}
上轨:=VAR5*1.08;{在均线“VAR5”上加上8%的幅度变成上轨”}下轨:=VAR5*0.92;{在均线“VAR5”上减去8%的幅度变成下轨”}{多头买入}ENTERLONG:CLOSE<下轨;{多头卖出}EXITLONG:CLOSE>上轨;---------------------------------------------------5.测试通过,退出;
6.Ctrl+E〗,打开五彩K线指示---均线通道7.查看效果,不满意就修改参数一直到满意为止;
8.删除指示:快捷键Ctrl+H鼠标左键选中指示图标,Delete或者点击鼠标右键,在弹出的菜单中选删除交易系统指示



3.5颜色参数应用:“MACD”K线公式名称:MACDK简称:“MACD”K线----------------------------
DIF:EMA(CLOSE,SHORT-EMA(CLOSE,LONG;DEA:EMA(DIF,MID;
MACDDIF-DEA*2,COLORSTICK;D1:=EMA(C,3-EMA(C,8;D2:=EMA(O,3-EMA(O,8;D3:=EMA(H,3-EMA(H,8;D4:=EMA(L,3-EMA(L,8;
DRAWICON(CROSS(D1,DIFANDDIF<0,D4-0.1,10;STICKLINE(D1>=D2,D1,D2,8,0,COLOR0055AA;STICKLINE(D1<=D2,D1,D2,8,0,COLOR006600;STICKLINE(D1>=D2,D1,D2,5,0,COLOR0077CC;



STICKLINE(D1>=D2,D1,D2,3,0,COLOR0099DD;STICKLINE(D1>=D2,D3,D4,0,0,COLOR00BBFF;STICKLINE(D1<=D2,D1,D2,5,0,COLOR009900;STICKLINE(D1<=D2,D1,D2,3,0,COLOR00BB00;STICKLINE(D1<=D2,D3,D4,0,0,COLOR00EE00;------------------------------示图
颜色参数不是函数,它描述待画图形的颜色,将其插入到每个指标公式后面,用逗号分隔开。常用颜色参数有:COLORBLACK黑色COLORBLUE蓝色COLORGREEN绿色COLORCYAN青色COLORRED红色COLORMAGENTA洋红色



COLORBROWN棕色COLORLIGHTGRAY淡灰色COLORGRAY深灰色COLORLIGHTBLUE淡蓝色COLORLIGHTGREEN淡绿色COLORLIGHTCYAN淡青色COLORLIGHTRED淡红色COLORLIGHTMAGENTA淡洋红色COLORYELLOW黄色COLORWHITE白色
颜色描述符还可以自定义颜色,格式为COLOR+“RRGGBB”RRGGBB表示红色、绿色和蓝色的分量,每种颜色的取值范围是00-FF采用了16进制。
例如:MA5MA(CLOSE5COLOR00FFFF表示纯红色与纯绿色的混合色:COLOR808000表示淡蓝色和淡绿色的混合色。(参见《附件》--颜色代码表)




3.6新增函数应用(horcalc函数:HORCALC(X说明:数据
:100-HIGH,101-OPEN,102-LOW,103-CLOSE,104-VOL,105-涨幅计算方式:0-累加,1-排名次
权重:0-总股本,1-流通股本,2-等同权重,3-流通市值用法:HORCALC(板块名称,数据项,计算方式,权重
例如:HORCALC(’自选股’,103,0,1;以自选股板块股票的总股本为权重,以收盘价为数源进行累加。公式名称:zdkx公式描述:自定指数K线
参数:(最小值)(最大值)(缺省值)#n:110010---------------
:=HORCALC(’湖北板块’,100,0,1;



:=HORCALC(’湖北板块’,101,0,1;:=HORCALC(’湖北板块’,102,0,1;:=HORCALC(’湖北板块’,103,0,1;自定K线:DRAWKLINE(,,,;MA(自定K线,N;---------------
公式说明:
1.用于制作自定义指数、自设板块指数K线。
2.先制作自定义板块,Ctrl+z填写好板块名称和简称(数字);
3.板块名称须用单引号,如自选股庄股4.起始位为1000点(下载到本地数据);5.板块内不要含有太多的股票数量,以免影响速度;3.7新增函数应用(blocksetnum函数:BLOCKSETNUM(板块名称



说明:统计板块中股票数量用法:BLOCKSETNUM(板块名称注意:板块名称要用单引号
例如:BLOCKSETNUM(’ST板块,返回“ST板块数量。公式名称:STPM
公式描述:个股在st板块内排名--------------
板块股数量:BLOCKSETNUM(’ST板块’,NODRAW;ST涨幅排名:HORCALC(’ST板块’,105,1,2;说明:
NODRAW是不输出线型只输出数值命令,用于多指标不兼容坐标;=================================常用的语句
1今收盘对于N日内最低收盘价的涨幅%(c-llv(c,n/llv(c,n*100;



2)今收盘价对于N日最高收盘价的跌幅(%(HHV(C,N-C/HHV(C,N*100;
3)股价在过去N日内运行空间的相对位置(C-LLV(L,N/(HHV(H,N-LLV(L,N*100;4)股价上方N1%N2%处的筹码(%aa:=winner(c+c*n2/100*100;bb:=winner(c+c*n1/100*100;aa-bb
5)股价下方N1%N2%处的筹码(%(winner(c-c*n1/100-winner(c-c*n2/100*100;
6)收盘价N%处的套牢盘100-(winner(c*N/100*100;7)收盘价N%处的获利盘winner(c*N/100*100;8)下影线(MIN(O,C-L/L*100;9)上影线(h-max(o,c/max(o,c*100;10)本周期的涨跌幅(c-ref(c,1/ref(c,1*100;11)振幅(h-l/l*100;



12)均线金叉(M.N为均线周期)cross(ma(c,m,ma(c,n13)均线多头排列a1:=ma(c,n1;a2:=ma(c,n2;a3:=ma(c,n3;a4:=ma(c,n4;
count(a1>a2anda2>a3anda3>a4,3;14均线空头排列a1:=ma(c,n1;a2:=ma(c,n2;a3:=ma(c,n3;a4:=ma(c,n4;
count(a115N日均线向下aa:=ma(c,n;


本文来源:https://www.2haoxitong.net/k/doc/0686b308b6daa58da0116c175f0e7cd18425189c.html

《条件选股编程教程(真正实现股票程序化交易).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式