macd 发表于 2001-8-21 04:10

《分析家公式设计指南》

   序言 分析家公式系统
分析家的公式系统是一套功能强大、使用简单的计算机描述系统。用户可以通过对每日深沪两地交易所和历史上发送的行情数据按照简单的运算法则进行分析、选股、测试,在分析家当中一共提供了四大类公式编辑器:
1、技术指标公式编辑器:
实现对技术图表分析中各类技术指标和自我定义的技术分析指标的编写,并且通过分析家的分析界面形成图表、曲线,以方便和寻找有意义的技术图形和技术特征。
2、条件选股公式编辑器:
也就是通常意义上解释的智能选股。但我们的目的在于建立一个完全开放、自由的选股平台,可以通过对该平台的熟练使用,借助计算机的高速和准确的检索功能寻找满足您的理解的股票形态和技术特征,作到先知先觉,快人一步!并且提供相应的同样开放式的结果检测报告。
3、五彩K线公式编辑器:
准确讲,该编辑器的功能是附属于条件选股功能之上的,我们可以通过该功能将满足条件的连续K线形态赋予颜色,区别了其它的K线。
4、交易系统公式编辑器:
交易系统是在条件选股功能上的一次大的延伸,诣在建立一套完整的交易规则体系,通过该编辑器对各个相关的交易环节,包括买入的切入、卖出、止损以及整体的交易性能检验等等作出定量的规定,帮助投资者建立一套属于自己的买卖规则和理论。
   第一章 技术指标编写
1、1 技术指标公式基础
技术指标公式编辑器是分析家公式系统的第一类编辑器,是最基础的编辑器,通过该编辑器将单调的数据行情转换成为有形的图形世界,转换成为易观察,视觉效果强烈的曲线,或者其它的图形,方便我们获取有益的信息、技术指标。公式系统有以下特点:
用户只需要描述一个数据是如何计算的,公式系统就能将所有数据计算出来,并以曲线的形式显示出来。
公式系统以时间序列为基础,其计算对象是一组沿时间递增的数据序列,每一个时间周期包含一组数据,公式体统能对其中的任何数据进行操作。
1、11 技术指标公式界面内容
在分析家的图形分析界面单击“CTPL+F”选择技术指标公式编辑器的界面,通过该界面我们可以了解该系统的公式设定的内容和相关规则:
A:每一个指标公式必须有一个名称,这个名称由字母和数字组成,公式名称在同类公式中必须是唯一的,例如不能同时存在两个AAA技术指标公式,但可以存在一个AAA技术指标一个AAA条件选股公式,公式名称最多9个字符。
B:公式描述是一段文字,用来简单描述该公式的含义,在公式列表时显示这段文字,这段文字不宜过长。
C:该项选择定义了该指标显示的位置,是在主图上与K线叠加还是显示在副图上,一般来讲,只有少数几个主图指标会设定为主图叠加,例如MA均线、BOLL线等。
D:计算参数:每一个公式可以设计0-4个计算参数,计算参数用来替代公式中所需要的常数,在使用时可以方便地调节参数,不必修改公式就可以对计算方法进行调节。计算参数包括参数名称、最小值、最大值、缺省值四个部分,参数名称用于标识参数,计算公式时采用缺省值计算,而最小值和最大值是参数的调整范围。
E:公式编辑栏,本栏为公式编辑的文本区。
F:密码保护,选中该栏目为指标公式加密。
G:公式注释是一段文字,相对于公式描述而言它可以很长,主要用来描述一个公式如何使用、注意事项、计算方法等等。
I:周期的设定:数据分析周期就是相邻两组数据的时间间隔,可能是从1分钟到1000天间的任意间隔;还可以是分笔成交分析周期,这种情况下时间间隔不定。
公式系统的引用周期:
应不同的使用者在分析周期习惯上的差异,分析家特别设定了周期选择。这主要是针对在引用类函数在引用数据时锁定自己所需要的周期,例如在日线上,或者在周线上等等的要求。
如图所示,共可以从分笔到多日线等10类选择。
函数的引用周期:
大部分的函数本身没有使用周期的限制,除了少数几个描述分笔成交时买卖挂单和挂单量的函数因其本身的定义使用范围有限制。
J:技术指标公式还可以强制设定坐标线位置,例如KD指标我们需要在0、20、50、80、100画5条坐标线,可以在坐标线位置输入框中写入“0;20;50;80;100”,这时在显示区内的图形的坐标的纵坐标将是定义好的坐标,否则的话,系统将会自动选择最佳的显示效果自动定义纵坐标,横坐标因为系统规定为时间坐标是不可更改的。
1、12 技术指标公式编写格式和法则
所有的公式系统都是遵守统一的运算法则,统一的格式进行函数之间的计算,所以我们掌握了技术指标公式的基本原理,其他的公式也不会出脱其外。
例如我们在指标公式系统内写下公式:
A:=X+Y; B:=A/Z;C:=B*0.618;
分析以上公式,我们可以引出以下相关的格式和法则的结论:
一、数据引用
A、数据来源
公式中的基本数据来源于接收的每日行情数据,这些数据有行情函数从数据库中按照一定的方式提取,例如,高开低收,成交量,成交额等等。
B、数据类型
按照公式使用的数据类型,系统可以处理的数据分为两类:变量和常量。
所谓变量就是一个随着时间变化而变化的数据,例如成交量;常量就是一个永远不变的数据。例如3,每个函数需要的参数可能是变量也可能是常量,不能随便乱用,函数计算的结果一般是一个变量。
例如计算收盘价均线MA(CLOSE,5),MA函数要求第一个参数为变量,而CLOSE函数返回的正是一个变量;MA函数要求的第二个参数是常量,5就是一个常量,所以我们就不能这样书写:MA(5,CLOSE)。
二、特殊数据引用
A、指标数据引用:
经常地编制公式的过程当中,需要使用另外一个指标的值,如果按照通常的做法,重新编写过这个指标显得很麻烦,因此有必要学习使用如何调用别的指标公式。
基本格式为:“指标,指标线”(参数)
   a、指标和指标线之间用逗号分开,一个指标不一定只有一条指标线,所以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指标线。
b、参数在表达式的末尾,必须用括号括起来,参数之间用逗号分开,通过参数设置可以选择设定该指标的参数,如果参数缺失则表示使用该指标的默认参数设置。
c、整个表达式用引号引在其中,除参数以外。
例如:“MACD,DEF”(26,12,9)表示计算MACD指标的DEA指标线,计算参数为26、12、9,“MACD”(26,12,9)表示该指标的最后一条指标线,计算参数是26、12、9,“MACD”表示该指标的最后一条指标线并且使用公式的默认参数。
B、跨周期引用指标数据:
在分析家当中允许使用不同分析周期上的指标数据,但是只能是向上引用,不能在原周期上使用比现在周期长度小的周期上的指标数据。
a、基本格式为:“指标,指标线#周期(参数)”,格式上只是比上面指标引用多了一个周期设定其他内容和方法一样,在周期调用上存在以下对应关系:
MIN1:1分钟MIN5:5分钟......DAY:日线 WEEK:周线 MONTH:月线 YEAR:年线
如上图所示,MIN1表示的分析周期为1分钟,那么只能是在当前周期为分笔成交图时才可以实现对该周期指标线数据的引用。例如:当前周期为日线,那么在公式中使用“MACD,DEA#WEEK”(26,12,9)表示使用了当天所在的本周的MACD指标中的数据。
b、以上格式的扩展格式为:“指标,指标线##周期”(参数),该格式比基本格式采用了不同的对齐方式,简而言之,就是说“#”的格式调用的本周期所在的上一级周期的指标数据,那么“##”的格式则表示调用了前一种格式的前一周期的指标数据,举上例而言,“MACD,DEF##WEEK”(26,12,9)表示的是从当天看来的上一周的数据,而基本格式就是当天看来的本周的数据。
C、其他股票数据引用:
使用以下的格式可以在当前的分析界面下引用大盘的数据或者其他个股的数据实现横向上的对比,
a、引用大盘数据引用大盘数据时使用下列函数:INDEXC/INDEXV,等等!
b、引用个股数据引用个股数据时使用下列格式:“股票代码$数据”,在以上格式当中调用CLOSE,VOL,AMOUNT等等!例如“0002$VOL”表示0002该股本周期的成交量,“1A0001$CLOSE”同样也可以表示为大盘本周期的收盘价,此时的大盘被视为一只个股。
三、公式体构成结构
A、公式语句
所有的公式体由若干语句按照一定的格式组成,每个语句表示一个计算结果,根据各个语句的功能分为两大类语句,一类是赋值语句,一类是中间表达式。
B、赋值语句:在技术指标“B;A/Z”和“C;B*0.618”就是分别两条指标线,语言间用分号隔开 。该语句被称为赋值语句,在技术指标当中,赋值语句的计算结果将会被计算机执行并形成相应的图形。每个语句可以有一个名称,改名称写在语句的最前面,并用一个冒号将它与语句分隔开。例如:ST:MA(CLOSE,5);表示该语句求收盘价的五日均线,语句的名称为ST,在该语句后的语句中可以直接用ST来替代MA(CLOSE,5),例如:MA(ST,5)表示对收盘价的五日均线再求五日平均。
C、中间语句:
一个语句如果不需要显示,可以将它定义为中间语句,例如在上例当中的第一句“A:=X+Y;”,这样该语句就不会被系统辨认为是指标线了,中间语句用“:=”替代冒号,其他与一般语句完全一样,使用中间语句可以有效降低公式的书写难度,还可以将需要重复使用的语句定义成中间语句以减少计算量。
每个公式最多可以分6个语句,中间公式数量没有限制,所有语句之间需要使用分号隔开。
D、公式计算符
公式计算符将函数连接成为公式,计算分为算术计算符和逻辑计算苻。
a、算术计算符:包括+、-、*、/,它们分别对计算符两边的数据进行加减乘除计算,这同一般意义上的算术计算没有差异。
b、逻辑计算苻:包括>、<、<>、≥、≤、=、AND、OR八种,分别表示大于、小于、不等于、大于等于、小于等于、等于、逻辑与、逻辑或运算,如果条件成立计算结果就等于1,否则等于0,例如:3+4等于7,4>3就等于1,3≤12就等于0,“逻辑与”表示两个条件都成立时结果才成立;“逻辑或”表示两个条件中只要有一个成立结果成立。例如,4>3AND12≥4的结果等于1,4>3OR3>12的结果等于1。
E、线形描述符
对于技术指标公式可以在语句加上线形描述符,用来表示如何画该语句描述的指标线。
线形描述符号包括以下7种。描述符写在语句后分号前,用逗号将它们与语句分隔开,例如在上例当中加入一句线形描述符,C:B*0.618,COLORSTICK;该语句在被执行时,会在图中添加色彩柱线,该功能在编制MACD等指标的时候会显出它的用处。
STICK:柱状线
COLORSTICK:彩色柱状线,当值为正时显示红色,否则显示绿色
COLORRED:为线形 色,RED表示红色
COLORBLUE:为线形 色,BLUE表示蓝色
COLORYELLOW:为线形 色,YELLOW表示黄色
VOLSTICK:成交量柱状线,当股价上涨时显示红色空心柱,否则绿色
LINESTICK:同时画出柱状线和指标线
LINETHICK:对线体的粗细作出描述
CROSSDOT:小叉线
CIRCLEDOT:小圆圈线
POINTDOT:小圆点线

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、2指标公式编写基础技巧
在以下的章节中我们重点介绍一些指标公式编写过程中的基础技巧,同样的原理,这些原理的潜移默化之后对以后其他的公式的编写大有裨益。
A、同图绘制多条指标线
例一:同图绘制5日、10日、20日、和60日均线
指标原理:移动平均线(ma)是将一段时间的股票价格用数理统计的方法加以平均,再将这些平均价标于图上并用线连接起来即可。它可以用来观察股价的趋势。其中,一段时间常使用的有3日、6日、10日、12日、24日、30日等。移动平均线可以用来确定这段时间持股的平均成本并使股民能据此判断行情。
计算方法
N日移动平均线=N日收市价之和/N
编写要点
均线指标是求股票收市价的移动平均线,从分析家函数集合到,函数CLOSE的功能是求当日收市价,函数MA(X,N)的功能是求X的N日移动平均线,所以10日均线指标的公式这样写:MA(CLOSE,10)
上面两个例子都是在一个图上只绘一条指标线如果您想在同一个图上绘多条指标线,请看下图,做起来非常简单,您只需用分号将各指标公式隔开就行了,公式这样写:
   MA(CLOSE,5);
   MA(CLOSE,10);
   MA(CLOSE,20);
   MA(CLOSE,60);
这个公式内部包含四个小公式,小公式间以分号隔开,我们称这种公式为组合公式,从分析家3.1版起,可同图绘制多达16条指标线,我们可以为每一条指标线取一个名字,这样就可以在图上区分它们。具体方法是在指标公式前写上名称并加一个冒号,如上面所示。
用当一条指标线有了名字以后,其后面的指标线就可以将该指标线作为一个函数来使用。请看下例,求收市价的5日移动平均价的10日移动平均线,写成:MA(MA(CLOSE,5),10),若给收市价5日移动平均线取个名字,我们又能这样写:
MA5:MA(CLOSE,5);
MA(MA5,10);
与前者不同的是,后者同图绘出两条指标线。
B、函数的加减乘除和中间表达式
例一、 多空指数(bbi)
指标原理
是一种关于不同日数移动平均线的综合指标,长期以来理论界一直为中短期的移动平均线采用多少天数而争论不休,从而衍生出了BBI指标。多空指数就是通过几条不同日数的移动平均线加权平均的方法来解决这一问题。多空指数是将3天、6天、12天、24天4种平均股价(或指数)相加后除以4得出的数值。
计算方法
BBI=(3日MA+6日MA+12日MA+24日MA)/4
编写要点
中间表达式之一:
MA的表达方式如上,假设我们需要引用一条均线,但是不需要显示出来,所以在冒号后面加上等号将它们表达为中间表达式。
MA5:=MA(CLOSE,5);
中间表达式之二:
用当中一条指标线有了名字以后,其后面的指标线就可以将该指标线作为一个中间表达式来使用。请看下例,求收市价的5日移动平均价的再次计算10日移动平均线,写成:MA(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;
主图叠加指标
加6日平均价加12日平均价加24日平均价,其和除以四
用法:
1、同移动平均线
2、高价区收盘价跌破BBI线,卖出信号
3、底价区收盘价突破BBI线,买入信号
4、BBI线向上,股价在BBI线之上,多头势强
5、BBI线向下,股价在BBI线之下,空头势强
C、参数的使用
参数的引进目标在于方便我们在设计和优化指标的过程当中,以简单的方式改变不同的周期、价位等等目标数据达到寻找到最优的参数数据。
例一、BIAS乖离率
指标原理
BIAS是运用股价指数与移动平均值的比值关系,观测股价偏离移动平均线的程度,以此决定投资者的买卖行为。
计算方法
(当日收盘价-当日MA均线值)/当日MA均线值*100
编写要点
在参数表内设定好相应的3个参数,在分析家的公式系统内可以设置一共4个参数,从最大值到最小值为参数的变动范围,缺省值为当前指标的取值。
      参数名    最小值    最大值    缺省值
参数1 L1             1            100            6
参数2 L2             1            100            12
参数3 L3             1            100            24
参数4 L4
   注意:在分析家中的百分比的表达方式不可以是“%”而是“/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,偏离率为正值时,偏离率在移动平均线上方,说明股市呈上升趋势;偏离率为负值时,偏离率在移动平均线下方,说明股市有下跌趋势;Y值偏离移动移动平均线的界定范围大体在15%至-15%,即:当Y值在0-15%时,可适当卖出股票,股价有可能反跌,当Y值在0-15%时,可适当买入股票,股价有可能反弹。
D、指标线形设计
在分析家当中为了突出一些指标的显示效果,设计了一套指标线形用于指标的特殊表现形式。
例一、MACD(柱线的编写实例)
指标原理:MACD是根据移动平均线较易掌握趋势变动的方向之优点所发展出来的,它是利用二条不同速度(一条变动的速率快--短期的移动平均线,另一条较慢--长期的移动平均线)的指数平滑移动平均线来计算,二者之间的差异状况(DIF)作为研判行情的基础,然后再求其DIF之9日平滑移动平均线,即MACD线,MACD实际就是运用快速与慢速移动平均线聚合与分离的征兆,来研判买进与卖出的时机和讯号。
计算方法:EMA:指数平滑移动平均线
N:周期
DIFF:乖离率
DEA:离差平均值
移动平均线(12日EMA)=前一日EMA*/1-2/(N+1)+今日收盘价*2/(N+1)
注:a、第一日的EMA取第一日的收盘价
b、在一般情况下,快速EMA选12日,慢速EMA取26日。计算得出的DIF与DEA为正值或负值,因而形成在0轴上下移动的两条快速与慢速线。
编制要点:在函数中可以查到移动平均线的函数表达式为EMA(X,M)所以应先行计算出快速移动平均线(12日EMA)与慢速移动平均线(26日EMA),并以这两个数值,作为测量两者(快速与慢速线)间的“差离值”依据,所谓“差离值”(DIFF),即12日EMA的数值减去26日EMA的数值,然后将参数M天内的DIFF的移动平均线的值计算出来......!
         参数名最小值最大值缺省值
参数1   L1          1            100      6
参数2   L2         1            100       12
参数3   L3         1            100      24
参数4
DIFF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIFF,M);
MACD:2*(DIFF-DEA),COLORSTICK;
在最后一句话当中,2是实际一个常数参数,它在这里的作用在于放大效果 ,然后我们通过将它表示为红绿的柱线,表示成形象的红翻绿的情形了,请结合前面的基础介绍观察其写法。
指标内容和使用解析:
1、DIF与DEA均为正值时,大势属多头市场;
2、DIF与DEA均为负值时,大势属空头市场;
3、DIF向上突破DEA时,可买入;
4、DIF向下突破DEA时,应卖出;

E、副图绘制K线或者宝塔线
许多的分析家的客户在分析当中经常的需要对比大盘的走势,或者其它的同类,具有可比的股票,因此在原来的版本中只能不停地切换分析界面,但是对比性还不强!在分析家的新版中允许使用函数编制K线,或者宝塔线,具体做法见下例:
例一、编制1A0001大盘指数
编写要点:首先调用1A0001的各项数据:
a1:“1a0001$close”;
a2:“1a0001$open”;
a3:“1a0001$high”;
a4:“1a0001$low”;
我们将会使用到新的函数STICKLINE,先绘制阳线,也即当收盘大于开盘的K线,从上到下分为3部分编写,第一部分为上阴线,第二部分为实体,第三部分为下阴线,请注意该函数的各个参数的使用
aa:stickline(a1>a2,a1,a2,8,1),colorred;
ab:stickline(a1>a2,a3,max(a1,a2),0,1),colorred;
ac:stickline(a1>a2,min(a1,a2),a4,0,1),colorred;
同样的方法,绘制阴线:
ad:stickline(a1<a2,a1,a2,8,0),colorblue;
ae:stickline(a1<a2,a3,max(a1,a2),0,1),colorblue;
af:stickline(a1<a2,min(a1,a2),a4,0,1),colorblue;
公式最后编辑汇总如下:
a1:=“1a0001sclose”;
a2:=“1a0001sopen”;
a3:=“1a0001shigh”;
a4:=“1a0001slow”;
aa:stickline(a1>a2,a1,a2,8,1),colorred;
ab:stickline(a1>a2,a3,max(a1,a2),0,1),colorred;
ac:stickline(a1>a2,min(a1,a2),a4,0,1),colorred;
ad:stickline(a1<a2,a1,a2,8,0),colorblue;
ae:stickline(a1<a2,a3,max(a1,a2),0,1),colorblue;
af:stickline(a1<a2,min(a1,a2),a4,0,1),colorblue;

1、3其他指标公式编写举例
例一、RSI指标编写
指标原理:Wellcs wilder jr.在著作new conccpts in technical trading systems中所提出的交易方法之一,所谓rsi英文全名为relative strenth index,中文名称为相对强肉指标。该指标根据估价“择强汰弱”的原理,以特定时期内股价的变动情况推测价格未来的变动方向,并根据股价涨跌幅度显示市场的强弱,通过比较一段时期内的平均收益涨数和平均收盘跌数来分析市场买卖盘的意向和实力,从而作出未来市场的走势的分析。
计算方法
计算公式为:rsi=n日内收盘涨幅平均值/n日内收盘涨跌幅绝对值的平均值的平均值*100。
编写要点:
该指标由两条指标线组成,编写出其一,其他的依次类推;涨幅的表达用“今日收盘-前日收盘”,即“LC:=CLOSE-REF(CLOSE,1)”表示;ABS(X)表示求得绝对值;MAX(CLOSE-LC,0),表示如果本周期上涨即得上涨值,否则取0,很多时候我们利用MAX函数使变量和0进行比较,然后求得变量中的正值。
SMA的具体含义参见函数参考
以下我们拆分一条指标线来演示编写过程,RSI1
   昨日收盘:LC:=REF(CLOSE,1);
上涨幅度:AA:=MAX(CLOSE-LC,0);
收盘价振动幅度:AB:=ABS(CLOSE-LC,0);
N1日的上涨幅度的指数移动平均:AC:=SMA(AA,N1,1);
N1日的涨幅的指数移动平均:AD:=SMA(AB,N1,1);
RSI:AC/AD*100
            参数名最小值最大值缺省值
参数1N1          1         100      6
   参数2N2          1         100       12
   参数3N3          1         100      24
   参数4
将上面各个表达式综合起来就可以得到以下的RSI的指标公式:
LC:=REF(CLOSE,1);
RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;   
RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;
RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100;
应用原理:
RSI取值超过50,表明市场进入强势。RSI低于50,表明市场处于弱势。
短天期的RSI在20以下的水平,由下往上交叉长期的RSI时,为买进讯号。短天期的RSI在80以上的水平,由上往下交叉长期的RSI时,为卖出讯号。
从RSI与股价的背离方面判断行情,RSI处于高位,并形成一峰比一峰低的两个峰,而此时,股价却对应的是一峰比一峰高,这叫顶背离。股价这一涨是最后的衰竭动作。这是比较强烈的卖出信号。RSI在低位形成两个依次上升的谷底,而股价还在下降,这是最后一跌或者说是接近最后一跌,是可以开始建仓的信号。
连接RSI连续的两个底部,划出一条由左向右上方倾斜的切线,当RSI向下跌破这条切线时,是一个很好的卖出讯号。连接RSI连续的两个峰顶,划出一条由左向右下方倾斜的切线,当RSI向上突破这条切线时,是一个很好的买进讯号。
例二、KDJ指标编写
   KDJ随机指标(短期)KD指标是由dr.reorge lane所创造的,是欧美期货常用的一套技术分析工具。由于期货风险性波动较大,需要比较短期且灵敏的指标工具,因此中短期股票的技术分析也颇为适用。随机指标综合了动量观念,强弱指标与移动平均线的优点,用来度量股价脱离价格正常范围的变异程度。KD线的随机观念,远比移动平均线实用很多。因为移动平均线在习惯上其以收盘价来计算,无法表现出一段行情的真正波幅。
计算方法:KD指标的计算公式和理论上的依据。产生KD以前,先产生未成熟随机值RSV(row stocbastic value),RSV实际上就是WMS%,可能是这两者产生的途径不同,各自取了不同的名字。对RSV(WMS%)进行指数平滑,就得到K指标,对K值进行指数平滑,就得到D值。
RSV=(本日收盘价-N日的最低价)/(N日最高-N日最低)*100;
K=昨日RSV*1/12+今日的RSV*1/12;
D=昨日K*25/26+今日的RSV*1/26;
J=3*K-2*D;
         参数名最小值最大值缺省值
参数1   N1          1            100      6
   参数2   N2          1            100       12
   参数3   N3          1            100      24   
   参数4
编写要点:RSV的计算方法为收盘价和N1天内的最高和最低的差的比值,使用函数HHV、LLV可以轻松地得到最高和最低;
N天内最高价:HHV(HIGH,N1);
N天内最低价:LLV(LOW,N1);
指标内容和使用解析
RSV:=(CLOSE-LLV(LOW《N1))/(HHV(HIGH,N1)-LLV(LOW,N1))*100;
K:SMA(RSV,N2,1);
D:SMA(K,N3,1);
J:3K-2D
买卖原则:K值由右边向下交叉D值作卖,K值由右边向上交叉D值作买。
D值<20%超卖,D值>80%超买;J>100%超买,J<100%超卖,KD值于50%左右徘徊或交叉时,无意义。
例三、OBV指标编写
指标原理:OBV的英文全称是On Ralancc Volumc,中文名称直译是平衡成交量,有些人把每一天的成交量看作像海里的潮汐一样,形象地称OBV为能量潮,OBV是由Granville与六十年代发明并广泛流行的。我们可以利用OBV验证当前股价走势的可靠性,并可以由OBV得到趋势可能反转的信号,对于准确预测未来是很有用的,比起单独使用成交量,OBV比成交量看得清楚。
计算方法:OBV构成的基本原理,是根据潮涨潮落的原理。每一天的成交量可以理解成潮水,但这股潮水是向上还是向下,是保持原来的方法,还是中途回落?这个问题就有当天的收盘价与昨天的收盘价的大小比较而决定。
1、如果今收盘价≥昨收盘价,则这一潮水属于多方的潮水,
2、如果今收盘价<昨收盘价,则这一潮水属于空方的潮水。
编写要点:第一步,如果今收盘价≥昨收盘价,那么成交量为正:
AA:=IF(CLOSE≥REF(VOL,1),VOL,0);
第二步,如果今收盘价<昨收盘价,那么成交量为负:
BB:=IF(CLOSE<REF(VOL,1),-VOL,0);
第三步,将所有的成交量加和:   
   CC:=AA+BB;
第四步,统计所有的周期上的成交量即得OBV。
OBV:SUM(OBV,0)
从上面编写的例子使用了IF函数,AA计算了多方力量同时将空方的成交量忽略为0,同样在计算空方成交量的同时我们又忽略了多方的力量,将两者加和就得到了我们所需要的OBV。
买卖原则:OBV不能单独使用,必须用股价曲线结合使用才能发挥作用。从OBV的取值大小不能得到任何结论。我们关心的只是近日的OBV曲线的相对走势,而OBV的取值的绝对数字对我们是没有用处的。OBV曲线的上升和下降对我们进一步确认当前股价的趋势有着很重要的作用。股价上升(或下降),而OBV也相应地上升(或下降),则我们可以更相信当前的上升(或下降)趋势。股价上升(或下降),但OBV并未相应的上升(或下降),则我们对目前的上升(或下降)趋势的认可程度就要打折扣。这就是背离现象。OBV已经提前告诉我们趋势的后劲不足,有反转的可能。在别的技术指标中适用的形态学和切线理论的内容也同样可用于OBV曲线。W底M头等著名的形态学结果在OBV身上也能使用。在股价进入盘整区后,OBV曲线会率先显露出脱离盘整的信号,,向上或向下突破。
例四、BOLL指标编写
指标原理:布林线(bollinger hands)由john bollinger创制,它利用统计学原理,求出股价的标准差及其信赖区间,其上下限的范围不被固定,随股价的变动而表动。
计算方法:利用统计学原理,先规定一个标准差,再求算出一个上下限波动区间,其波动的上下限随股价浮动。
MID=N天的收盘价的均价;
STD=N天的收盘价的标准差;
UPPER=MID+离差系数*STD;
LOWER=MIN-离差系数*STD;
编写要点:STD(X,N)表示计算标准差。首先得到一段时间N天的MA,然后按照您要设定的参数赋与标准差之后加减即得到上下两根BOLL线,中间的通道为BOLL通道。
MID:MA(CLOSE,N);
UPPER:MID+P*STD(CLOSE,N);
LOWER:MID-P*STD(CLOSE,N);
买卖原则:
1、当布林通道由宽变窄时,说明股价逐渐向中值回归,股市进入一个整理区间,投资者应以观望为主。
2、当通道由窄变宽时,意味着行情开始发生变化,如果股价逼近或穿过上限值,表明超买力量增强,股市可能会短期下跌,此时应卖出股票,反之,当股价逼近或穿过下限值时,表明超卖力量增强,股市可能会短期反弹,此时应买进股票。
3、柱体在布林通道中沿上限线运行,意味涨幅会持续。
例五、EXPMA指标编写
EXPMA(Exponential Moving Average)即指数平均数指标,该指标属于均线型指标,在实际应用上也是根据它们的各自移动及交叉作为判别买卖的依据。expma指数平均数克服了macd指标信号滞后,dma指标信号提前的弱点,在计算均数时加重了当天行情的权重,可以迅速地反映出股价的涨跌。
编写要点:首先,介绍EXPMA的计算公式与计算方法。原本该指标采用了移动平均算法,但是在分析家中本身有一个函数EMA就是计算移动平均,在函数介绍当中和前面的指标中我们都已有见过,所以可以很简单地表达为EMA的形式。
       参数名最小值最大值缺省值
参数1 L1          1            100      5
参数2 L2         1            100       10
参数3 L3         1            100       20
参数4 L4         1            100       30
MA1:EMA(CLOSE,P1);
MA2:EMA(CLOSE,P2);
MA3:EMA(CLOSE,P3);
MA4:EMA(CLOSE,P4);
MA5:EMA(CLOSE,60);
MA6:EMA(CLOSE,90);
可以最多同图绘制16条指标线,但是只有其中4条可以选择参数设定,如果设置多出4条以上的指标线,只能采用常数参数,如上MA5:EMA(CLOSE,60),MA6:EMA(CLOSE,90)。
买卖原则:书中将其归于趋向性指标,expma是以交叉为主要讯号,股价由下往上碰触expma时,将受到强大的阻力,有上朝下碰触expma时,将受到强有力的支撑,实际运用中并非这么简单,并且注意其粘滞状态的变化。
例六、威廉指标W&R
指标原理:威廉指标由tarry williams创造,是一种利用振荡点来反映市场超买超卖现象,预测循环周期内的高点和低点,从而提出有效的信号来分析市场短期行情走势,判断股市强弱分界的技术指标。
计算方法:HY=N天中的最高价;
LY=N天中的最低价;
Q=HY-今天的收盘价;
R=HY-LY;
故威廉指标WR=Q/R*100
指标内容和使用解析
AA:=(HHV(HIGH,N)-CLOSE);
BB:=(HHV(HIGH,N)-LLV(LOW,N));
W&R:100*AA/BB
买卖原则:当W&R高于80%,即处于超卖状态,行情即将见底,应当考虑买入。W&R低于20%,即处于超买状态,行情即将见顶,应当考虑卖出。在W&R进入高位后,一般要回头,如果这时股价还继续下跌,这就产生背离,是进货的信号。在W&R进入低位后,一般要反转,如果这时股价还继续上升,这就产生背离,是卖出的信号。W&R连续几次撞顶(底),局部形成双重或多重底(顶)则是(进货)出货的信号。
例七、ADL和ADR
指标原理:腾落指数(adl)是以股票每天上涨或下跌家数作为计算与观察的对象,以了解股票市场人气的盛衰,探测大势内在的动量是强势还是弱势,用以研判股市未来动向的技术性指标。
计算方法:将每天收盘价上涨股票家数减去收盘价下跌的股票家数(无涨跌不计)后累积值 adl=(上涨家数-下跌家数)
编写要点:ADL=N日内上涨家数与下跌家数差的移动合计涨跌比率;
ADR=N日内上涨股票家数所占比重的移动合计;
N值一般取14日,也有用10日或者24日,甚至更长6周、13周、26周等。
ADL:SUM(ADVANCE-DECLINE,0);
ADR:SUM(ADVANCE,N)/SUM(DECLINE,N);{参数N=10}
注意:在分析家中,允许象上图一样“{参数N=10}”标注解释语言,格式为用{}括起来!
两个公式表达的含义相近,只是表达的方式有区别,一个用的是数值,另外一个是比值的形式--在指标公式的编制过程当中,我们常常需要因地制宜,采用适当的表现形式来凸现该指标的含义。
指标ADR采用了比值的形式,最终的结果给了一种清晰的量化的概念,指标的使用者如果面对的是许多这样的图标进行横向的比较,这种方式显得比较有特点。

例八、MTM动量指标(momentum)
指标原理:动量指标是利用恒速缓冲的原则,来观察股价涨跌速度的本质从而决定投资的行为。股价上升下降既然是恒速缓冲的,从理论上讲,在此期间内,股价的涨跌区间相对一致,动量指标就是尽量反映出涨跌区间位移。
应用原则:一般讲,股指上升动量值会随之上升排除其它非技术因素,MTM大体可反映出股市速度快慢,MTM应与MA配合使用:在股指上升时,MTM下降曲线与MA上升曲线互相交叉时,在交叉点处投资者应及时卖出股票,在股指下降时,MTM上升曲线与MA下降曲线互相交叉时,在交叉点处投资者应及时买进股票。
编写要点:公式原理使用本周期收盘价和N周期以前的收盘价之差来描述股价的变动情况,两条指标线,其一是收盘价N周期以前的收盘价;其二为前一条指标线的N1周期的均价,两条指标线的变动速率反映股市的变化,所以有:
      参数名最小值最大值缺省值
参数1L1          1            100         6
参数2L2          1            100         6
参数3
参数4
MTM:CLOSE-REF(CLOSE,N);
MTMMA:MA(MTM,N1);

   第二章条件选股
条件选股为本公式系统的第二大类板块,通过公式系统的描述和统计功能实现各种技术形态和技术指标的测试和检验,同样它也遵守公式系统的基本格式和法则,但是由于功能的不同,又有些扩展的格式和不同的表达方式。
首先在技术分析界面下点击“CTRL+F”,然后选择新建条件选股公式,可以进入到以下的窗口,该窗口就是条件选股公式的编辑界面,内容和结构同“技术指标公式编辑器”一样。
条件选股的公式编辑器的界面中,多出一个“其他公式”的按钮,这样方便直接导入公式的内容。
条件选股与技术指标的最大不同,是其使用方向上的差异。
技术指标的目的在于用指标或者指标的表现形式来寻找股价运动的特点,在于观察和总结;而条件选股的目标在于寻找一个好的符合个人操作思路的操作点,从而决定了在公式编写时的差异--技术指标通过赋值语句在软件中表现为各种技术图形;而条件选股则要通过赋值语句判断逻辑值,从而判断条件的是与非!
所以在编写条件选股公式当中,必然会使用以下的一些逻辑运算符号或者编辑函数。因为在条件选股中必须有一条由逻辑函数或者逻辑计算符号连缀的逻辑语句表达式,逻辑值为非0时成立,反之不成立。例如,本周收阳,表达为 CLOSE>OPEN,“>”为逻辑判断符,而分析家软件在执行该语句时如果逻辑值为非0,将会选出在相应的列表内。
在以下几节当中,将从不同的角度划分条件选股公式,并举例介绍条件选股所体现的一些思路和具体的操作方法。
1、技术指标选股
2、价格成交量选股
3、筹码分布选股
4、动态盘中选股
5、K线形态选股
6、基本面选股

2、1条件选股编写基本技巧
阶段涨幅
N日收盘价的差值的百分比:
(CLOSE-REF(CLOSE,N))/REF(CLOSE,N)*100
再创新高
所谓再创新高就是指今日最高价是N日以来的最高价:
HIGH=HHV(HIGH,N)
该函数在当日最高价创N日新高时为1,否者为0。
放量上攻
放量上攻是指价格上扬,成交量剧增:
价格上扬可以描述为:
   CLOSE/REF(CLOSE,5)>1.2,表示5日上涨20%
成交量剧增可描述为:
VOL>MA(VOL,5)*3,表示成交量超过5日均量的3倍
所以公式可写成为:
CLOSE/REF(CLOSE,5)>1.2 AND VOL>MA(VOL,5)*3
窄幅整理:就是指近一段时期价格维持在一定幅度之内
(HHV(CLOSE,20)-LLV(CLOSE,20))/CLOSE<0.08
HHV(CLOSE,20)-LLV(CLOSE,20)表示20日收盘价振幅,即20日内价格振幅在8%以内波动。
前期高点及其位置:很多人关心股价前期高点的价格以及到现在的距离,前期高点价格可以写成:
HHV(HIGH,20) 表示20日最高价
前期高点位置:
HHVBARS(HIGH,20) 表示20日内最高价到现在的周期数,若HHVBARS(HIGH,20)等于6,则表示前期高点出现在6日前。
60天前到40天前之间的最高价:是用HHV函数只能得到当天以及前若干天的最高价,若对本问题进行分解可以得到,它实际上就是一个20天最高价,只不过是计算40天前的20日最高价,所以公式可以写成为:REF(HHV(HIGH,20),40)
求1998年8月1日到1998年12月31日间的最高价:这个问题引用到一个绝对时间段的数据,但公式系统现成的函数都只能处理相对时间数据,此时我们将不需要的数据置为无效数据。对于股价的最高价来说,0是不可能出现的数据,因此可将区间外的数据设为0
HH:=IF(YEAR=1998 AND MONTH>=8 AND MONTH<=12,HIGH,0)
该语句判断时间是否处于规定区间,若是则返回最高价,否则返回0。
然后再用HHV函数求解最高价,需要注意的是需要求解全部数据的最高价而不是若干日的最高价,因为超过该区间的数据已经设为无效数据:
HHV(HH,0)
这种方法的关键在于设定无效数据,对于求最低价来说这是无效值应设为100000。
动态平均
指数平滑移动平均是一种常用的平均线求法,其宗旨是将当日数据乘以权值a与上一天平均数乘以权值b相加,这两个权值相加等于1,因而指定权值a就可以确定计算方法。
如EMA(X,N)   权值a=2/(N+1);
SMA(X,N,M)权值a=M/N;
而对于DMA动态平均,其权值a不是一个常数,例如可用换手率作为权重计算均线:
SMA(CLOSE,VOL/CAPITAL)
点到面转化
有时我们需要过去发生的事件。例如条件选股最近20日内是否发生涨停等,由于涨停仅在当天可计算出来,因此需要用点到面转换将该影响延续成一段时间:
TTTT:=CLOSE/REF(CLOSE,1)>1.099表示涨幅大于10%
COUNT(TTTT,20)>0,该函数统计20日内涨停的天数,若发生涨停则会对将来30天产生影响。COUNT、SUM、HHV、LLV等函数均有点到面转化的作用。
上图分别显示TTTT、HHV(TTTT,20)、COUNT(TTTT,20)两条曲线的相对位置关系,我们看到,每当发生涨停时TTTT就为1,否则就为0;HHV(TTTT,20)只要20天以内发生过涨停就为1,否则为0,它利用了发生情况时数值最大这一特点将求最大值转化为求指定值;而COUNT(TTTT,20)则表示了20天之内发生过多少次指定事件,应该说对于本问题这个函数用的最适合。
历史某阶段的涨幅
主要指历史上某一个阶段上的各个涨幅,例如19990519-19990629这一时段的涨幅,因为在时间序列轴上无法满足时间的不变性,所以我们需要使用上面所讲的点到面的技巧:
A1:=IF(DATE=990519,CLOSE,0);
A2:=SUM(BB,0)这样我们就可以得到5.19当日的收盘价,同样得到6.29日的收盘价:
B1:=IF(DATE=990629,CLOSE,0);
B2:SUM(AA,0)然后取得一个涨幅即可。
面到点转换
有时我们需要反过来做点到面转换,例如当RSI高于80表示股价处于超买阶段,应该卖出。但由于超过80是一个阶段,如果这个阶段中每天都发出卖出信号就不是太好了,需要一个将连续区间转化为一个信号的函数,即面到点的转换。
CROSS(RSI,80),表示RSI向上穿越80,由于对于一个阶段来说穿越只会发生一次,从而完成了面到点的转换。
线性回归
是统计学中最常用的方法之一,它用一条直线来近似描述一条曲线。直线可用起点和斜率来表示,因此可以更为简便的描述当前股价的趋势。
线性回归函数有两个:FORCAST和SLOPE,分别表示起点和斜率。FORCAST的作用与均线类似,有对未来趋势的预测作用,指标较均线更为灵敏;SLPOE表示该线性回归的斜率,即事件每增加1天价格的变动情况,它可以表示一段时间内的平均价格变化率,可以用它来描述近期价格的涨跌趋势及强度。
例如:SLOPE(CLOSE,10)/REF(CLOSE,10)>0.05则表示近期有每日平均5%的升幅趋势。

之字转向
每当股价涨跌幅度超过指定界限并发生趋势方向变化时,之字转向将产生一个转折点,将所有转向点用线段连接就成为之字转向,之字转向能够很好地描述股价的大体走势,对于相态分析有一定的作用。
转向点分为波峰和波谷两类,分别表示向下转向和向上转向,与之对应的我们有四个函数用于描述它们的价格和位置:
PEAK和TROUGH表示波峰和波谷的价格;
PEAKBARS和TROUGHBARS表示波峰和波谷距现在的周期数
这四个函数都有一个参数用于描述向前数第几个波峰,利用这个特性我们就可以在测试W底时比较上一个波谷和前一个波谷的位置和大小,从而规范了一个W形底的描述。
2、2K线形态选股
K线图又称阴阳线,最初是日本米商用来表示米价涨跌状况的工具,后来引入股市,并逐渐风行于东南亚地区。K线图以其直观、立体感强的特点而深受投资者欢迎,实践证明,精研K线图可以较准确地预测后市走向,也可以较明确的判断多空双方的力量对比,从而为投资决策提供重要的参考。K线图的画法与分类:画K线图前应先准备一张坐标纸,按一定的比例表明股价(指数)的相应位置。它将市场每天(周、月)的开盘价、最高价、最低价和收市价画在统计图上以反映市场的波动情形。K线图共有三部分组成:及上影线、下影线和实体三部分,上影线为最高价,下影线为最低价,实体由收盘价和开盘价构成。当收盘价高于开盘价时,用阳线或红线来表示,当开盘价高于收盘价时,用阴险和黑线来表示。它有十二种基本形态:A阳线、B阴线、C光头阳线、D带帽阳线、E带尾阳线、F光头阴线、G带尾阴线、H带帽阴线、I平盘线、J十字星、K丁字线、L倒丁字线,由这些的组合形成了所有的K线形态,由于组合的多样性和不确定性,从而也有了许多的不同理解、意见相左的K线分析。
2、21大阳线
首先我们编制一个简单的单根K线的公式,一根K线由四个价格组成,开盘价、收盘价、最高价、最低价四个价格组成,所以对它的描述只需要能够做到清楚地描述这四个价位中的相关值即可。
观察其特点:
开盘即为最低 BB:=LOW=OPEN;
收盘即为最高 AA:=CLOSE=HIGH;
假设量化的结果是阳线长度上涨幅度大于7%
CC:CLOSE/OPEN>7%;
所以
AA:=HIGH=CLOSE;
BB:=LOW=OPEN;
CC:=CLOSE/OPEN>1.07;
AA AND BB AND CC
   我们在编写公式的时候,特别是在刚刚开始学如何编写公式的时候,如果把一个比较复杂的表达是一口气写下来,往往会使整个公式的结构混乱无法确认,错误难以查找,所以经常的我们会利用中间表达式将一些比较复杂的条件分拆开成一个个简单的小语句,也即结构模块化!在上面的事例中我们就采用了这种结构,当然如果您是比较熟悉公式的编写,有些简单的语句就没有必要再如此做法了。
常见的结构就是:
条件一:AA:=......            条件二:BB:=......
            ......                ......
汇总:AA AND BB AND ......
单根K线的确认程度相对比较低,受到未确定的因素的影响比较大,所以很多的技术分析者强调整体的配合,也就是多根K线的组成分析,但是应该注意的是,多根K线的组合需要界定的规则和条件同样成正比例的增长,所以公式显得比较复杂,同样准确率也会下降。
2、22穿头破脚
穿头破脚有两只K线组成,表示行情将要转向,穿头破脚第二支蜡烛烛身部分长于第一根蜡烛且蜡烛颜色相反;若是上升行情第一支蜡烛为阳线,若是下跌行情第一支蜡烛为阴线,并且包含了前一根。
量化:如果只是一般意义上的满足以上条件的K线组合,则信号的含义并不强,所以可以通过强化一些条件或者补充一些条件来加强信号的内涵。例如在本例中我们规定前一日的开收至少有4%的差值,如果是向上穿头破脚的类型,那么前一日的开盘价要高于收盘价的4个点以上。
前一日的K线形体描述:开盘价要高于收盘价的4个点以上
A1:=REF(CLOSE,1);
A2:=REF(OPEN,1);
AA:=BB/AA>1.04;
今日的K线形体:
B1:=OPEN<A1;(低开盘)
B2:=CLOSE>A2;(高于昨天的开盘)
AA AND B1 AND B2
最终的公式为:
A1:=REF(CLOSE,1);
A2:=REF(OPEN,1);
AA:=BB/AA>1.04;
B1:=OPEN<A1;
B2:=CLOSE>A2;
AA AND B1 AND B2
如果是向下的穿头破脚,只需要改动几个数值的方向即可!
2、23吊颈
吊颈与锤头形态相同,只是吊颈出现在上升行情中,表示将见顶回落。吊颈出现在上升行情中,有较长的脚部,蜡烛实体部分很少,且在顶部出现。同样可以有阳线实体的的吊颈和阴线实体之分,以下将以阴线实体的吊颈为例。
量化:开盘所得即为当天最高价;AA:=OPEN HIGH;
阴线实体的长度小,量化后我们选择与整个线体进行对比,满足条件其长度小于整个线体的1/3:
B1:=OPEN-CLOSE;
B2:=HIGH LOW;
BB:=B1/B2<1/3;
另外对线型的绝对长度作出规定,选择整个线体的长度大于最高价的5%,意义在于加强线体的含义,以免出现极小的,出现在弱市中的信号;
CC:B2/HIGH>0.05;
公式组为:
A1:=OPEN=HIGH;
B1:=OPEN CLOSE;
B2:=HIGH-LOW;
BB:=B1/B2<1/3;
CC:=B2/HIGH>0.05;
AA AND BB AND CC
2、24 低开大阳线
低开大阳线出现在拉升初期或者整理的末期的机率较高,当天的开盘明显低于昨天的K线,但是整个线体呈现为一根长阳,气势逼人!
量化:今日低开,小于上一周期的最低价,并且开盘时的跌幅达到了2个点以上:
A1:=REF(CLOSE,1);
A2:=REF(LOW,1);
A3:=OPEN<2;
A4:=OPEN/A1<0.98;
收盘长阳,收盘价高出开盘价至少8个点以上:
B1:=CLOSE/OPEN>1.08;
为强化信息,赋予放量的辅助条件,要求当日的换手率达到5%以上:
C1:=VOL/CAPITAL>0.05;
所以公式组为:   
A1:=REF(CLOSE,1);
A2:=REF(LOW,1);
A3:=OPEN<2;
A4:=OPEN/A1<0.98;
B1:=CLOSE/OPEN>1.08;
C1:=VOL/CAPITAL>0.05;

A3 AND B1 AND C1
   
2、25 跳空缺口
就是两条K线的高低价出现不衔接的情况,,有两条K线组成,是日后支撑和压力点的参考价位。
选股条件:当一个跳空缺口出现时,可以假设一个沿着原来跳空方向上的趋势的加速已经开始了。
量化:有两条K线组成,两跳K线间存在明显的间隔;跳空分为向上和向下两种情况,以下为向上跳空的例子:
本周期的最低价高于上一周期的最高价:
A1:=REF(HIGH,1);
A2:=LOW>A1;
跳空缺口越大,则信号越强烈!所以加入辅助条件缺口的长度至少要求有两个点位:
B1:=LOW/A1>1.02;
所以公式组为:
A1:=REF(HIGH,1);
A2:=LOW>A1;
B1:=LOW/A1>1.02;
A2 AND B1
   
2、26 黄昏之星
当市场出现一条大阳线后,通常会产生跳空高开的情况,有时会出现十字星或类似十字星的小阴线(小阳线),另一种相反的情况是出现在一条大阴线后,在这两种情况下形成的类似十字星的K线都称为“星型线”,当该形态出现在一段上升行情的当中,就很容易形成所谓的经典K线形态--黄昏之星。
量化:黄昏之星由三只K线组成。为使结构简单我们先采用中间表达式表示出一天的高开低收:
A1:=OPEN;A2:=CLOSE;A3:=HIGH;   
B1:=REF(OPEN,1);B2:=REF(CLOSE,1);B3:=REF(HIGH,1);B4:=REF(LOW,1);
C1:=REF(OPEN,2);C2:=REF(CLOSE,2);C3:=REF(HIGH,2);C4:=REF(LOW,2);
第一日:在升势中出现一支大阳线,股价大幅上扬,幅度较前一日高出4%收盘大于开盘:
AA:=A1<B2 AND A1/A2>1.04;
第二日:第二日K线较昨日跳开,收盘同样在缺口之上。线性实体狭小,实体长度小于1%,有上下影线;
BB:B1>C3 AND B2>C3
   AND ABS(B1-B2)/B1<0.01
   AND B3>B1 AND B3>B2
   AND B4<B1 AND B4<B2
   DD:=B3=HHV(HIGH,20);
当日的最高价为20天以来的最高价,表示相对的高位;
第三日:阴线,回落到第一支蜡烛下,开盘价小于昨日收盘价,今日的阴线实体长度大于4%:
CC:=C2/REF(CLOSE,3)>1.04 AND C2>C1;
综合:AA AND BB AND CC
2、27 三只乌鸦
是由三只阴烛K线组成且每日收市价都下移,表示可能见顶回落:
此形态同上刚好相反,属于见顶信号,简略内容如下:
A1:=REF(CLOSE,1);
A2:=CLOSE<REF(CLOSE,1);
COUNT(A2,3)=3
事实上,如果只是建立了以上的公式组,它所能反映的只是部分的含义,为什么呢?因为以上的信号只有出现在一段反向趋势之后,才有可能被确认为有效的意义。假设,如果三只乌鸦出现在漫长的下跌当中,那么你可能可以在这段趋势当中找到许多只乌鸦,或者许多的三只乌鸦的组合--所以有必要将它们定义在一段反趋势之后出现。
如下图,最终我们期望的是捕捉到椭圆形内的图形,以使及时的沽空,避免不必要的高位套牢,坐在山顶上晒太阳!
假如一些辅助的条件,优化公式,以得到更加有效的信号,这将是在学会了初步的公式编辑之后,将理论和实践相结合的重要一步。
假如我们加入简单的一个条件,两天前的最高价是30天以来的最高价:
AA:=REF(HIGH,2);
BB:=HHV(HIGH,30);
AA=BB
   将该条件和前面的描述相结合,可以过略掉许多的虚假信号。
2、3 技术指标选股
技术指标选股是为交易服务的,将各种技术指标的特征寻找出来为交易服务正是分析家的目标之一!
2、31 均线指标选股
MA(金叉),普通金叉:
用CROSS表示MA5日均线向上穿过MA10均线,函数CPOSS(X,Y)的含义从函数表中可以得出为指标线X向上穿过指标线Y。
首先我们用两个中间表达式表达两条指标线X、Y分别为5日均线和10日均线,最终使用CROSS即得。
MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);
CROSS(MA5,MA10);
MA5和MA10在30日均线之上运动,并当日发生了金叉:
“在MA10和MA30之上”,可以简略地描述为“大于”即可,其他的条件套用!所以我们先表达出两个条件分别用AA和CC表示:
AA是:MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);
AA:=CROSS(MA5,MA10);
CC是:MA30:=MA(CLOSE,30);
CC:=MA5>MA30 AND MA10>MA30;
做后将两个综合的条件用逻辑与函数连接成为一个表达式,要注意在条件选股的公式中只能存在一个逻辑判断式,所以我们以后经常会使用一些逻辑连接符连接多个条件。
AA AND CC
   三条均线多头排列
由于所谓多头排列没有一个具体的量化的概念,所以需要根据自己平时经验来取得一个比较有效的标准来衡量。例如我们在下面的公式中的模型是:MA5>MA10>MA30,维持时间3天作为多头排列的定义。
并且注意请不要使用连等或者连线的大于号,就像上面的“MA5>MA10>MA30”不可以直接出现在公式组当中,用“AND”连等符将两个连接判断式连接起来!
MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);
MA30:=MA(CLOSE,30);
CC:=MA5>MA30 AND MA10>MA30;
COUNT(CC,3)=3
均线死叉
方向刚好相反,用同样的表达方式,但是注意CROSS函数使用时两条均线的位置已经颠倒了,思维方式换一下,CROSS(X,Y)本身的含义为X上穿Y,反过来当要表达X向下穿过Y的时候--其实也就是Y向上穿过了X。
   CROSS(MA10,MA5)
当日成交量放大2倍的金叉
成交量放大两倍作为一个辅助条件出现,很多的交易者都习惯用成交量来验证均线走势的可靠性;其中需要量化一点的是,选用一个参照系来描述成交量的变化,我们选用了与上一周期的成交量进行对比的方式。
MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);
AA:=CROSS(MA5,MA10);
BB:=VOL/REF(VOL,1)>2;
AA AND BB
   2、32 KDJ指标选股
回顾公式基本买卖原则:K值由右边向下交叉D值作买,,K值由右边向上交叉D值作买;高档连续两次向下交叉确认跌势,低档两次向上交叉确认涨势;
D值20%超卖,D值80%超买;J值100%超买,J值10%超卖;KD值于50%左右徘徊或交叉时,无意义,投机性太强的个股不适用。
K向上交叉D,并且D小于20
首先,简单导入KDJ的指标数据我们有两种方法:第一是在条件选股当中点击“引入指标公式”,然后选中KDJ,好处在于同时也引进了参数,方便在条件选股参数优化的过程当中调整适当的参数,在快速入门中我们已经进行了比较完整的介绍,这里就不再赘述了。
第一种就是将原来的KD指标转化为中间表达式,然后写出逻辑判断式:
RSV:=(CLOSE-LLV(LOW,N)/HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
CROSS(K,D) AND D<N1
第二种直接从已有的公式指标中引用相关的数据:
AA:=“KD,K”;
BB:=“KD,D”;
CROSS(BB,AA) AND D<N1
   量化并编辑:
A1:=“KD,K”;
A2:=“KD,D”;(从指标公式中引入K、D线)
A3:=A2<20;
A4:=CROSS(A1,A2);
A3 AND A4
   KDJ高档连续两次向下交叉确认跌势
量化并编辑:
高档的定义模式为D值60以上的区域,最近根据您的指标周期参数和使用习惯定义,在以下的举例中我们采用了12天的周期,在实际公式编辑时的时候这些周期表达的最佳的方式是设定为参数。最后的模式也即是要求该股票的6、12、24日KD在12天内的D>60的区域内发生里两次的交叉。
参数:M:(0-100,60   N:(0-100),12
   A1:=“KD,K”;
A2:=“KD,D”;
A3:=CROSS(A2,A1) AND A2>M;
COUNT(A3,N)>=2
注意:我们经常会使用COUNT函数做一段时间内的条件统计。   
2、33 RSI指标选股
回顾公式基本买卖原则:
短期RSI值在20以下,由下向上交叉长期RSI值时为买入信号;短期RSI在80以上,由上向下交叉长期RSI时为卖出信号;短期RSI值由上向下突破50,代表股价已经转弱,短期RSI值由下向上突破50,表示强。
条件选股一:RSI上穿20
同样我们也有两种选择使用,为方便起见,我们选用第一种引用技术指标的方式,并使用默认参数:
AA:=“RSI”;
CROSS(AA,20)

条件选股二:相反的选择,沽出时机为RSI向下穿过80:
AA:=“RSI”;
CROSS(80,AA)
2、34 WR指标选股
回顾公式基本买卖原则:
威廉指标计算公式与强弱指数、随机指数一样,计算出的指数值在0-100之间波动:当WR线达到20时,市场处于超买状况,股价走势随时可能见顶。因此20的横线一般称为卖出线,投资者在此时可以伺机卖出;相反,当WR线达到80时,市场处于超卖状况,走势可能即将见底,80的横线被称为买入线。
条件选股一:一个简单的卖出条件,当WR线上穿20时,市场处于超买状况为:
A1:=“WR”;
CROSS(A1,20)
条件选股二:一个简单的买入条件为,WR线下穿80时,市场处于超卖状况:
A2:=“WR”;
CROSS(80,A2)
2、35 MACD指标选股
回顾公式基本买卖原则:DIF,MACD在0以上,大势属于多头市场,可做买,若DIF向下跌破,MACD只可做原单的平仓,不可新单进场;DIF,MACD在0以下,大势属空头市场,DIF向下跌破MACD,可做卖,若DIF向上突破MACD,只可做原单的平仓,不可新买单入场:
绿翻红
如下图中所示,MACD从0轴以下跃升出海的时候,进入到红色区域,就好象太阳从海平线以下起来--形成一个明确的强市,在此红色的区域内,那么我们的公式的模型为:MACD在0轴上。
A1>=“MACD,MACD”(26,12,9);
CROSS(A1,0);
DIFF上穿DEA
公式:
A1:=“MACD,DIFF”;
A2:=“MACD,DEA”;
CROSS(A1,A2)
2、36 BOLL通道选股
回顾公式:BOLL又称布林线指标,是利用统计学原理,先规定一个标准差,再求算出一个上下限波动区间,其波动的上下限轴股价浮动应用原则。
必须配合其它技术指标共同分析,当布林通道由宽变窄时,说明股价逐渐向中值回归,股市进入一个整理区间,投资者应以观望为主;当布林通道由窄变宽时,意味着行情开始发生变化:如果股价逼近或穿过上限值,表明超买力量增强,股市可能会短期下跌,此时应卖出股票,反之,当股价逼近或穿过下限值时,表明超卖力量增强,股市可能会反弹向上。

条件选股一:BOLL的宽度逐渐缩小到一定的程度,往往意味着一段行情的出现。
分析与量化:事实上我们为了得到好的参数,是可以将一些想法编制成为一个指标公式,观察其结果和特征。就此例而言,如果只是讲到“逐渐缩小到一定的程度”,那么这个程度是怎么是怎样的程度?多少的程度?如果你愿意生搬硬套别人的参数,自己就无法了解这个参数下的技术形态特征,那么对自己的能力无提高,并有害,所以如何获得并了解一些重要的参数是很有意义的。
以上为例,我们先写一条指标公式:
A1:=“BOLL,UPPER”;
A2:=“BOLL,LOWER”;
A3:=“BOLL,MID”;
AA:(A1-A2)/A3*100;
我们用上限减去下限与中值相比较得出一个百分比数的AA指标线--假设通过对以上图表的观察,我们认为10%的收缩程度是一个很好的参数,那么原来的条件选股公式现在就可以找到一个定量化的模型:
“当AA指标值缩小到10以下的时候,就是一段行情的介入点(既包括买入,同时包括卖出点)”
公式可编写如下:
A1:=“BOLL,UPPER”;
A2:=“BOLL,LOWER”;
AA:(A1-A2)/A3*100;
AA<10
   2、4 价格、成交量走势选股
也就是股票价格走势和成交量两大要素之间配合的选股方案。价格、成交量被形容为股票运动的基本元素,同时也被技术分析派认为是技术分析的最根本和最小的技术单位。由两者在一段连续的时间内的相互构造可以派生出其他所有的技术分析方法和技术指标。所以也有许多的投资者选用了价量作为研究对象,力求从最简单的分析组合、最基础的分析对象来把握对复杂市场运动的准确描述。
在以下的许多单独的个例中,我们节选出一些常见的成交量和价格配合使用的选股条件进行编写。
2、41 放量创出新高
概念简单,成交量放大的同时走出一个新的高点,但是同样需要一个具体量化的过程,成交量放大到多少?和哪一天的成交量进行比较?--以上问题的解决是建立选股模型的前提。
“5日均量较前一日放大一倍,同时收盘价创下了30天内的新高”
AA:=MA(VOL,5);
BB:=REF(AA,1);
CC:=HHV(CLOSE,30);
AA/BB>2 AND CLOSE=CC;

上图是我们测试中的一个例子,它是符合我们的选股条件的,但是后来的事实又说明它是一个失败的信号,之所以把它选择出来,是因为通常都是人的心理是报喜不报忧,这里提出的原因是我们希望股民朋友们多观察,注意防范风险,三思而后行!

2、42 单日放量
行情中突然出现了很大的成交量,这种现象在国内的股市中也是屡见不鲜。在不同的时间和地点有着不同的解释,但是无论如何解释怎么也不一样,有一点是一样的,就是该股当天出现了明显的异常动作。分析家可以做到帮助您方便而又迅捷的寻找到这些异常的信号。在下面的图中,就是一个从近来的走势当中提取的一个信号,权作为我们的分析对象。
图中的AA指标表示的是换手率,目的在于方便地观察成交量的变化和显示具体的换手率的值,公式很简单:
AA:=VOL/CAPITAL*100
通过该指标,我们看到椭圆标示出当时的交易周期发生了巨额的换手,当天达到了20%以上,而在前面的周期内成交量一直很平和。
我们编写公式来描述这样的信号:
前一个周期5日均量不足当日的1/N:
当日的换手率高于M%:
A1:=MA(VOL,5);
A2:=REF(A1,1);
VOL/A2>N AND VOL/APITAL*100>M
2、43 阶段涨幅选股
阶段涨幅选股的意义在于我们在这里提供两种阶段涨幅的理解方式分别供参考:
选出N日以来的个股涨幅大于M%的股票
设定参数:
N:0-100;10   M:0-100;20
AA:=REF(CLOSE,N);
C/AA>1+M/100;
以上时段为当前时段的选股,如果要固定的时段内的个股的状况,例如需要5.19行情当中涨幅大于100%的所有股票的名单,可以通过以下的方法对日期函数的运算得到。
AA:=IF(DATE=990519,CLOSE,0);
BB:=SUM(AA,0);
CC:=IF(DATE=990629,CLOSE,0);
DD:=SUM(CC,0);
DD/BB>2
分别计算出5.19行情当中头尾两天的收盘价BB和DD,然后进行对比,这里需要注意2点:1、DATE这个日期函数的取值格式和范围,特别在2000年的年份表达为100开始开始,详细情况请查阅函数表;2、另外应当理解从AA到BB的运算的含义,点到面的推广,请参见前面的基础技巧。
2、44 持续放量走高
连续的成交量放大同时股价攀高:
量化:(我们在以下提出一种量化的模式,因为每一个投资者都有不同的理解,导致不同的量化结果,建立不同的量化模型)
连续三天:5日均量依次放大;价格步步攀高;
那么,建立的模型就是连续3天MA(VOL,5)和CLOSE保持上升,请见下图示例,当然我们将5日的均量指标标注的话,效果会更加明显:
AA:=MA(VOL,5)>REF(MA(VOL,5),1);
BB:=COUNT(AA,3)=3;
CC:=CLOSE>REF(CLOSE,1);
DD:=COUNT(CC,3)=3;
BB AND DD
在上面的公式组当中我们为了结构的更加美观,我们将两个条件分别编写成为中间表达式BB和DD,然后将它们合并。
2、45 突破长期平台整理
它描述了股票的价格在一定的范围上下波动,如果有庄家主力在其中悄悄吸纳......直到某一天股价一鹤冲天!我们寻找各种特征,建立以下的模型:
“长期”,150天;“横盘”,设为股价在150日均线上下15%波动;放量,设为比昨日成交量放大;创下150天以来的历史新高!
比昨日成交量放大2倍:
V1:=MA(VOL,5);
V2:=VOL/REF(V1,1);
长期盘整,分别取得当天150日均价,150日最高价,150日的最低价,设为股价在150日均线上下15%波动,也即高低落在15%的幅度之内:
PZ1:=MA(CLOSE,M);
PZ2:=HHV(HIGH,M);
PZ3:=LLV(LOW,M);
PZ4:=(PZ2-PZ1)/PZ1;
PZ5:=(PZ1-PZ3)/PZ1;
PZ:=REF(PZ4,1)<0.15 AND REF(PZ5,1)<0.15;
今天成为新的高位!
TP1:=HHV(HIGH,M);
TP:=HIGH=TP1;
综合条件
V2 AND PZ AND TP
2、46 逆势走强
“某一阶段逆势走强”,我们常常可以听到其他的投资者这样的谈论一只股票,如何编写呢?我们在前面已经见过一个对阶段描述的条件选股公式,“逆市”就是逆大盘之势,和大盘背离。
量化:假设为最近3天时间,大盘下跌了超过5%,而某些个股不但没有下跌反而上涨了。
{大盘描述}
AA:=REF(INDEXC,3);
BB:=INDEXC/AA<1-0.005;
{个股描述}
CC:=REF(CLOSE,3);
DD:=C/CC>1;
BB AND DD;
请注意大盘的函数INDEXC......,我们测试以上公式的选股结果如下,20000920我们测试得到一个信号,当时大盘连连下跌,ST深物业确实逆市而动,请对比下图。
2、48 创下历史新低
新高和新低是投资者经常关注的变化,因为它们通常寓意着一些重要的信息,尤其是历史的新高或者新低,其意义应该是更加重要。如果细心的话在分析家的函数介绍当中,屡次提到了如果HHV、LLV、MA等引用类函数的时段为0的话,那么该函数的计算范围是序列中所有的数据,下面的例子以历史低点计算目标。
量化的结果:当日股价曾经到了历史的最低价之下,也就是“当天的最低价为上市以来所有交易日的最低价”:
AA:=LLV(LOW,0);
LOW=AA
   刚好相反的历史新高编写如下:
AA:=HHV(HIGH,0);
HIGH=AA
2、49 跌破30生命线
我们先量化这个概念:是收盘价线当日穿过了30日的均价线。这个时候似乎不知如何编写了,因为是什么穿过了30日线,CLOSE只是一个价位点。在分析家公式编写快速入门当中我们提到了价位线的编写,当时是编写一条最简单的指标线,确实在函数当中CLOSE是一个行情函数,用来提取行情数据,但是如果在指标公式当中,“CLOSE”就是这些所有的行情点连接起来的一条指标线。所以是收盘价线当日穿过了30日的均价线:
AA:=CLOSE;
BB:=MA(CLOSE,30);
CROSS(BB,AA);
2、5 动态盘中选股
技术派的拥护者秉承“盘面反映一切”的观点,相信尽管股票市场变化多端,影响股价波动的因素错综复杂,但是,这些因素对于股价的影响都会通过盘面表现出来,例如国家政策、经济形式、各种消息,和上市公司的经营状况,市场主力动向以及中小散户的心理等等,一切都会通过价格的波动和成交量的变化呈现在您的面前。
但是,并不是每一个人都可以看的懂,能够真正明白这些曲线所代表的含义,或者大部分时间您根本就无法做到对所有股票作出监控--所以我们建议可以使用分析家将这类动态的,极快变化的特点曲线用分析家表达出来,,有分析家实施监控!以下的举例就是其中的一部分。
涨幅选股
开盘后30分钟内涨幅达到5%以上:有两种方法可以实现,首先是10:00的时候在分析家的动态显示牌当中直接进行排序,进行观察,但是如果我们需要的是计算机自动提醒的话,那就需要通过以下的公式编写的途径得到。
公式量化中的一个问题是:1、在盘中如何得到涨幅呢?其中一种方法是调用动态行情函数DYNAINFO(14).....2、另外还有要表达时间10:00,那么我们的公式就可以编写如下了:
AA:=DYNAINFO(14);
TIME=100000 AND AA>5/100;
然后将公式做成条件预警即可,需要注意的是因为引用了DYNAINF(N)函数,而函数本身只能引用当前动态显示牌中的数据,所以是不可以作为盘后分析的公式的。
2、52 量比选股
“当前量比>4”
编写方法同上,值时DYNAINFO的N的取值变为17:
DYNAINFO(17)
常常我们需要联系昨天的收盘价或者昨天的成交量等等,进行全面的有联系的考量今天的行情并进行预警,比如昨日涨停板,今天开盘后60分钟承接昨天的行情继续放量走高,已有一定的升幅和较为放大的成交量。
量化:昨日涨停:
昨日涨停即与前天的收盘比较而言达到了涨幅的限制10%--我们在公式速成当中提过这个概念,表达为:
AA:=REF(CLOSE,2);
BB:=REF(CLOSE,1);
BB/AA>1.0995;
开盘后60分钟时:
CC:=TIME=100000;
量比达到2:
DD:=DYNAINFO(17)>2;
涨幅已达5%:
EE:=DYNAINFO(14)>5/100;
所以最后预警公式组为:
AA:=REF(CLOSE,2);
BB:=REF(CLOSE,1);
CC:=BB/AA>1.0995;
DD:=TIME=100000;
EE:=DYNAINFO(17)>2;
FF:=DYNAINFO(14)>5/100;
CC AND DD AND FF
   2、53 尾盘大单拉升(打压)
无论怎样,在尾盘的时间内经常会出现一些出人意料的走势,令人叹为观止,也许是主力庄家的一种做盘的手法,其具体的含义也因为不同的时间、不同的形态、不同的基本面下有不同的解释。现在的问题是我们如何捕捉这种特征的股票呢?例如下图中的图形就是其中的一个例子。
尾盘拉升
量化模型一:尾盘是指收盘前的十几分钟内的成交量达到当天均量的3倍手以上,并且拉升的幅度要求大于2%;
我们在编写的过程当中会遇到几个问题,其中比较棘手的一个就是周期的界定,因为使用不同的周期模型分析,就会有不同的表达方式,或者有时候根本就无法表达,在本例当中我们采用了1分钟的分析周期,另外在量化的模型中提到了当天的均量,那现在的含义就是当天每分钟的成交均量,言下之意为最后十几分钟内的每分钟均量是全天的每分钟的成交量的3倍以上。
AA:=TIME>=145500;
BB:=SUM(VOL,0)/240;(当天均量)
CC:=SUM(VOL,10)/10(10分钟内的成交均量)
DD:=REF(CLOSE,10);
AA AND CC/BB>3 AND CLOSE/DD>1.02
这其中的量化模型可以有很多,因人而异,在原分析家的公式中选用的就是尾盘2分钟内,14:58-15:00的分析时段进行分析选股的。
2、54 盘中巨单向上成交
有的时候盘中会突然出现很大很大的成交量,出现了十分明显的异动,例如一旦当股票的价格拉升了3-4个点位,甚至于直接拉到涨停板的位置,如何描述这种形态呢?
分析和量化
首先选择合适的分析周期,既然描述的是单笔的变化,当然是选用分笔成交分析周期合适!
本笔和尚笔的价差达到3%以上。
单笔成交量达到了2000手以上,或者我们转化一下思考的角度,变成单笔的成交金额达到了2千万。
AA:=REF(CLOSE,10);
CLOSE/AA>1.03VOL>2000 OR AMOUNT>20000000
2、55 空中对敲选股
简单的定义,之所以称为空中对敲,是因为从盘面上看不到什么迹象,而突然的单笔成交量成百上千的出现的成交单。
总是有用户询问如何编写一些公式来分辨一些所谓的对敲单,以下两幅图是从客户而来的,我们被询问的一个例子。在第一图中,时间是14:45:28,当时的委买卖都不过2位数,而在它的下一笔成交量却放大到了1000手以上,排除极其偶然的因素--应该是有人在其中有所动作,我们也不敢保证这一定就是所谓的空中对敲单,但是它至少是很有代表性的!(如果您是细心的读者,一定会发现这两幅图的细微差别,就是在买单的2、3档的挂单和上一笔的2、3档有较大的差值),现在我们假设以下就是一笔空中对敲单,看一下如何编写它的公式。
总结与量化:
毫无疑问我们的分析周期这回是分笔成交。
上笔的委买卖的和为A和B,我们将上笔的上下档买卖分别加和得到A和B,无论发生了什么,本笔和上笔的波动幅度很小,这里有很多的参照系,比如M%,或者5分钟线。我们在这里界定为本笔的现价在上一笔的委买卖之间,另外我们要用到行情函数中的BIDPRICE(N),BIDVOL(N)......等函数!
公式编写:
A1:=REF(BIDVOL(1),1);
A2:=REF(BIDVOL(2),1);
A3:=REF(BIDVOL(3),1);
A:=A1+A2+A3;(上一笔的委卖量)

B1:=REF(ASKVOL(1),1);
B2:=REF(ASKVOL(2),1);
B3:=REF(ASKVOL(3),1);
B:=B1+B2+B3;{上一笔的委买量}

CC:=MAX(A,B){MAX(M,N)求出A和B的较大值}
DD:=VOL/CC>3;{本笔的成交量比A和B的较大值大出3倍以上}
E1:=REF(BIDPRICF(3),1);{上一笔的委买卖价}
E2:=REF(ASKPRJCE(3),1);
EE:=CLOSE>=E2 AND CLOSE<=E1;
DD AND EE
2、6 筹码分布选股
成本分布可谓是分析家的一大特点,通过一种数学模式尽可能地接近和模拟市场的事实的购筹码的分布结构,虽然做不到“知道所有人的底牌”,但是做得到“了解大部分的其他人手中的牌”
!分析家为客户自己定量地描述市场提供了两个成本函数,COST和WINNER,从而完成了对这一部分的自由和开放的平台制作。
在函数表中我们已有对这些函数的计算原理和计算方法有一个完整的介绍,所以这里不再赘述,直接通过以下的一些例子来了解这些函数的用法!

2、61 当日收盘价的获利盘的比重?
含义解释为在本周期收盘价之下的获利筹码的比例是多少?这样计算的原因在于通过具体的数值分析求得更加明确的权市场的成本构成状况。
COST(CLOSE):
同样原理有:
COST(OPEN);COST(HIGH);COST(MA(CLOSE,5));
2、62 当日90%的成本获利的价位?
在此价位之下的90%的筹码在不计入交易费用的前提下都已经实现了帐面上的盈利。
WINNER(90);同理: WINNER(10);   WINNER(50);
2、63 单峰密集形态
在《高级实战技法》我们提及了两种密集形式:单峰高位密集、但逢低位密集,这两种密集形式分别代表了不同的基本含义。当发生在相对的高位的时候,几率较大的后市行情是下跌即将来到,而低位则刚刚相反。
条件选股之一:单峰密集
如下图所示,股价一直在一段区域内上下振幅不大的波动,在狭窄的区间内发生了大量的换手,并且延续了相当的一段时间,在业界有许多种的称呼,或者其他较为形象的描述,例如,长期的横盘整理,时间换空间等等,该形态被视为一种主力以低成本吸筹,以耐心换取筹码的典型手法,但是一直缺乏一种定量的描述方法,而移动成本分布的模型的建立为简单解决这个问题带来了契机,COST和WINNER函数则真实地实现了统计意义上的解决手段。
我们要找出70%的筹码集中在很小的区域内(一个容易进行横向的对比的区间内),也就是分布集中度较高的区域。
在两个假设的前提下,按照以下的方法做:
先找出85%的筹码获利的价格线:
A1:=COST(85);
找出15%的筹码获利的价格线:
A2:=COST(15);
70%的获利空间为:
A3:=A1-A2;
85%和15%的获利价格区间的中价为:
A4:=(A1+A2)/2;
将表达式改为百分比的形式并进行界定,让70%的筹码分布在它们中价的10%的范围内:
A3/A4*100<10;
如果大家已经很熟悉分析家的公式编写了,那么我们就不用那么多的中间表达式了,前提是清楚公式的架构,我们可以直接采用以下的表达方式:
分布集中度:
(COST(85)-COST(15))/(COST(85)+COST(15))/2<0.1
注意:分析家在移动成本分布右下角标注的“70%的筹码分布在X元(+、-)Y%的范围内”,其中的X值就是我们在上式中计算的中价A4,Y就是集中度。
因为在原来的假设前提下,每一天的筹码分布都是不断的累加和迭算,期间的计算量相当巨大,这就是我们之所以采用以上的简单计算方法的原因了。因为细心的用户一定会想到,筹码绝对不会像我们所说的那样简单地集中分布在85-15的区间内,但是一定是近似的分布在这个区间内,因为它们的分布符合正态分布的原理。

条件选股之二:低位的单峰密集
即对单峰密集加入低位的概念。我们有许多的方式进行低位的条件限定,我们可以通过对历史上的最高点进行对比或者其它的指标公式的引用,或者采用的参照对象是一段时间内的高点,以下将使用最后一种方式来完成这一步工作。
建立低位的模型:
“在过去一段长时间的交易周期内,采用250天,85%和15%的获利价格区间的中价的价位在其波动范围的下半部位,也即是低于250天振幅的50%”。
B1:=HHV(HIGH,250);
B2:=LLV(LOW,250);
B3:=B1-B2;
(A4-B2)<B3/2;
最终的低位单峰密集的公式组为:
A1:=COST(85);
A2:=COST(15);
A3:=A1-A2;
A4:(A1+A2)/2;
A5:=A3/A4*100<10;
B1:=HHV(HIGH,250);
B2:=LLV(LOW,250);
B3:=B1-B2;
B4:=(A4-B2)<B3/2;
A5 AND B4
其中的周期250和集中度10%,我们都可以设为参数调整,选到最佳的周期和分布集中度。
条件选股三:跌破市场成本的反弹:
当一段下降的趋势形成之后,随着成交不断的发生在低位、更低位,从而整个股票的重心不断的下移,但是并不是所有的重心下移都是一样的,如果从市场的交投情况来看,成交量明显缩小的、换手率偏低的个股,它的重心就下降得很慢,甚至于出现减速、平走的情况。我们目前已经可以证明,在所有的“V”字反转当中,60%-70%或者更高的比率都会出现上述的情况。(当使用不同的数据测试的时候,有不同的结果)
也许从不同的市场角度,可以归纳出不同原因来解释,但是无论如何,我们看一下在分析家当中怎样来用公式系统编制这样的技术形态。
首先,图中有一条指标线,该技术指标是为了我们更好的观察这种现象而编制的成本线指标,用以作为一个辅助性指标:
B:COST(50);
指标线B是连接日线周期上所有的50%筹码获利的价格的一条连线,我们也可以将它称为市场的绝对平均成本线。
显而易见,在下图当中由于超跌所引起的反弹在市场平均价格线的衬托下,技术形态的特征十分容易寻找,当CLOSE背离B线达到一定程度的时候,就进入到了技术上的超跌反弹区域。它和传统的RSI等等指标的最大不同,也是其根本不同,统计的对象一个是单纯的价格,一个是累加了成交量变化的价格均线。
在以下的举例当中,我们进行了一些测量,反弹点距B线的差距当时已经达到了15%的比例。
所以有以下公式:
超跌反弹选股:量化模型为:当收盘价与绝对平均成本线的距离的百分比低于-15%,为一个超卖区间,可以考虑买入;反之,如果高于15%,为一个超买区间,应该考虑回避风险。
买入条件:
A1:=COST(50);
CROSS(A1,-15);
卖出条件:
A1:=COST(50);
CROSS(15,A1)
2、7 基本面选股
基本面选股是指调用各类财务数据的比较选股,例如流通盘、市盈率等等!这些方面相对比较简单,直接调用FIAN(N)、CAPITAL等函数以及设定相关的参数。
大盘股流通盘大于2亿的个数:
CAPITAL>2000000;{注意CAPITAL的单位是手}
或者,
FIANCE(7)>20000;{该函数的单位是万股}
市盈率选股:
市盈率小于30的股票:(取每股收益)
SYL:=CLOSE/FIANC(33);
SYL<30
   高净资产收益率选股:
资产收益率达到8%的股票:
FLANCE(37)>8
......等等!
第三章五彩K线
在《使用说明书》当中,我们提到分析家的“五彩K线打破常规,用户可以设定在不同的条件线K线所显示的颜色”,简而言之,五彩K线是一种赋予颜色值的研究手段--通过公式系统,计算所需要的条件,然后用赋值函数BACKSET赋予满足条件的K线时段以不同的颜色,区分不满足条件的其它时段的K线。
所有的条件最终交与函数BACKSET(X,N)执行,X是由逻辑判断语句组合的一个综合条件,N为您意欲赋予颜色的时间长度,该时间长度的取值法为“从当前周期开始向前到N个当前周期”。
所以五彩K线选股包括了两部分的内容,逻辑条件X的编写方法也就是我们在前一章介绍的条件选股方案,另一部分就是添加颜色的工作,以下我们通过几个例子重点说明BACKSET函数的使用方法。
3、1 五彩K线示例
以下我们通过一些具体的K线的编制过程来领会和学习它的编写技巧和内在含义。
3、11 上升丁字线的五彩K线
建立最简单的五彩K线,其模型为:最高价重合收盘价、开盘价,带有一个长度大于3%尾巴的最低价,组合条件AA编写如下:
A1:=HIGH=CLOSE AND CLOSE=OPEN;
A2:=HIGH/LOW>1.03;
AA:=A 1AND A2
因为该K线只涉及到一个周期的K线,所以BACKSET(X,N)中的周期N选定为1,五彩K线的公式为:
BACKSET(AA,1)
3、12 两阳夹阴
多组五彩K线的组合确认程度高,所以在实战当中使用率也高!例如出现连续的长阳和长阴相夹,说明股市在受到巨大的外力作用而改变了方向,尤其是有些图形的组合,例如两长阳夹住一长阴,同样无论其中的究竟如何,如果是持有或者准备持有的投资者都应该引起足够的重视。
第一和第三天的K线实体为超过收盘价5%的长阳线,而第二天则正好相反,是长阴线,但是只要组合的高低稍微有点不同,其内容可能会有大不同的含义。在不考虑其他的因素的条件下,我们可以大致分为三类:平走、斜率上升、斜率下降。
我们选择第一个编辑公式,根据图形的特点公式可以量化如下:长阴长阳,高点同方向升高,重心(用收盘价来表示)上移,底部不超过前一天的开收两价的中价,但是同时也不低于前两者的较小值。
A1:=REF(CLOSE,1);
A2:=REF(OPEN,1);
A3:=REF(A1+A2)/2;
A4:=MIN(MAX,A1,A2);
A5:=MIN(CLOSE,OPEN)>A4 AND MIN(CLOSE,OPEN)<A3;
A6:=CLOSE>REF(CLOSE,1) AND HIGH》REF(HIGH,1);
AA:=COUNT(A5 AND A6,2)=2;
B1:=ABS(CLOSE-OPEN)/CLOSE>0.03;
B2:=COUNT(B1,3)=3;
C1:=COUNT(ISUP,3)=2 AND COUNT(LSUP,2)=1 AND COUNT(ISUP,1)=1;
BACKET(AA AND B2 AND C1,3);
以上的公式描述方向选择了整体的描述,A2统计了三天的高点依次升高,并且相互粘连;B2统计了3天来C天的实体都大于5%的收盘长度;C1则变相的让第二天收阴,剩下两天收阳。
以下是我们从选股结构中得出一个不同位置的事例!请仔细斟酌!
3、13 KDJ中的K<20的五彩K线
如果K进入到了20一线以下,按照KDJ理论,我们应该提高警惕,并准备捕捉时机的到来,所以将小于20的所有K线标示出来的意义就不言而喻了!
A1:=K<20;
BACKSET(A1,1);
   在以上的两个例子中,参数N的值都是常数。另外N也可以根据实际的需要,改变为一个常量,例如,我们需要这样一段时间的K线组合,5个交易周期内发生过一次涨停板,涨停后到现在的所有K线都需要被调用出来进行分析。
首先编辑条件:
涨停板:
A1:=CLOSE/REF(CLOSE,1)>1.0999;
5个交易周期内发生过一次涨停板:
A2:=BARSLAST(A1)<5;
计算出A1条件出现到当前的周期:
A3:=BARSLAST(A1);
五彩K线描述:
BACKSET(A1;A3)
在上例当中,我们调用了一个根据条件随机变动的取值周期,其中的A3就是我们根据条件计算出来的变量周期数,我们可以看到下面的效果。

第四章交易系统
“交易系统是完整的交易规则体系”,首先一套最简单的完整的交易系统,包括最基本的交易点组成的框架,也就是由两个点组成,一个是买入点的切入和卖出点的切出,整个的交易系统就是围绕着这两个基本的点形成的循环,整个的交易系统的确立、测试和优化,简单讲只是围绕这两个基本点的确认而展开。
但是,一个交易系统绝对不只是局限于得到两个点的工作,买入和卖出的有机结合,交易资金的合理分配使用,根据市场状况的变动相应的调整以适应新的变化等等后期的跟踪和再优化,以及保证交易循环的连续性都是一个“完整的交易规则体系”的要求。
一个完整的交易系统由以下的步骤组成:
交易策略的提出
交易对象的筛选
交易策略的公式化
交易系统的统计检验
交易系统的外推实验
交易系统的实战检验
交易系统的检测与维护
实际上,简单的讲来就是将一些的经验和方法首先通过量化和公式化,变成计算机可以识别的语言,并且在历史的数据中进行统计和成功率检验。首先通过了不同的市场,不同的历史环境的数据检验后付之实战,最终在实践的考验中不断完善和进步。在本书中,重点介绍利用分析家如何实现交易策略的公式化以及交易系统的统计检验。
4、1交易系统的基础和格式
在分析家中点击“CTRL+F”进入到公式编辑器的界面,然后选择“交易系统”后,“新建”一个公式。
交易系统公式和其他的公式遵守相同的编写规则,如果观察以上的界面,可以发现主要有几点不同。
止损条件的设定
如前所讲,交易系统是由一个完整的交易循环构成,包括买入和卖出等等,止损实际也是一种卖出条件,只是它应该归为被动卖出一类。在日前的技术分析派投资者的使用过程中,这是一种十分常用的风险回避手段,在分析家中的设置的详细情况见下图:
多档买卖条件的设定:交易系统最简单的结构由两个条件组成,买入和卖出(多头市场当中),或者卖出和买入(空头市场当中)。
ENTERLONG;;
EXTYLONG;;
ENTERSHORT;;
EXITSHORT;;
以上四个条件分别表示两个市场行为的买入和卖出条件,每一个条件分别由独立的公式组成,例如多头买入“ENTERLONG”,后面用分号区分买入条件的公式,并按照惯例加分号。例如,一个简单的交易系统模型:
ENTERLONG;条件A;
EXTYLONG; 条件B;
一个完整的交易系统必须有进出两个条件组成,也就是说至ENTERLONG、EXITLONG或者ENTERSHORT、EXITSHORT中其中一组组成,止损条件可以设定也可以不设定。
指示颜色
不同的条件允许在K线中加载不同的箭头符号标示和区分最终的指示信号,具体见软件中上图位置的“指示颜色”。
测试步长
交易系统中的参数设定时需要考虑测试步长的问题,因为参数过短造成测试量的巨幅几何增长会严重影响计算机的计算速度,所以在分析家中对步长作出了限制,具体的计算公式如下:
参数1:
A=参数最大值
B=参数最小值
C=参数测试步长
参数1的计算量:D1=(B-A)/C的取整值;
将所有的参数的计算量计算得出之后相乘的值小于10000即在合理的范围内。
参数名   最小   最大   缺省   测试步长
N             1          100       9          3
   N1         2         10       3         2
   N2         2            30      3         2
如上图中的参数计算如下:
参数N的计算量:D1=(100-1)/3=33;
D2=(10-2)/2=4
D3=(30-2)/2=14
虽以计算量   D=33*4*14=1848<10000
   相反如果计算量过大溢出,公式系统将提示您无法完成,请修改相应的参数测试步长。
4、2 交易系统示例
4、21 KD交易系统
因为公式的编写基本原则都是一样的,所以对于公式编写而言,交易系统是多个条件的组合,我们打开分析家的交易系统,规定其中的KD交易系统并打开。得到上图:
第一步:按照以前的公式编写方法,我们分别设定公式的名称、分析周期、参数的各项内容等,首先我们在公式编写栏中编写KD的表达式,并且将K、D表达为两个中间表达式。
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
第二步:根据对KD使用的理解,得出需要编辑的条件并且加以量化、公式化--例如,我们知道了如果在D小与20的区域发生了K线向上穿过D线是很好的买入条件;相反的,D>80并且发生了D线向下穿过了K线,则是很好的卖出条件,这两个条件组成了一个比较完整的循环,达到了一个最简单的交易系统的结构要求,事实上就是我们把两个有机条件并列起来的过程。
ENTERLONG:CROSS(K,D) AND <20;
EXITLONG:CROSS(D,K) AND K>80
经过上面的两个步骤,完成了投资理念的公式化,这只是完成交易系统的最简单的一个环节,其后的测评与优化,直至实战检测,维护都是十分重要的工作,这一部分我们将在后一章的测试系统系统中提到。
4、22一个简单的交易系统
“如果在一个KD强势的市场中,如果股价从下方穿过了30日均线,并且当天的成交量有比较明显的放大,我会买入;我的卖出条件是股价跌下10日均线之下立即抛出,当股价跌出买入价的5%时候主动止损”。
以上是笔者在和一个朋友的交流中获得的一个思路,以它为例来编写一个简单的交易系统。首先量化以上的思路:1、采用KDJ中的D>40来描述强弱。2、成交量明显放大量化为大于5日均量的1倍。3、长短均线交叉。
第一个条件,买入条件:
{强势D>40}
AA:=“KDJ,D”;
A1:=AA>40;
{成交量明显放大量化为大于5日均量的一倍}
A2:=VOL/MA(VOL,5)>2;
{股价从下方穿过了30日均线}
A3:=CROSS(CLOSE,MA(30));
{买入条件为}
ENTERLONG;A1 AND A2 AND A3
第二个条件, 卖出条件:
{股价从上方穿过了5日均线}
A4:=CROSS(MA5,CLOSE);
EXITLONG;A4 AND COUNT(A1 AND A2 AND A3,20)=1;
注意其后的COUNT()是用来限定卖出信号发生在卖出条件发生的20天内。
止损条件:
在交易系统平仓条件中设定当与买入价相比损失率达到5%的时候主动止损出局,在上图中选中一个条件。
将以上三个条件合并起来,就得到了一个简单的交易系统的公式,另外根据实际的情况逐步完善该系统。
第五章公式优化与测试平台
指标公式的优化
条件选股公式的优化
交易系统公式的优化
无论是指标、条件选股,或者交易系统的编制,都是一个循序渐进的过程。这一点在交易系统中表现得尤为突出,从一个方案的提出,到量化,编制公式,然后在以后的不断的检验--历史数据下的静态检验,当前数据下的动态检验,实战检验,任何其中的一个环节如果发现有不合理的,不准确的的地方都需要我们对整个公式系统进行修改,使之更加完美,也许可以将之称为“优化”。
在分析家4.0的版本中,突出了这个功能的实现,可以通过测试平台对所有的公式化分析工具或者交易工具进行全方位的测评,并提交一份翔实可信的测试报告,在以下的几节中,我们将通过融合测试平台的使用对指标、条件选股以及交易系统的公式进行优化。
5、1测试平台的基本内容和架构
在工具栏中选中“系统测试平台”,在分析家中为技术指标、条件选股以及交易系统建立了统一的测试平台。
假设我们选择了技术指标当中的MA进行测试,在设定好一定的买入条件和卖出条件以及测试的市场模型之后即可对任意的指标、公式等进行测试。分析家中提供了两种不同的测试模型,一种是针对全部信号的单个股票测试,另外一种是为了最佳的模拟真实的买入和卖出条件,以及参与市场的投资策略的测试模型,具体的内容和区别请参见分析家的说明书。
买入条件设定
测试时段,也即测试的时间区间,分析家默认的区间为19960101到当前。
买入规则,在分析家中有以下的买入规则,如果默认的买入规则无法满足您的要求,您可以在条件选股当中编制您的买入条件。
平仓条件
分析家提供以上5种平仓条件,涵括卖出指令和止损指令:
目标周期为终点,到时自动平仓,20周期以后的收盘价平仓;
目标利润为终点,到时自动平仓,10%帐面盈利以后的收盘价平仓;
三类止损平仓:分别设定不同类型下的规避风险条件
市场模型:分析家提供两类市场模型供测试分析,具体使用请见下列
5、2 测试和公式优化的示例
例一:MA均线指标参数优化和测试
MA均线指标是我们较为常用的一个技术指标,我们通过测试平台来初步检验一下该指标的使用效果,当然我们所能做到的是假设我们在历史的某一天计算机提示了一个买入点,并且我们按照这个提示在当时进行了买入的操作--在一段时间之后的行情将会检验我们在此之前的操作的合理与否!
参数名   最小   最大   缺省
N1         0          300       5
   N2         0          300      10
   MA5:MA(CLOSE,N1);
MA10:MA(CLOSE,10);
因为不同的均线周期数应用了不同的分析市场中有不同的反映,根本的原因在于每一个合理的市场都存在自己的运行周期,所以个股的表现也紧紧地和市场联系在一起,体现在指标分析当中,就效果较好的指标参数可以比较准确地描述和预测股票运行的方向。以下我们利用测试平台来检验和寻找理想的MA均线参数。
第一步:在测试平台中选择MA均线指标
第二步:点击下一步,设定测试时段和交易规则
在上例中,我们选择了从19960101-20010226这一时间段,并且选定了买入规则为指标线MA1向上穿过了MA2的时候使用全部的资金买入。
第三步:设定相应的卖出条件和停损条件,并且选定测试的股票数量和对象,我们假设使用整个沪市的股票进行测试!为简单起见,我们沿用了分析家以往的默认测试方法,只设定20个周期和目标利润10%。
市场模型:
注意这里为了检测真实的全市场的信号状况,我们选择了单股票测试;
10万资金,原来的测试模型里,就是现在的单股票测试,我们是针对的出现的所有的信号都按照20天10%的测评条件进行测试,无论信号出现的时间、次序,是否可以成为真实的买入点;现在提供另外的全市场测试,允许我们模拟真实的10万资金在一段时间内按照规定好的条件连续的买入和卖出,最终统计在一定的时间内的一个模拟帐户的交易收益!
第四步:在浏览了整个测试的结构和条件之后,分析家提供了参数优化的模型--或者您可以直接略过参数优化直接进入到结果测试当中去。
为了简单起见,我们选用了对两条指标线的参数进行优化测试,一条是短期均线;另外是一条长期均线,短期均线的优化步长设定为5,长期为10,整个优化的次数不得超过10000次。
测试的结果分别在以下用两种表达方式分别用图表形象地列出:
分析:通过以上的两图一表,我们可以发现以下的特征:在列表结果中,所有的成功率集中在50%-60%的窄区间内,说明参数周期的长短没有对结果产生太大,太剧烈的影响,在图形方式中,可以观察到参数范围(5,20)-( 15,20)之间的颜色为红色,也就是说净利润最高;
假定以第一个参数为序列递增,信号的数量相反下降,从15367个信号降到了3000个,可见参数对信号的多寡有很大的影响,在实际投资中产生的交易机会的把握会同样有影响;
现在可以解释为什么我们通常会使用5、10、20、30等几个参数作为MA均线的原因了!在保障几乎相当的成功率的前提下,选择最多的信号密集区是我们在实战当中必要的客观技术要求下的环境,也正是这一点促使产生这样的参数,并且被很多的投资者认可,我们通过测评系统的计算,得出了结论!同样我们可以通过这个测评系统得到其它的所有公式、指标等等其相关的最佳参数集,从而完成了公式优化的第一大步!
例二:MA均线交叉的条件选股测试和条件优化
测试:
承接上面的例子,我们结合市场的普通使用状况和我们的优化表中的数据采用其中一组合适的参数作为测试的对象,来分析市场广为流传的均线买入卖出法进行测试。
输入MA均线的公式,并且使用参数5,10进行测试:
注意这里为了模拟真实的10万资金在一段时间内按照规定好的条件连续的买入和卖出,最终统计在一定的时间内的一个模拟帐户的交易收益!我们选择了全市场测试:
从19960101-20000226我们测试了所有的上海市场的A股得出了以上的结论,总共的交易信号数量达到4656个,其中信号的优劣各占5成,但是年收益率为1.72%,就是说条件MA5向上交叉MA10日均线的利润几乎为0!
优化:
既然借助计算机和分析家的我们已经测得“如果只是简单的使用MA均线,即便改变使用最佳的参数,而不考虑其他的因素的话,从概率的角度上讲,基本是两平微亏的局面......所以为了更好的利用计算机的作用帮助我们寻找更高更好的交易策略,需要对原来的条件进行更改或者加以限制,过滤掉多余的错误的信号”。
在优化的过程中,我们需要分析全部的各个信号出现时当天的具体状况,然后剔除比较恶劣的条件......尽量保留真实有效的信号!
以下是我们随机寻找了一个补充条件,当天出现大阳线和MA均线配合使用:
则现在的测试条件变为:
A1:=MA(CLOSE,5);
A2:=MA(CLOSE,10);
AA:=CROSS(A1,A2);
B1:=CLOSE/REF(CLOSE,1)>1.07;
B2:=CLOSE=HIGH;
AA AND B1 AND B2
再用以同样的条件下进行测试,我们得到了以下的图标,可以见到收益有了较为明显的提高!这样一来,说明新的公式所描述的选股条件较原来的条件更有意义,在实际操作中的参考价值也相对要高。
收益率:61.29%      交易数量:48   胜率:    75%
事实上每一个公式都是通过这样的测试,不断的完善之后才会交给到正式的市场去再检验,如果您承认市场是可以找到这样的规律,它们确实存在,那么这个公式才会有意义,您才会去不断的改良它!作为技术分析的前提,也正是我们分析家公式发挥作用的前提!
例三:一个简单交易系统的测评和优化
一个简单的交易系统
“如果在一个KD强势的市场中,如果股价从下方穿过了30日均线,并且当天的成交量有比较明显的放大,我会买入;我的卖出条件是股价跌下10日均线之下立即抛出,当股价跌出买入价的5%时候主动止损”。
在我们前面的介绍中,曾经介绍过一个朋友的最简单的交易系统,交易系统是在不断的重复改良,辩证和创新中得以升华的--现在就这个简单的交易系统,我们来做一下系统的综合评测,让历史上的数据来判断吧!
原来的公式系统为:
AA:=“KDJ,D”;
A1:=AA>40;
A2:=VOL/MA(VOL,5)>2;
A3:=CROSS(CLOSE,MA(CLOSE,30));
A4:=CROSS(MA5,CLOSE);
ENTERLONG:A1 AND A2 AND A3;
EXITLONG::A4 AND COUNT(A1 AND A2 A3,20)=1;
交易系统在卖出条件上与其他的公式系统测试有所不同,其他的都是使用同一个测试平台,都是一样的,我们可以先简单地将交易系统看作是条件选股的扩展,区别是交易系统的卖出条件更加的丰富,可以自己根据实际的经验来编写;而条件选股的公式在这个测试平台上,只能遵守强制卖出和止损的固化的条件。
刚好我们用一笔10万的资金测试一下如果从96.1.1日开始,我们按照这个交易系统去做交易,一直做到今天,做一下测试,结果请看以下图表:
结果确实不理想,和所相差比较远--我想,这里大概验证了一个道理,只有市场是对的!把您的公式、想法让市场去辨别,它会给您一个很好的答案的!
   附录:函数参考
分析家的公式编写系统使用了多类的函数,以达到快速提取数据和提高运算能力,同时简化计算过程的要求。因此在不同类型的函数我们赋予了相当精确的含义,有的函数定义为行情数据提取函数,那么它的功能就是从静态历史上的行情数据或者动态的及时盘中数据提取我们所需要的数据以方便以后的分析和计算;有的函数定义为运算函数,是考虑到一些复杂的数学计算过程过于冗长,从而设计的简化运算的函数等等。在以下的几节中,我们将会分别介绍一共12类的函数。
(1)、函数的基本模型:
K(X1,X2,X3......)
1、K表示函数的名称;
2、X1,X2,X3......表示该函数的所有参数。
不同参数用逗号分隔并用括号将所有函数括起来列于函数名称之后;参数的取值可以是变量也可以是一个常量,具体取值和含义因函数不同而不同;
(2)、函数的引用周期:
应不同的使用者在分析周期习惯上的差异,分析家特别设定了周期选择,这主要是针对在引用类函数在引用数据时锁定自己所需要的周期,例如在日线上,或者在周线上等等的要求。
如右图所示,一共可以从分笔到多日线等10类选择。
一、行情函数
行情函数是最基本的函数,首先,它为我们提供计算所需的函数,这些函数从存储的数据中取得我们所需要的各类数据,而其他多数函数所需的计算数据一般也是由通过引用行情函数产生的。
1、OPEN
含义:返回本周期的开盘价,简写“O”
参数:无
单位:无
阐释:如果您选定的分析周期为日线,那么“OPEN”就表示取得当天开盘价的数值。
2、HIGH
含义:本周期的最高价,简写“H”
参数:无
单位:无
阐释:如果您选定的分析周期为日线,那么“HIGH” 就表示取得当天最高价的数值。
3、LOW
含义:本周期的最低价,简写“L”
参数:无
单位:无
阐释:如果您选定的分析周期为日线,那么“LOW”就是表示取得当天最低价的数值。
4、CLOSE
含义:本周期的收盘价,简写“C”
参数:无
单位:无
阐释:如果您选定的分析周期为日线,那么“CLOSE”就表示取得当天收盘价的数值。
5、VOL
含义:本周期的成交量
参数:无
单位:无
阐释:如果您选定的分析周期为日线,那么“VOL”就表示取得当天成交量的数值。
6、AMOUNT
含义:本周期的成交额
参数:无
单位:无
阐释:如果您选定的分析周期为日线,那么“AMOUNT”就表示取得当天成交额的数值。
7、ADVANCE
含义:本周期对应大盘内个股上涨家数
参数:无
单位:无
阐释:如果您选定的分析周期为日线,那么“ADVANCE”
就表示取得当天大盘内个股上涨家数的数值。
8、DECLINE
含义:本周期对应大盘内个股下跌家数
参数:无
单位:无
阐释:如果您选定的分析周期为日线,那么“DECLINE”就表示取得当天大盘内个股下跌家数的数值。
9、BUYVOL
含义:主动性买盘成交量,取得本笔成交主动向买盘成交量。当本笔成交为主动性买盘时,其数值等于成交量,否者为0。
限制:仅在分笔成交分析周期中对个股分析时有效,否则为0
参数:无
单位:手
阐释:测试原理
10、BUYVOL
含义:主动性卖盘成交量,取得本笔成交主动性卖盘成交量。当本笔成交为主动性卖盘时,其数值等于成交量,否者为0。
限制:仅在分笔成交分析周期中对个股分析时有效,否则为0
参数:无
单位:手
11、ISBUYORDER
含义:测试是否以主动性买盘成交,取得本笔成交量是否为主动性买单,当本笔成交为主动性买盘时,返回1,否则为0
限制:仅在分笔成交分析周期中对个股分析时有效,否则为0
参数:无
省略。。。。。。
十三、移动成本分布函数
成本分布原理:
投资者一般对股票平均成本感兴趣,移动平均MA、指数平滑移动平均EMA等算法都是计算股票平均成本的算法,但是这些算法没有考虑到成交量对平均成本的影响,例如,假设最近一段时间某股票在10-20元间波动,其平均价MA为15元,但观察其成交量发现在20元附近成交量巨大,而在10元附近成交量稀少,我们认为其平均成本显然应该比15元更高才合理,为此我们可以引入换手率移动平均概念;以当天的换手率作为平滑因子计算指数平滑移动平均,用公式来表示为:
Y:=(1-A)*Y’+A*C
A表示换手率,C表示收盘价,Y和Y’分别表示今日平均价和昨日平均价。
加权平均的计算方法是:Zax,其中x为待统计数值,a为x占总量的比例,当日的平均成本Y可以表示为两个部分,当日买入的和以前买入的,当日买入的成本为收盘价C,以前买入的成本为Y’,而当日买入的占总流通盘的比例为换手率A,而以前买入的则占1-A,因此今日的加权平均成本为(1-A)*Y’+A*C,因此,用这个公式更能反映股票的真实成本。
但现在还有两个问题需要解决,其一使用收盘价不能真实表示当日成本,其二是不能了解整个成本的分布情况,即我们只知道平均成本是多少,不知道整个持仓的成本分布情况,而这个分布情况有时是非常有用的。例如某股票的所有持仓成本均为10元,而另一个股票则由50%以5元买入,50%以15元买入,这两只股票均价都是10元,但其表现必然有很大差别。
移动成本分布
移动成本分布就是为解决以上问题提出来的,它将平均成本概念从一条平均线扩展为一个分布图,表示当前所有持仓量的成本分布情况,用等间距的水平线表示分布情况,水平线的垂直位置表示成本所处价位,长度表示相对比例,其中最长的线条占满显示区,其余按照相同比例显示。
成本分布的算法与前面以换手率作为平滑因子计算指数平滑移动平均的基本原理是一样的,主要差别就在于它计算的不是一个而是一组数值,即当日成本不是收盘价,而是从最低价到最高价之间的一组数据。
成本分布算法是基于以下假设计算的:
a)每天的成本平均地分布在最低价到最高价之间,画成移动成本图就是一个最低价到最高价的矩形,这个矩形我们称为当日成本;
b)每天的换手是等概率发生的,即不论买入时机如何,对于股票持有者不管是套牢还是获利,当日抛出的概率是相同的。
成本分布画法:
a)上市每一天的成本分布图就是当日成本,即最低价到最高价间的一个矩形。
b)其后每一天的成本分布图满足Y=(1-A)*Y’+A*B,A表示当日换手,B表示当日成本,Y、Y’分别表示当日和上一日的成本分布,注意,此处BYY’均表示一个分布情况,而不是一个数值。

COST(N)
表示当日N%获利盘的价格是多少,即有N%的持仓成本在该价格以下,其余(100-N)%的持仓成本在该价格以上,是套牢盘
限制:仅在日线分析周期有效
参数:N:常量,取值范围0-100
例:COST函数根据获利盘和套牢盘的比例得出其分界线,我们可以由此得到90%的成本集中在COST(5)-COST(95)之间,而70%的成本集中在COST(15)-COST(85)之间;COST(50)表示平均成本,因此COST(95)-COST(5)/COST(50)就表示90%成本分布于平均成本附近的某个范围之内,该数值描述了成本分布的密集程度。
WINNER(A)
获利盘比例:表示以A价格卖出时获利盘比例是多少,返回0,1表示10%获利盘。
限制:A:常量或变量
例:WINNER(10.5)表示10.5元价格的获利盘比例
WINNER(CLOSE)表示以当前收市价卖出获利盘的比例
WINNER与COST是正好相反的两个函数,前者由价格求获利盘比例,而后者由获利盘比例求得价格,灵活应用这两个函数,可以定量地进行成本分析计算。

zhabc1 发表于 2003-6-4 12:13

老乡,我收下了

大鹏鸟1972 发表于 2003-6-4 16:30

多谢

王者归来 发表于 2005-8-4 06:18

BIAS乖离率

zkchys 发表于 2006-10-8 11:55

好帖就要顶!!!!

kekejiang 发表于 2006-10-8 12:52

谢谢

luotao6607 发表于 2006-10-12 14:23

好帖 !!!!

collyn27 发表于 2006-10-15 20:14

学习,公式是个好工具。

ukei 发表于 2007-1-28 22:37

gzycl 发表于 2017-3-12 23:48

请问老师,我想在公式中引用某个指数的涨跌幅,语句应该如何写:例如在某选股公式中引用399431国证银行,399437国证证券,两个指数的涨跌幅相加得出的数值作为选股是的市场背景条件之一;麻烦老师指教,谢谢。

宁静致远陈 发表于 2017-11-10 14:30

多谢楼主分享

守猪待兔2013 发表于 2018-1-12 08:26

正在摸索 看到这贴 感谢分享的这么好的总结

m1766 发表于 2019-9-10 00:00

谢谢分享!学习了!!!!!

m1766 发表于 2019-9-10 22:08

谢谢分享!学习了!!!!!

m1766 发表于 2020-10-31 11:23

谢谢分享!!!!!!!!!!!!!!!!!!!!!!!!!!!
页: [1]
查看完整版本: 《分析家公式设计指南》