勇华股票论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 曾妍

怎样编写大智慧指标公式?

[复制链接]

6万

主题

0

好友

6万

积分

超级版主

Rank: 8Rank: 8

曾妍 发表于 2007-12-20 04:24:33 |显示全部楼层
怎样编写大智慧指标公式?

怎样编写大智慧指标公式?

  目前大多数证券分析软件都具有指标分析和条件选股的功能,但只有用户可以自己编制算法公式的系统才是真正实用的,因为:

  许多软件的指标和选股功能是黑箱操作,也就是说,其内部算法是不公开的。这样用户并不知道其指标和选股到底是如何运作的、可靠性有多高、前提条件是什么,因而也难以决定是否采用指标或选股的结果。这样的指标和选股只有宣传上的意义而没有任何实际意义。

  许多软件的选股功能都不够强大和灵活。例如有些软件的条件选股功能只能让用户按照特定的模式进行设定,适用面很窄。

  公式系统类似于一种编程语言,用户可以数学公式的形式实现任何自己期望的技术指标和选股条件等。可编制的公式可以完全公开算法,用户可以自行分析、评价和修改,做到心中有数。

   公式系统的作用是什么呢?公式系统其实就是对一系列随时间变化的原始数据组序列进行代数和逻辑计算。为什么是数据组序列呢?因为每一个时间周期(即相邻两组数据间的时间间隔)都包含了一组原始数据,如开高低收量额,公式系统能对其中的任何原始数据进行操作。使用者定义出如何对原始数据进行处理得到一个新的数据,公式系统读出原始数据并按要求计算出使用者定制的数据,并以曲线、图形、指示等形式显示出来。

  公式系统可以编辑四种类型的公式,分别是技术指标、交易系统、条件选股和五彩K线公式。技术指标公式是最基本的公式,它用于指标图形的绘制。技术指标公式结合选股条件逻辑判断表达式,即得到条件选股公式,用于条件选股。技术指标公式结合买卖逻辑判断表达式,得到交易系统公式,用于交易系统指示。技术指标公式结合色彩逻辑判断表达式,即得到K线模式公式,用于描述特定的K线模式。公式的编辑在公式编辑器中完成。

  公式系统处理的原始数据的分析周期(即相邻两组数据间的时间间隔)可以从1分钟到1000天间的任意值,也可以是分笔成交数据,我们用鼠标把一个公式拖到某只证券的某个周期的图形分析窗口,则该公式处理这个周期的原始数据,如开高低收量额,改变分析窗口显示的分析周期,则公式处理新的分析周期的数据。

   公式系统对数据的运算是基于一系列函数,函数中除ZIG之字转向函数类和BACKSET函数外,其余函数均满足时间不变性,即时间靠后的数据不对时间靠前的结果产生影响。

公式设定步骤

  1.设定公式名称:每个公式都有自己的名称,它由字母或数字组成,最多可以有9个字符。请注意,公式名称在同类公式中不能重复。

  2.描述公式:用于简单描述该公式的含义,若输入,则在公式列表中会显示这段文帧?br>
  3.注释公式:用于描述一个公式如何使用、计算方法等内容。输入后,在有关窗口按“用法注释”按钮可以查看公式注释。


4. 设计技术指标公式语句:

  公式的形式由若干语句组成。每个语句得到一个计算结果,对于技术指标,就是一条指标线,语句间用分号隔开。

  一个语句由若干函数通过四则运算或逻辑运算而组成。函数是公式系统的基本成分,它是对数据做某种操作,如CLOSE()函数表示调用该分析周期的收盘价。函数由函数名称和参数组成,参数用函数名后的括号括起来,每个函数调用的参数可以是变量或常量,变量是一个随着时间变化而变化的数据,例如收盘价;常量是一个不随时间变化而变的数据。例如函数REF(X,N)用于引用N周期前的X值,X是一个变量,N是一个常量,REF(close(),1)表示计算上一周期的收盘价。函数若需调用几个参数,则它们在括号内是有顺序的。若没有参数则可以省去括号,例如CLOSE()函数没有参数,所以写成 CLOSE和 CLOSE()都可以。函数计算得到的结果是一个变量。

  计算符将函数连接成为语句。计算符分为算术计算符和逻辑计算符。算术计算符有+、-、*、/,分别是对计算符两边的数值进行加减乘除计算;逻辑计算符有>、<、<>、>=、<=、=、AND、OR,分别是对计算符两边的数值做大于、小于、不等于、大于等于、小于等于、等于、逻辑与、逻辑或的逻辑运算,如果逻辑条件成立返回的计算结果为1,否则为0。例如:2>1的逻辑运算结果等于1,1>2的逻辑运算结果就等于0。

  语句得到的计算结果连成线就是所谓的指标线,不同的语句就得到不同的线,为了在指标图形中互相区分,不同的线有不同的颜色,而且语句还可以有自己的名称,在指标图形中显示在左上角位置。语句名写在语句的前面,用一个冒号将它与语句隔开。语句“上日收盘价:REF(close,1)”就表示该语句REF(close,1)的名称为“上日收盘价”。该语句后而的语句若需引用它,则写公式名即可,如MA(上日收盘价,20)意思是对上日收盘价求20日平均。

5、设计中间语句:

  一个语句将显示一条指标线,一个复杂的公式往往有很多语句,而且有些语句没必要显示出来。这时我们可以把不需要显示语句定义为中间语句,中间语句的写法只需在一般语句的名称与语句之间的冒号后加个等号,即“:=”即可。例如,语句“上日收盘价:=REF(close,1)”就表示该语句为中间语句。重复使用的语句也可以定义成中间语句。


6、设计其他公式语句:

  其他类型的公式显示的不是指标线,而是相应的操作,如条件选股公式显示的是选股结果,交易系统公式显示的是交易指示,五彩K线公式显示的是K线颜色。这些公式需要有一条或几条逻辑表达式表示这些操作的语句,当语句返回0时表示不需要进行相应的操作,当返回非0时表示需要进行相应的操作。其他的语句都应设定为中间语句。

  条件选股公式只有一条逻辑表达式语句,用来表示选股条件是否成立,例如CLOSE>REF(close,1)语句,表示选出当期收盘价高于上日收盘价的股票。其他的语句必须设定为中间语句,否则编辑器出现“只能有一个输出结果”的警示。

  交易系统公式需要1-4条逻辑表达式语句,分别为多头和空头的切入切出条件语句,分别用ENTERLONG, EXITLONG, ENTERSHORT, EXITSHORT表示多头买入、多头卖出、空头切入、空头切出条件,当这些语句返回非0时,表示需要进行相应的操作。其他的语句必须设定为中间语句,否则编辑器出现“非交易信号变量只能用:=赋值”的警示。这四个条件中必须至少设定一个条件。

  五彩K线公式可以有1-6条逻辑表达式语句,最多描述6种不同的颜色。

7、设计计算参数:
  我们有时需要调节公式中的常数来看公式的表现,可以直接进入公式修改,更方便的方法是用计算参数来指代公式中的常数,需要调节公式时不需进公式只需调节参数就可以了。比如,经常要修改REF(close,1)中的第二个参数1,这时可以把它设为一个计算参数N,公式写成REF(close,N),到时调节N即可。计算参数包括参数名称、最小值、最大值、缺省值四个部分。参数名称用于标识参数,本例我们将参数名定位N,计算公式时采用缺省值计算,而最小值和最大值是参数的调整范围。设定参数后,在图形分析窗口显示该指标时,指标名跟着有参数,右键点击参数即可对它进行修改。对于交易系统公式,每个参数还包括一个测试步长,在优化参数时系统从最小值到最大值逐一调整参数,每次调整的增量就是测试步长。例如最小值1,最大值30,步长10,则系统将测试参数1,11,21。最大测试步数为10000次。每个公式可以带有最多16个计算参数。

8、其他语句:

  有时我们想指定技术指标线的画法,这时我们可以在语句后加上线形描述符,描述该语句对应的指标线画法。线形描述符包括STICK:柱状线;COLORSTICK:彩色柱状线,当语句结果为正时显示红色,否则显示绿色;VOLSTICK:成交量柱状线,股价上涨时显示红色空心柱,下跌时显示绿色实心柱;LINESTICK:同时画出柱状线和指标线;CROSSDOT:小叉线;CIRCLEDOT:小圆圈线;POINTDOT:小圆点线。

  五彩K线公式有用来描述显示K线颜色的语句,其实就是在语句后加上色彩描述符,之间用逗号隔开,表示当该句返回非0时K线的颜色。色彩描述符有:COLORRED:红色;COLORGREEN:绿色;COLORBLUE:蓝色;COLORBLACK:黑色:COLORWHITE:白色;COLORYELLOW:黄色:COLORYELLOW:青色;COLORF0F000:晶红色;COLORBROWN:棕色。

  技术指标公式还可以主动设定欲显示的坐标线,例如我们在坐标线位置输入框中写入-10;O;10,则显示该指标时出现-10,0,10三条坐标线。
baidu

  
特殊数据引用
(1)、指标数据引用
   在编制公式过程中,有时需要使用另外一个指标的值,如果按照通常的做法,重新编制这个指标就显得很麻烦,因此很有必要学习使用如何调用别的指标公式。
   调用其他指标的基本格式:”指标.指标线”(参数)
A、指标与指标线之间用点“.”分开,一个指标不一定只有一条指标线,所以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指标线。
B、参数在表达式的末尾,必须用括号括起来,参数之间用“,”号分开,通过参数设置可选择设定该指标的参数,如果参数缺失则表示使用该指标的默认参数设置(不过我在使用过程中发现,如不写参数,测试就通不过)。
C、整个表达式用引号引在其中,除参数以外。
例如:”MACD.DEF”(26,12,9)表示计算MACD指标的DEA指标线,计算参数为26、12、9,”MACD”(26,12,9)表示该指标的最后一条指标线,计算参数是26、12、9,”MACD”表示该指标的最后一条指标线,并且使用公式的默认参数。
(2)、其他股票数据引用
   使用以下的格式可以在当前的分析界面下引用大盘的数据或者其他个股的数据实现横向上的对比。
A、引用大盘数据
引用大盘数据时使用下列函数:INDEXC、INDEXV等等。
B、引用个股数据
引用个股数据时使用下列格式:”股票代码$数据”,在以上格式当中调用CLOSE、VOL、AMOUNT等等,例如,”Z000002$VOL”表示000002该股本周期的成交量。同时大盘也可视为一只个股来引用,例如,上证”H000001$CLOSE”表示为大盘本周期的收盘价,深市”Z399001$CLOSE”同样表法大盘本周期的收盘价。
(3)、注意事项
   在编公式中所运用的标点符号均是在英语状态下的符号。
   在编制公式中,有要显示的句子和不显示的句子,要显示用“:”不要显示用“:=”,
一个源码中最多只能有16个可显示的句子,并且每句结束后要加分号“;”。
   另外,开盘价、收盘价、最高价、最低价,在公式中可用该函数的第一个字母代替。因此在编公式时不要单独用这几个字母,请要注意。

9、引用其他公式、周期或股票的数据: (注意:本点只作为参考,因大智慧未设有引用其它周期的数据功能)

  可以在一个公式中引用其他公式、周期或股票的数据,具体做法如下。

1)引用指标公式/交易系统/条件选股公式
  可以引用其他技术指标的指标线,写法是"公式名称.指标线名称"(参数表),请注意,参数表中的参数个数应该与该公式的实际参数数量一致,若不写参数表,则表示使用缺省参数。例如:"KDJ.K(9,6,6)",表示引用根据(9,6,6)参数计算出KDJ指标中的K指标线数值。

  可以引用交易系统公式,写法为"SYSTEM.公式名称.交易类型"(参数表),交易类型包括ENTERLONG、EXITLONG、ENTERSHORT、EXITSHORT,分别表示引用多头买入、多头卖出、空头买入、空头卖出条件。例如:"SYSTEM.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,MONTH,分别表示1、5、15、30、60分钟线,以及日线、周线、月线。


3)引用任意股票的数据
  可以引用其它股票的数据,写法为:"股票代码$数据名称",其中数据名称包括OPEN、HIGH、LOW、CLOSE、VOL、AMOUNT,分别表示开盘价、最高价、最低价、收盘价、成交量、成交额。

公式编制

 这里举一些最简单的公式例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。
收盘价线
  这是最简单的公式:
    CLOSE
均线的画法
  计算N日内收盘价的算术平均值,它是最常用的指标之一,公式为:MA(X,N)表示X的N日平均。
   例如:
        MA1:    MA (CLOSE,5)  ,  coloryellow ;
  表示为:  参数名  画一条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最高值。因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0。

横盘整理
  横盘整理指最近一段时期价格在一定幅度之内摆动:
    (HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE<0.05
  其中的LLV(X,N)是求N周期内X最低值。因此该公式表示10日收盘价振幅振幅在5%以内。


区间统计
  例如,要取得2002年2月1日到2002年12月30日间的最低价。思考一下,一段时间的最低价必然是该段时间内每个分析周期的最低价中最小的那个。所以我们要引用的数据是该段时间各分析周期的最低价,而不需要用到开盘价、收盘价或最高价;还要将不需要的数据,即区间外的数据设为0。语句为:
    LL:=IF(YEAR=2002 AND MONTH>=2 AND MONTH<=12,LOW,0)
  该语句用一个条件函数来判断时间是否处于规定区间,若是则返回最低价,否则返回0。
  我们再用LLV函数,就可求得该段时间最低的最低价:
    LLV(LL,0)

技术指标公式

技术指标公式用于绘制技术指标线。以KDJ指标为例,右键点击KDJ,选择“编辑公式”后打开公式算法编辑器,显示出KDJ指标公式的内容。

  参数名称:最小值,最大值,缺省值
   N:      1    10O     9
  M1:     2     40     3
  M2:     2     40     3

    RSV:=(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内最高价与最低价之差的比值,再乘以系数100。K线为RSV的M1天移动平均线,D线为线K的M2天移动平均线,J线为K线与J线的差值。

(以下是引用‘wjwjc’版主对计算‘5日均线上升角度’的实例讲解

aa:=ma(c,5);{这是5日均线}
bb:=ref(ma(c,5),1);{这是昨日5日均线}
ccaa-bb)/bb>n/100;{这是5日均线增长比率,比率越大,其上长的斜率就越大}
n是参数,n%是5日均线的增长比率,因此n定5以上可能其的斜率就越大,你可试试。)

(对于时间限制的问题,我们就以‘庄家进出’公式来作分析了解。

Var1:=IF(YEAR>=2034 AND MONTH>=1,0,1);
{VAR1赋值:如果年份>=2034 AND 月份>=1,返回0,否则返回1}
{点评:这个语句在配合其它语句使用的情况下可起到时间限制作用}

VarC:=MA(SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE<REF(CLOSE,1),0-VOL,0)),0)/25000,2)*Var1;
{VARC赋值:如果收盘价>昨收,返回成交量(手),否则返回(如果收盘价<昨收,返回0-成交量(手),否则返回0)的历史累和/25000的2日简单移动平均*VAR1}
{点评:在这句用到了VAR1,当VAR1符合条件即:年份>=2034 和 月份>=1时,则VAR1=0,这样以后计算出来的结果全是0,这时该指标便毫无意义了,起到了时间限制的作用。}

分界线: EMA(VarC,26)*Var1, LINETHICK2, COLORf0f000;
{输出分界线: VARC的26日异同移动平均*VAR1, LINETHICK2, COLORF0F000}

庄家线1: EMA(VarC,1)*Var1, COLORRED;
{输出庄家线1: VARC的1日异同移动平均*VAR1, 画红色}

庄家线2: EMA(VarC,6)*Var1, COLORYELLOW;
{输出庄家线2: VARC的6日异同移动平均*VAR1, 画黄色}

庄家线3: EMA(VarC,12)*Var1, COLOR00ff00 ;
{输出庄家线3: VARC的12日异同移动平均*VAR1, COLOR00FF00 })

颜色代码
如:colorred{红}
colormagenta(COLORf00ff0){品红}  coloryellow{黄}  colorgray{灰} colorffff00{兰} colorblue{青}  colorwhite{白}  colorgreen{绿}  colorbrown{棕}
linethick{0--7指标线粗细} linethick{同时显示柱状线和指标线}
circledot{空心园点}  pointdot{小点}  pointdot,linethick2{实心方点}
crossdot{X点状线}  cmcledot{0点状线}  stick{显示} colorstick{显示}
linestick{显示} 希望各位指标爱好者自己动手进行配色修改,这样才会记得
牢,学得透,不断探索,不断前进。一花开放不是春,万紫千红春满园。
走势形态特征指标:为了满足大家选股的需要,这里主要介绍股票走势特征、形态特征指标的编制。
走势形态特征指标编制的基础。
(1)、放量、缩量(成交量函数为VOL)
A、放量
  a.今天成交量较昨天增加了1倍,表示如下:
   VOL/REF(VOL,1)>2
  b.今天成交量较10个交易日平均成交量放大了1倍,表示如下:
a:=ma(vol,10);
Vol/a>2
  或者直接用如下公式表示:
vol/ma(vol,10)>2;
  c.今日的5日均量较10个交易日平均成交量放大了1倍,表示如下:
   a:=ma(vol,10);
  b:=ma(vol,5);
  b/a>2;
  d.今日的成交量超过了整个流通盘的5%,表示如下:
   vol/capital>0.05;其中capital代表流通盘。
B、缩量
  a.今日成交量较昨日减少了一半,表示如下:
  vol/ref(vol,1)<0.5;
  b.今日成交量较10个交易日平均成交量减少一倍,表示如下:
   a:=ma(vol,10);
  vol/a<2;
  或者直接用如下公式表示:
   vol/ma(vol,10)<2;
  c.今日的5日均量较10个交易日平均成交量减少1倍,表示如下:
  a:=ma(vol,10);
  b:=ref(a,5);
  a/b<2;
  d.今日的成交量低于了整个流通盘的5%,表示如下:
  vol/capital<0.05;
(2)、上涨、下跌
上涨
今天的涨幅达到5%以上,表示如下:
close>ref(close,1)>1.05;
5日均价连续上涨,表示如下:
a:=ma(close,5);
b:=ref(a,1);
b;
下跌
今天的跌幅达到5%以上,表示如下:
close/ref(close,1)<0.95;
5日均价连续下跌,表示如下:
a:=ma(close,5);
b:=ref(a,1);
a<b;
(3)、K线的描述
阳线
close>open;
阴线
close<open;
高开
open>ref(close,1);
低开
open<ref(close,1);
跳空高开(high为最高价)
open>ref(high,1);
跳空低开(low为最低价)
open<ref(low,1);
走势特征选股公式的编制
(1)、n日内创新高
   hhv(high,n)=hhv(high,0) and barscount(c)>=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(close)>=n;
注n为指标参数,可在参数设定范围内设定参数范围。Llv(x,n),求n周期内x最低值,n=0则从第一个有效值开始;barscount(x)第一个有效数据到当前的天数,例如,barscount(close)以于日线数据取得上市以来总交易日数。
(3)、n日内阴线多于阳线
   count(open>close,n)/n<0.5;
注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5等 ,达到确定阴线占全部K线个数的比例)。
(4)、n日内阳线多于阴线
   count(open<close,n)/n>0.5;
注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5等 ,达到确定阳线占全部K线个数的比例)。

(5)、n日内上涨多于下跌(第二天开盘高于前一天收盘)
   count(c>ref(c,1),n)/n>0.5;

注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5等 ,达到确定其中比例)。
(6)、n日内上涨少于下跌(第二天开盘低于前一天收盘)
   count(c>ref(c,1),n)/n<0.5;
注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5等 ,达到确定其中比例)。
(7)、连续n日收阳线
   up:=close>open;
   count(up,n)=n;
注:count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。n为指标参数,可在参数设定范围内设定参数范围。
(8)、连续n日内收阴线
   up:=close<open;
   count(up,n)=n;
注:count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。N为指标参数,可在参数设定范围内设定参数范围。
(9)、连续n天上涨
   count(close>ref(close,1),n)=n;
注:count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。N为指标参数,可在参数设定范围内设定参数范围。
(10)、连续n天下跌
   count(c<ref(c,1),n)=n;
注:count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。N为指标参数,可在参数设定范围内设定参数范围。
(11)、首次创新高
   barssince(c>hhv(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则从第一个有效值开始。
(14)、单日放量
   a:=ref(ma(vol,5),1);
   vol/a>n and vol/capital*100>m;
注:n为指标参数,代表今日成交量和前一日的5日均量的比值,可在参数设定范围内设定参数范围。
(15)、阶段缩量
   sum(vol,n1)/capital<=n2;
注:n1为要统计的阶段时间,n2为缩量比例,可在参数设定范围内设定参数范围。
(16)、阶段放量
   sum(vol,n1)/capital>=n2;
注:n1为要统计的阶段时间,n2为y放量比例,可在参数设定范围内设定参数范围。
(17)、持续放量
   a:=vol>ref(vol,1);
   count(a,n)=n;
注:其中条件a的含义为成交量较上一交易日放大,n为要统计的阶段时间,可在参数设定范围内设定参数范围。
(18)、持续缩量
   a:=vol<ref(vol,1);
   count(a,n)=n;
注:其中条件a的含义为成交量较上一交易日缩小,n为要统计的阶段时间,可在参数设定范围内设定参数范围。
(19)、间隔放量
   a:=ma(vol,5);
   barscount(c)>=n and hhv(a,n)<n1*llv(a,n) and count(vol>n2*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(vol>ref(vol,1),n3 )=n3 and count(a,n3)=n3;
完整含义:每日股价涨幅均大于n%,n1日内累计换手率大于n2%,并且成交量连续在n3日内放大。
(21)、温和放量上攻
   股价小幅上扬
   a1:=close/ref(close,1);
   a2:=a1>1 and a1<1.03;
   成交量小幅上扬
   b1:=vol/ref(vol,1);
   b2:=b1>1 and b1<2;
   c1:=ma(vol,n)/capital<0.05;
   count(a2 and b2,n)/n>0.6 and c1;
   完整公式为:
   a1:=close/ref(close,1);
   a2:=a1>1 and a1<1.03;
   b1:=vol/ref(vol,1);
   b2:=b1>1 and b1<2;
   c1:=ma(vol,n)/capital<0.05;
   count(a2 and b2,n)/n>0.6 and c1;
注:公式分为股价小幅上扬和成交量小幅上扬两个部分,请在指标编写时注意其结构。
(22)、突然放量
   vol>ref(hhv(vol,n),1*m;
注:当前成交量高于n个周期中最大成交量的m倍。
(23)、平台整理
   count(close,0)>n and (hhv(close,n)-llv(close,n))/llv(close,n)<=(n1/100);
注:count(close,0)>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)<=(n1/100) and c>=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)<=(n1/100);
今日突破:c>=ref(hhv(h,n),1)。
(25)、阶段强势股
   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(if(date=n1,indexc,0)0);
   e:=sum(if(date=n,c,0),0);
   f:=sum(if(date=n1,c,0),0);
   ((f-e)/e)<((b-a)/a);
注:该公式求的是n日-n1日之间涨幅低于大盘的股票。n、n1参数的表达格式为yymmdd,注意在2000年前的表达为年份的后两位,例如1999年为99,从2000年开始以100依次向后累加,例如2001年9月14日为1010914,indexc函数表示同期大盘的收盘价,该函数对分笔成交分析周期无效。
(27)、大盘同步
   count((c>o and indexc>indexo) or (c<o and indexc<indexo),n)/n>m/100;
注:含义为n周期中与大盘走势相同(同收阴线或同收阳线)的例超过m%。此处的o不是数字的零,而是开盘价open的首写字母o。
(28)、n日内强势股
   a:=(c-ref(o,n))/ref(o,n);
   b:=(indexc-ref(indexo,n))/ref(indexo,n);
   a>b and a/b>=m;
注:n日内个股涨幅大于等于大盘涨幅的m倍。
形态特征选股公式的编制
(1)、均线多头排列
   a1:=ma(c,n1);
   a2:=ma(c,n2);
   a3:=ma(c,n3);
   a4:=ma(c,n4);
   count(a1>a2 and a2>a3 and a3>a4,3)=3 and isup;
注:n1、n2、n3、n4j日均线呈多头排列,isup也可以用close>open表示。
(2)、均线空头排列
   a1:=ma(c,n1);
   a2:=ma(c,n2);
   a3:=ma(c,n3);
   a4:=ma(c,n4);
   count(a1<a2 and a2<a3 and a3<a4,3)=3 and not(isup);
注:n1、n2、n3、n4j日均线呈空头排列,isup也可以用close<open表示。
(3)、早晨之星
   ref(close,2)/ref(open,2<0.95 and ref(open,1)<ref(close,2) and abs(ref(open,1)-ref(close,1)/ref(close,1)<0.03 and close/open>1.05 and close>ref(close,2);
注:早晨之星,这种形态和叫法自然是后市向好,为买进信号。早晨之星由三根K线组成,其顺序是:
   第一天在下跌过程中已形成一根阴线:
   ref(close,2)/ref(open,2<0.95
   第二天呈裂口下跌,K线实体较短,构成星的主体部分,阴线或阳线均可,有无上下影线均不重要。
   ref(open,1)<ref(close,2) and abs(ref(open,1)-ref(close,1)/ref(close,1)<0.03
   关键是第三根K线必须是阳线,且其长度至少要升至第一根阴线实体(如果能够“包容”第一根阴线则最好不过了)
   close/open>1.05 and close>ref(close,2)

Posted: 2005-11-19 10:44 | 2 楼  


(4)、强势整理
   a1:=abs(close-open)/open<0.015;
   a2:=count(a,m)=m;
   a3:=ref(o,m)<ref(c,m) and ref (c,m)/ref(c,m+1)>1+n/100;
   a2 and a3;
注:一根实体超过n的长阳,后面跟m个K线实体不超过1.5%的K线。
(5)、高开大阴线
   open>close and open/ref(c,1)>=1+m/100 and close/open<=1-n/100;
注:跳空高开m%,当日股价较开盘价跌幅大于n。股价经过一段持续攀升之后,某一日突然跳高开盘:
   open/ref(c,1)>=1+m/100
   后股价一路下行,尾市以接近最低点收市:
   close/open<=1-n/100
   此信号出现,往往意味着股价已形成短期头部,应注意回避风险。
(6)、低开大阳线
   open<close and open/ref(c,1)<=1-m/100 and close/open>=1+n/100;
注:跳空低开m%,当日股价较开盘价涨幅大于n,其他描述请参见(5)。
(7)、黄昏之星
   ref(close,2)/ref(open,2)>1.03 and ref(open,1)>ref(close,2) and abs(ref(open,1)-ref(close,1)/ref(close,1)<0.02 and close/open<0.97 and close<ref(close,2);
注:黄昏之星表示股价回落,是卖出信号,应伺机抛货。幕星同样由三根K线组成,其形态和晨星正好相反:
   第一天股价继续上升,拉出一根阳线:
   ref(close,2)/ref(open,2)>1.03
   第二天波动较小,形成一根小阳线或小阴线,构成星的主体部分:
   ref(open,1)>ref(close,2) and abs(ref(open,1)-ref(close,1)/ref(close,1)<0.02
   第三天形成一根包容第二天并延伸至第一天阳线实体:
   close/open<0.97 and close<ref(close,2)
(8)、跳空缺口
   high<ref(low,1) or low>ref(high,1);
注:从内容上看,分别是向下跳空缺口和向上跳空缺口。
(9)、均线金叉
   a;=ma(c,5);
   b:=ma(c,10);
   cross(a,b);
注:前二句是5、10日均线,cross是交叉函数,cross(a,b)表示5日均线与10日均线金叉。
(10)、均线死叉
   a;=ma(c,5);
   b:=ma(c,10);
   cross(b,a);
注:前二句是5、10日均线,cross是交叉函数,cross(b,a)表示5日均线与10日均线死叉。
(11)、均线粘合
   ma1:=ma(c,5);
   ma2:=ma(c,10),
   ma3:=ma(c,20);
   p1:=abs(ma1-ma2)+abs(ma2-ma3);
   p1/c<m/100 and ma1>ref(ma1,1) and ma2>ref(ma2,1);
注:前三句是三根均线,p1是第一根均线减第二根均线差的绝对值与第二根均线减第三根均线差的绝对值之和,最后一句是p1与收盘价的比值小于一定比率m%(一般该比率为2%以下,同时前二均线今日比昨日上翘。

五彩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<REF(CLOSE,1)     开盘价小于上一交易日收盘价。
HIGH>REF(HIGH,1)     最高价高于上一交易日最高价。
LOW<REF(LOW,1)      最低价小于上一交易日最低价。
CLOSE>OPEN        收阳线
    (CLOSE-OPEN)>(EMA((HIGH-LOW),N))
                  为了避免小阴小阳的“阳包阴”,我们设定幅
                    度超过市场N个交易日内平均涨幅。
     COLORRED         五彩K线颜色为红色。
    那么,整体的公式为:
     BACKSET(我们假定的条件,2),COLORRED;
   即:
    BACKSET (REF(OPEN,1)>REF(CLOSE,1) AND CLOSE>REF(OPEN,1) AND OPEN<REF(CLOSE,1) AND HIGH>REF(HIGH,1) AND LOW<REF(LOW,1) AND CLOSE>OPEN AND (CLOSE-OPEN)>(EMA((HIGH-LOW),N)),2),COLORRED;
 (2)、三只乌鸦五彩K线的编制方法
    在股价顶部,庄家已获利丰厚,准备出逃时会连续拉出二根、三根或三根以上的小阴线,且每日的K线均低于上一日的收盘价。这促顶部特征不一定要伴随着大的成交量,因此具有较大的欺骗性。
    原理:
1、 连续三支阴线;
2、 每日收盘价均向下跌;
3、 收盘价接近每日的最低价位;
4、 每日的开盘价都下跌。
    五彩K 线的编辑:
      REF(CLOSE,2)<REF(OPEN,2)  前二个交易日收阴线。
      REF(CLOSE,1)<REF(OPEN,1)  前一个交易日收阴线。
      CLOSE<OPEN        最后交易日收阴线。
      REF(CLOSE,1)<REF(CLOSE,2) AND CLOSE<REF(CLOSE,1)
                  每日收盘价都向下跌。
      REF(OPEN,1)<REF(OPEN,2) AND OPEN<REF(OPEN,1)
                  每日开盘价都向下跌。
      REF(C,3)/REF(O,3)>=1.02    第一根阴线跌幅超过2%。
      COLORRED         五彩K线颜色为红色。
    那么,整体的公式为:
      BACKSET(我们假定的条件,3),COLORED
   即:BACKSET(REF(CLOSE,2)<REF(OPEN,2) AND REF(CLOSE,1)<REF(OPEN,1) AND CLOSE<OPEN AND REF(CLOSE,1)<REF(CLOSE,2) AND CLOSE<REF(CLOSE,1) AND REF(OPEN,1)<REF(OPEN,2) AND OPEN<REF(OPEN,1) AND REF(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,2) AND REF(CLOSE,1)>REF(OPEN,1) AND CLOSE>OPEN AND (CLOSE-OPEN)>=REF((CLOSE-OPEN),1) AND REF((CLOSE-OPEN),1)>=REF((CLOSE-OPEN),2) AND OPEN>REF(OPEN,1) AND 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;
  注意:一个完整的交易系统必须有进出两个条件组成,也就是说是ENTERLONG、EXITLONG或者ENTERSHORT、EXITSHORT(空头买入、卖出函数)中其中一组组成。

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日均线设定成参数:SHORT和LONG,并将其默认为5、20。参数自述中加上“短期(Parsm#1)均线上穿长期(Param#2)均线买入,长期均线上穿短期均线卖出。”
    那么在使用该交易系统时,用鼠标右健点击发出的买卖提示点,选择“调整指标参数”,就可以很方便的修改里面的2条均线参数。
 (2)、KDJ交易系统
    我们知道如果在D 小于20的区域发生了K线上穿过D线是很好的买入条件;相反,D>80并且好生了D线下穿过了K线,则是很好的卖出条件。如何编辑呢?
    第一步:在公式编写栏中分别设定公式的名称、分析周期、参数的各项内容,并编写KD的表达式,并且将K、D表达为两个中间表达式。中间表达式用符号“:=”
    RSB:=(CLOSE-LLV(LOW,N))/(HHV(HIGN,N)-LLV(LOW,N)0*100;
   K:=SMA(RSV,M1,1);
   D:=SMA(K,M2,1);
   第二步:完成交易系统的结构
    ENTERLONG:CROSS(K,D) AND K<20;
   EXITLONG:CROSS(D,K) AND K>80;
   完整表达式:
    RSB:=(CLOSE-LLV(LOW,N))/(HHV(HIGN,N)-LLV(LOW,N)0*100;
   K:=SMA(RSV,M1,1);
   D:=SMA(K,M2,1);
    ENTERLONG:CROSS(K,D) AND K<20;
   EXITLONG:CROSS(D,K) AND K>80;
    但是,假设在一个KD强势的市场中,如果股价从下方穿过了30日均线,并且当天的成交量有比较明显的放大,我会买入;我的卖出条件是股价跌下10日均线之下立即抛出。这个交易系统怎么编辑呢?
  买入条件:
    KDJ强势:
    AA:=”KDJ,D”(9,3,3);(因为KDJ指标中3个参数默认值分别为9、3、3,故我们应在指标中增加默认值)。
    A1:=AA>40;
   成交量明显放大,量化为大于5日均量的一倍。
    A2:=VOL/MA(VOL,5)>2;
   股价从下方上穿过了30日均线。
    A3:=CROSS(CLOSE,MA(CLOSE,30));
   完整的买入条件为
    ENTERLONG:A1 AND A2 AND A3;
卖出条件:
  股价从上方下穿过了5日均线
  A4:=CROSS(MA(CLOSE,5),CLOSE);
  EXITLONG:A4 AND COUNT(A1 AND A2 AND A3,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:A1 AND A2 AND A3;
    EXITLONG:A4 AND COUNT(A1 AND A2 AND A3,20)=1;

Posted: 2005-11-19 10:45 | 3 楼  

  

公式编写实例
编写实例
3.1 指标公式:均线通道
新建公式“均线通道”(JXTD)
1.使用快捷键Ctrl+F打开“公式**器”。


2.点击“新建”按钮,打开“公式编辑器”


3.填写公式项
“公式名称”---JXTD,
“公式描述”---“均线通道”
参数 (最小值)(最大值)(缺省值)
#N: 1 100 26
--------------------------------------------------
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,缺省值(默认)为26;
8.坐标线位置:在非“主图叠加”中,此编辑框处可写状态;输出线为副图中深红色横线显示,是副图坐标线;
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: 1 100 26
--------------------------------------------------
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: 1 100 26
--------------------------------------------------
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,DIF) AND DIF<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”:RR、GG、BB表示红色、绿色和蓝色的分量,每种颜色的取值范围是00-FF,采用了16进制。
例如:MA5:MA(CLOSE,5),COLOR00FFFF表示纯红色与纯绿色的混合色: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(&#39;自选股&#39;,103,0,1);以自选股板块股票的总股本为权重,以收盘价为数源进行累加。

公式名称:zdkx
公式描述:自定指数K线
参数:(最小值)(最大值)(缺省值)
#n: 1 100 10
---------------
高:=HORCALC(&#39;湖北板块&#39;,100,0,1);
开:=HORCALC(&#39;湖北板块&#39;,101,0,1);
低:=HORCALC(&#39;湖北板块&#39;,102,0,1);
收:=HORCALC(&#39;湖北板块&#39;,103,0,1);
自定K线: DRAWKLINE(高,开,低,收);
MA(自定K线,N);
---------------


公式说明:
1.用于制作自定义指数、自设板块指数K线。
2.先制作自定义板块,“Ctrl+z”,填写好板块名称和简称(数字);
3.“板块名称”须用单引号,如&#39;自选股&#39;、&#39;庄股&#39;;
4.起始位为1000点(下载到本地数据);
5.板块内不要含有太多的股票数量,以免影响速度;

3.7 新增函数应用(blocksetnum)
函数: BLOCKSETNUM(板块名称)
说明: 统计板块中股票数量
用法: BLOCKSETNUM(板块名称)
注意:板块名称要用单引号
例如: BLOCKSETNUM(&#39;ST板块&#39;),返回“ST板块”数量。

公式名称:STPM
公式描述:个股在st板块内排名
--------------
板块股数量:BLOCKSETNUM(&#39;ST板块&#39;),NODRAW;
ST涨幅排名:HORCALC(&#39;ST板块&#39;,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,n))
13)均线多头排列
a1:=ma(c,n1);
a2:=ma(c,n2);
a3:=ma(c,n3);
a4:=ma(c,n4);
count(a1>a2 and a2>a3 and a3>a4,3);
14) 均线空头排列
a1:=ma(c,n1);
a2:=ma(c,n2);
a3:=ma(c,n3);
a4:=ma(c,n4);
count(a1<a2 and a2<a3 and a3<a4,3);
15)N日均线向下
aa:=ma(c,n);
bb:=ref(aa,2);
aa<bb
16)向前N日至M日出现过均线死叉(P1<2)
aa:=ma(c,p1);
bb:=ma(c,p2);
cc:=ref(cross(bb,aa),n);
count(cc,m);
17)今日成交量大于N日以来的均量 VOL>MA(VOL,N);
18)低位密集
A1:=COST(85);
A2:=COST(15);
A3:=A1-A2;
A4:=(A1+A2)/2;
A5:=A3/A4*100<10;
B1:=HHV(H,120);
B2:=LLV(L,120);
B3:=B1-B2;
B4:=(A4-B2)<B3/2;
A5 AND B4;
19)换手率 VOL/CAPITAL*100;
20)N日盈亏
V1:=VOL/SUM(VOL,N);
V2:=DMA(CLOSE,V1);
V3: (CLOSE-V2)/V2*100;

Posted: 2005-11-19 10:45 | 4 楼  


大智慧公式编写教程


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

编写公式都要用到什么东西?
我们留下了许多问题--都是公式编写的基础问题,所以我们这节课来解决这些基础的问题。
什么是技术指标?
MA均线就是一种技术指标,我们在炒股的时候,经常会将一些行情数据进行数学计算得出一些曲线等等,方便我们掌握股市的变动情况。
什么是条件选股?
简单讲,就是按照您的设定的条件用电脑帮助您完成一些太多太复杂的挑选--比如您有一些好的心得和方法,可使有1000多只股票,您就是有100双眼睛有时也不一定可以看得过来,这时电脑就派上用场了!
什么是参数?
比如讲:10日均线,您可以把10日当作参数,好处在于,您觉得需要修改成5日的时候,就可以使用一些简单的方法,例如参数精灵来很方便的修改和调整。参数需要名字,例如M就不错。还要规定参数的范围,例如1日至260日。这样我们就可以在1到260之间任意调节M的值了,M最常用的数填在“缺省”一栏,例如你最喜欢用10日均线,那就填10吧。
什么是周期?
这么解释吧!我们有的投资者喜欢使用日线图作技术分析;有的喜欢用5分钟的K线;有的喜欢使用长一点时间的,例如周线。所以在公式设计中,允许不同喜好的使用者选择不同的分析时间--就是可以选择不同的周期。
什么是函数?
函数在公式编写非常重要,如果作个比喻,我们用一种语言去告诉电脑我的想法,并且让它去帮我做,那么函数就是这种语言的单词。
我们在公式编辑器中选择插入函数,就可以看到里面有许多的函数,我们在附录中有一个简表,大家可以到那里去检索!
例一:
一根K线有四个价格组成:
最高价:HIGH
收盘价:CLOSE
最低价:LOW
开盘价:OPEN
成交量:VOL
成交额:AMO
例二:
两条均线不断地交叉,就专门设定了一条函数来描述两条线交叉:CROSS(X,Y)
假如下图中的两条均线一条名叫X,另外一条叫Y
CROSS(X,Y)表示X向上穿过了Y
CROSS(Y,X)表示Y向上穿过了X
例三:
前面的CLOSE,还是VOL,都表示当天,或者您使用的不是日线,那就表示本周期的数据,那么前几天的怎么表示呢?
REF(X,M)
例如:
REF(Close,5)表示5天前的收盘;
REF(Vol,10)表示10天前的成交量;
这里的M就是参数,您现在明白了什么是参数了吗?
例四:
如果我想把两个条件并列在一起怎么办?
AND
X AND Y就表示条件X和条件Y
好了!本课结束吧--有点稍慢,下面会好一些!
编写一条最简单的指标线
通过前几课的学习,我们今天开始使用软件的公式编辑功能编写我们自己的第一条指标线。
其实不难,你应该对自己有信心!
按照主菜单-工具-公式**-选择-“技术指标”-点击“新建”,然后在公式编辑器中留下你的第一行脚印吧!
点击:“确认”,现在看一下我们第一条指标线。
这条指标线与你的想法相符吗?
总结与补充:
1、如果选择:“主图叠加”,我们的指标线会与K线图显示在同一个图形框中,现在我们的指标线显示在其下方,即“副图”中;
2、参数可以有,也可以没有,但是鼓励大家设置参数,这是非常好的习惯;
3、一个句子完了,别忘了以分号结尾;
你的公式写得对不对,可以通过“测试公式”来检查,如果错了,它会告诉你错在哪里。

编写最常用的均量和均价线
均价线,不就是那个“移动平均线MA”什么的吗?不过,话说回来,听说10个人里面有11个人都在使用,我可得学习学习!
原理是??
5日平均线=(今天收盘价+昨天收盘价+.....--5天前的收盘价)/5;
10日平均线=(今天收盘价+昨天收盘价+......+10天前的收盘价)/10;
150日平均线=(今天收盘价+昨天收盘价+......+150天前的收盘价)/150;
200日平均线......不是这么麻烦吧?难道我每天都要写这么多得数才得到一条平均线????
你有什么办法?
MA1=MA(CLOSE,5);
MA2=MA(CLOSE,10);
MA3=MA(CLOSE,50);
......
当然是有简单的方法了!你把我在上面说过的话写下来,按照前面几课讲的,写在公式的编辑栏当中就可以了!
注意:
“MA”表示的就是计算平均值。
在括号内写上计算的对象和计算的时间长度。
MA1,MA2,MA3......是好几条指标线,别忘记了用分号把它们分开。
最后呢?电脑自己会把它们一起画出来。
均量线???
均价线都有了,照着葫芦画瓢,把收盘价CLOSE换成成交量VOL就行了!
MA1:MA(VOL,5);
MA2:MA(VOL,10);
MA3:MA(VOL,150);
MA4:MA(VOL,200);
今天有几只发生MA金叉?
我们学习了编写MA移动平均线,关于这几条指标线如何使用?我想大家可能都比我清楚。例如短期均线和长期均线发生了金叉或者死叉,......等等,葛兰维尔的八项法则......如果说如何用分析家软件编写一个条件,让电脑把今天两个市场的股票中所有发生了黄金交叉的股票选出来呢?
想知道吗?这就是“条件选股”,按照“条件”电脑自动“选择股票”出来,可以供您分析,要不然的话,技术分析的投资者都会累死了!
跟我学!
第一步:“工具”栏中选中“公式**器”
第二步:我们现在选择“新建”一个“条件选股”公式,结果出现了下面的编辑栏!然后在里面写上您的条件!
第三步:按照说明书上的步骤选股就行了!
注意:
1、在条件选股中点击“新建”;
2、原来MA5:MA(CLOSE,5);
表示的是一条指标线,可是现在我们在条件选股当中只要引用它,不需要把它画出来。所以我们在冒号的后面加一个符号,表示等会要引用它:MA5:=MA(CLOSE,5);
这个在分析家的公式编辑中,叫做“中间表达式”。
X=1;
Y=X+1;
Y=?
我们学过上面的数学,都知道把X=1代入到Y的计算中去,“X=1;”就是一个中间表达式,您明白了吗?

条件选股总结:
1、指标和条件选股在结构上没有差别,只是在内容上,条件选股要多加上我们的条件,比如大于10,或者交叉等等!
2、中间表达式可以帮助我们清晰的表达我们的公式,不至于使公式的结构特别的混乱!

如何编写BIAS指标?
如果大家都是均线的忠实爱好者的话,那么大家一定牢牢记得在均线大师哥南威尔的8***则当中的第四条和第五条中曾经提到了当股价偏离均线太远的时候,便会向它靠拢,但是并不提到多远才会靠拢--为了解决这个问题,也为了我们更好地用客观数据来体现股价运动的过程,乖离率这个指标应运而生。
本课我们的任务就是通过对乖离率的原理到编写方法的学习来加强我们对公式设计的理解。
首先,什么是乖离率?
以当日的均线价格为准,股价和均价之间的差距称为乖离程度,以乖离程度除以均价的百分比就是乖离率。
当日股价与10日均线的乖离率=(当日股价-10日均价)/10日均价*100;
当日股价与20日均线的乖离率=(当日股价-20日均价)/20日均价*100;
当日股价与30日均线的乖离率=(当日股价-30日均价)/30日均价*100;
原理就是这么简单,可是怎么使用呢?您别急,所用的指标其实都是在观察当中得出一定的启示,您先实现这几条指标线,让它们以图形的方式出现在您的面前,然后您再去观察,一定会事半功倍!
比如编写10日乖离率
第一步:乖离率的命名,崇尚人家的习惯,依旧使用BIAS,那么第一条就叫做BIAS1好了!
第二步:当日股价用CLOSE表示;
10均价我们在前一节课刚刚学过,顺手拈来,用MA(CLOSE,10)表示;
第三步:一样使用加减乘除符号以及括号,只是要注意只有小括号,没有中大括号,那么公式就有了--
BIAS1:(CLOSE-MA(CLOSE,10))/MA(CLOSE,10)*100;
这样的话我们在技术指标编辑器中将另外两条指标也同样写下来,就得到了BIAS指标,请看下图:
第四步:就是您得自己好好观察您的指标公式在各个股票的表现,得出您自己的结论,因为每一个投资者即使是在使用同样一个指标的时候,都会有不同的理解,我们无法判断优劣,但是有一条可以告诉我们答案,那就是永远让市场说话,因为它永远是对的!
如果您不介意的话,可以参考BIAS,不过仅供参考!
您明白怎么编写了吗?

我能不能直接用写好的指标公式?
我想用KD指标选股,能不能直接写成“D>20”就可以执行了?
当然可以!考虑到了这种偷懒的做法,所以我们一共提供了两种供偷懒的人士使用,其中一种与上面的要求只是在写法上稍有不同!
第一个方法:
第一步:在条件选股的编辑器中点击“引入指标公式”。
引入“其他公式”。然后,我们从中选择一个,例如“KD”,让我们来看一下结果如何?
第二步:上一步的操作结果请看右边的图形,系统自动的把KD指标的整个编写内容搬来了!
现在需要我们做的就是:续上一行条件“D<20”,OK!完成!
有没有简单的方法?
第二个方法:就一句话:“KDJ,D”<20;
“KDJ,D”
表示现在我要是用KDJ指标当中的D指标,不过大家要看清楚是怎么写的哦!写错了计算机可是不会改错的!
总结:
用上面的方法可以引用所有指标,所以不必写那么多!
注意格式上,两边用引号括起来,指标名称KDJ和指标线名称D之间用“,”隔开!

额外加餐
现在我们可以很方便的做另外一件事了,我们可以将通常说的KDJ买入条件完整的表达出来了:
“KD指标发生了黄金交叉,并且D<20”
T1:=“KDJ,K”;--引用K线;
T2:=“KDJ,D”;--引用D线;
条件: AND在分析家中就表示“并且”,将两个条件并列起来
CROSS(T1,T2)ANDT2<20;

第九课 放量、缩量、上涨、下跌、收阳、收阴
在前面的学习当中,我们见到了一些基本的表达方法、方式,今天我们的任务是学习一些常见的概念如何编写,例如上面所列出来的放量、上涨等等,因为这些都是在公式编写过程当中要用到的基本的小的形态特征,许多的技术指标的选股条件都是由它们组成的。
放量:
1、今日比昨日的成交量放大了1倍:
VOL/REF(VOL,1)>2;
2、今日的五日均量比前五天的五日均量放大了3倍:
AA:=MA(VOL,5);
BB:=REF(AA,5);
AA/BB>4;
3、今天的成交量达到了整个流通盘的10%以上:
VOL/CAPITAL>10/100;
(注意,10%的表达式是10/100,或者0.1)
缩量:
1、今日比昨日的成交量缩小了1倍:
VOL/REF(VOL,1)<0.5;
2、今日的五日均量比前五天的五日均量缩小了一半:
AA:=MA(VOL,1)<0.5;
BB:=REF(AA,5);
AA/BB<0.5;
3、今天的成交量不足整个流通盘的0.5%:
VOL/CAPITAL<0.5/100;
上涨:
1、今日涨幅达到了7%以上:
CLOSE/REF(CLOSE,1)>1.07;
2、十日均价继续上涨:
AA:=MA(CLOSE,10);
BB:=REE(AA,1);
AA>BB;
下跌:
同上面的表达方式一样,将方向改变了而已:
收阳、收阴:
1、当天收阳:CLOSE>OPEN;
2、当天收阴:CLOSE<OPEN;
高开、低开:
1、当天股价高开,言下之意开盘高于昨日收盘:OPEN>REF(CLOSE,1);
2、当天股价低开:OPEN<REF(CLOSE,1);

Posted: 2005-11-19 10:45 | 5 楼  


跳空:
跳空亦有向上和向下两种:
当日开盘在昨日最高之上,即为向上跳空:OPEN>REF(HIGH,1);
反之,开盘小于昨日的最高价,为向下跳空:POEN<REF(LOW,1);
事实上,我们在编公式的过程,就是将这些条件有机地结合起来作为我们判断的条件。举一个很简单的例子,如果是K线形态呈现出放量上攻的态势,那么如何编写这个公式呢?高开高走又应该如何编写呢?
我们把放量和上涨的两个条件组合在一起,让某一天的形态特征同时满足两个条件就达到目的;同样地将高开的高走两个条件结合在一起,也就找到了我们所需的条件。
结果就是:
放量上攻之一,以上面所举例组合:
AA:=VOL/REF(VOL,1)>2;
BB:=CLOSE/REF(CLOSE,1)>1.07;
AA AND BB;
高开高走:
AA:=OPEN>REF(CLOSE,1);
BB:=CLOSE>OPEN;
AA AND BB;
OK!本课到此结束,留下一个问题,看看您有没有真正的理解,向上跳空之后两天内并未回补如何编写呢?
提示:实际上就是昨天发生了跳空缺口,这两天的最低价一直在两天前的最高价之上。
AA:=REF(OPEN,1)>REF(HIGH,2);
BB:=REF(LOW,1)>REF(HIGH,2);
CC:=LOW>REF(HIGH,2);
AA AND BB AND CC;
仔细一想,若BB成立,AA一定成立,AA实际上没有存在的必要,你想通了吗?
更简单的方法,下面的一句话可以的上面的四句:
COUNT(LOW>REF(HIGH,2),2)=2;


第十课 涨停板攻击?
学了这么多了,应该教点实战的内容了!我们来学习一下别人的经验,“涨停板追击”,同时这里面还润孕育着一个简单但是又颇有意义的道理!
一、量化的概念
我们都知道,按规定涨幅不得超过10%,但是由于四舍五入的关系,常常有9.98%、10.23%等等的涨停板,所以我们要找一个合适的数值,然后用分析家的语言告诉计算机,这个过程学名叫量化!
比如我们考察之后,决定让大于9.99%的都为涨停。
二、编写公式
其实就一句话:今日收盘除以昨日收盘的值大于1.0999
X:=CLOSE/REF(CLOSE,1)>1.0999;
三、测试我们的条件
大家都知测试的功能,要不然你怎么知道你的经验在历史上的表现是好还是不好呢?
按照下图指引进入条件选股的界面,之后选中您的条件,具体办法请参见(使用说明书)。然后填入测试时间和测试标准!
在这里我们的测试方法是:
测试时间是从2000/01/01到2001/03/02,测试股票共计583只,初始投入100,000元。
当满足买入公式中定义的条件时,也就是涨停板时,按照收盘价使用相同资金买入一只股票,当满足以下平仓条件时按照收盘价平仓;买入5日后强制平仓或者亏损达到3%止损平仓或者利润达到5%止赢平仓,然后按照以上的规则统计在测试的时间段内的所有交易的状况。
这是一种追涨的短线方法,所以测试的时间我们只用5天,目标利润为5%,(非常抱歉,因为其中的设置和选择方法十分灵活而且需要较好的理解能力,所以我们在这里就不介绍具体的内容了)
点击开始测试!一切OK!来看结果吧!
1、从成功率上看,实际达到5%的获利要求的交易次数67.89%,我们已经比较满意这个结果了,可是要用于实战,可不可以再提高呢?
2、所谓的提高就是优化的一个内容,简单说,优化就是让它更好!优化我们的条件,让它的表现更好!
3、加上一个缩量的条件,比如当日成交量小于5日的均量;Y:=VOL<MA(VOL,5);大家可以做一下测试,看看结果如何!以下是同样测试条件下的结果。 X AND Y;
您满意吗?我们的成功率已达到了80%,剩下的任务就是您如何操作的问题了!
注:请大家考虑一下在实战当中,如果您按此买入可不可行?
总结:编写公式并不是为了编公式而编写复杂的公式,您个人对某一个特征或者形态的理解最重要。所以光有经验不够,您还得把它转化成您自己的应对策略!您需要不断总结、测试、优化您的公式。

第十一课 多头排列--良好的上升趋势
均线的多头排列一直以来都被大家视为一种良好的上升趋势的表现,因为这种形态的形成需要较长的时间,和较大的能量,而被主力或者庄家利用作为骗线的可能性就比较小,股市当中也遵循惯性的原理,当一个趋势形成之后,要改变它,是不容易的,因为股价有着沿着原来的运动方向上的惯性!
首先,让我们来看看几种多头排列:
5、10、30日均线:5、10、30日均线:30、60、90日均线:
在图一中和图二中我们采用的是同一周期的均线,即都是5、10、30日均线,我们可以观察到在同一周期下的均线排列有相同之处,也有很大不同之处:图一中的5日均线=10日均线、30日均线平滑优美,而在图二中的5日和10日均线不断的碰及30日均线然后上升;
在图三中我们选用的是30、60、90日均线,相对来说均线的多头排列也显得很平滑。
为什么会有这样的差别呢?如果您要是认真一点的话,就可以发现原来前两图的K线走得不一样,一个一波拉到头,一个分成几波拉到头,而在图三当中我们采用了较长周期的均线系统,从而在一定程度上过滤了这种现象,具体在使用的过程中,您可要多注意它们的区别!
好了,我们来看一下如何编写,拿第一个为例,观察它们的特征:
5/10/30日均线依次从上而下的排列,这种情况维持一段时间,假设我们这里定为4天以上:
5/10/30日均线依次从上而下的排列:
AA:=MA(CLOSE,5);
BB:=MA(CLOSE,10);
CC:=MA(CLOSE,30);
T1:=AA>BB AND BB>CC;
以上情况维持一段时间,假设我们这里定为4天以上:
COUNT(T1,4)=4;
COUNT(X,N)表示统计在N天内满足条件X的有几天。
最终的结果就是如下所示:
AA:=MA(CLOSE,5);
BB:=MA(CLOSE,10);
CC:=MA(CLOSE,30);
T1:=AA>BB AND BB>CC;
COUNT(T1,4 )=4

编写完毕,我们在上面的例子当中,举的是最简单的一个,其实您在编写的过程当中,还可以加上一些比较准确地描述,以取得更好的效果,例如同时三条均线向上发散等,当然还有您自己的心得。

第十二课 逃顶K线形态之--黄昏之星
一、概念学习
当市场出现一条大阳线后,通常会产生跳空高开的情况,有时便会出现十字星或类似十字星的小阴线(小阳线)。另一种相反的情况是出现在一条大阴线后,在这两种情况下形成的类似十字星的K线都被称为“星型线”。
当该形态出现在一段上升行情的当中,就很容易形成所谓的经典K线形态--黄昏之星。
二、编制过程
通过我们前面的学习,其实已经可以比较轻松的编制这个条件了--前人已经清晰地把这个形态的具体特征描述出来,剩下的工作就是把这些特征用数字表示--这就是前面提到的量化的过程!
该图组合一共由三根K线合成,我们按照以下的步骤一步一步地一边寻找每日K线的特征,一边进行编写:
为了结构简单起见,首先将二天的高开低收用中间表达式表达出来,因为我们在后面的编写过程中会分别使用到这些数据。
1、今日K线的:开-a1, a1:=open;
收-a2, a2:=close;
高-a3, a3:=high;
2、昨天K线的:开-b1, b1:=ref(open,1);
收-b2, b2:=ref(close,1);
高-b3, b3:=ref(high,1);
低-b4, b4:=ref(low,1);
3、前天K线的:开-c1, c1:=ref(open,2);
收-c2, c2:=ref(close,2);
高-c3, c3:=ref(high,2);
低-c4, c4:=ref(low,2);
4、我们将会分别描述出三天的K线形态,然后汇总,首先我们观察今日K线的特征,今天是一根低开低走的大阴线,我们给它一些数字上的定义:
a、今日开盘价小于昨日收盘价; aa:=a1<b2 and
b、今日的阴线实体较长,我们用开盘价和收盘价相比,长度大于4%:a1/a2>1.04;
5、昨日K线的特征,是一根十字形态的K线,并且在左右两根K线之上,分别表达为:
a、昨日跳开,高于前天的收盘: bb:=b1>c3
b、昨日收盘同样在缺口之上: and b2>c3
c、线形实体长度很小,也就是昨日开盘和收盘之差比昨日开盘的值小于0.01:and abs(b1-b2)/b1<0.01
d、K线有上下影线,可以表示为最高价和最低价不等于收盘价也不等于开盘价:and b3>b1 and b3>b2 and b4<b1 and b4<b2
e、当日的最高价为20天以来的最高价: and b3=hhv(high,20);
6、前日K线的特征:股价大幅上扬,幅度较前一日收盘高出4%并且收盘大于开盘:cc:=c2/ref(close,3)>1.04 and c2>c1;
综合选股条件:最后我们将三天的K线特征会合起来,合成一个最后的条件就是由图所示内容: aa and bb and cc
三、选股的结果
我们把上面的条件按照前面章节所讲的方法带入到分析家的公式选股条件当中去检验。
按下图作为标准
四、总结
其实到底是难还是不难呢?其实不难,只是你要细心一点把一个一个的条件组合起来,有机地结合起来!我们的许多形态就是这样由一个一个的K线组合起来的结果!
1、我们测试了将近4年的时间,一共找到了几个这样的信号,您满意吗?--应该说,不满意!可是原因在哪里呢?--我们的条件过于苛刻,因为要同时满足的条件太多,您可以尝试更改一些条件以获得更多的信号!
2、大家还会发现有的信号出现的位置不好,例如西飞国际,因为我们其中有一个条件不是很好,不过您可以做到将它去掉--告诉我您可以做到,算是课后作业吧,我看相对高位dd:=b3=hhv(high,20),怎么看都不舒服,您有什么办法?

突破底部横盘整理创新高!
“横的越长,竖的越高”,业内业外一直流传这样一句话。真实的讲,它描绘了股票的价格在一定的范围上下波动,如果有庄家主力在其中悄悄吸纳......直到某一天股价一鹤冲天!沉寂时间越长,爆发力越惊人!
正所谓“三年不鸣,一鸣惊人”......
公式编写:
我们寻找各种特征,并用数字表示出来:“长期”设定为150天;“横盘”设定股价在150日均线上下15%波动;放量;并且股价创下150天以来的历史新高!
1、首先用公式描述放量
a、将会使用5日均量来进行比较,成交量比昨日成交量放大两倍;
b、V1是五日均量,REF(V1,1)就是昨日的均量;
V1:=MA(VOL,5); V2:=VOL/REF(V1,1)>2;
2、长期横盘
a、PZ1是当天150日均价: PZ1:=MA(CLOSE,M);
b、PZ2是150日的最高价; PZ2:=HHV(HIGH,M);
c、PZ3是150日的最低价; PZ3:=LLV(LOW,M);
d、PZ4是150日的最高价和150日均价的距离的百分比,PZ5刚好相反是最低价和均价的差的百分比; PZ4:=(PZ2-PZ1)/PZ1; PZ5:=(PZ1-PZ3)/PZ1;
e、设为股价在150日均线上下15%波动,也就是PZ4、PZ5都小于0.15;
PZ:=REF(PZ4,1)<0.5 AND REF(PZ5,1)<0.15;
3、今天创下历史新高,也就是今天的最高价是150天内的最高价! TP1:HHV(HIGH,M); TP:=HIGH=TP1;
综合三个条件的最后的逻辑判断式就是我们的最后结论! V2 AND PZ AND TP(参数M=150天)

这样,您将上面多写的内容,简单的编入到公式编辑器中去,我们的工作就已经做完了,剩下的测设,大家请按照我们前面所讲的内容去做,只有不断地完善你的公式,把它和实战结合起来,形成您自己的特点的操作体系,您才算是有了自己的武器!
函数介绍:
HHV(X,M)
表示X在M天内的最高值!
例如:
HHV(HIGH,150)每日最高价在150天内的最大值
HHV(VOL,150)每日成交量在150天内的最大值

LLV(X,M)
表示X在M天内的最小值
例如:
LLV(LOW,10)每日最低价在10天内的最小值
HHV(VOL,20)每日成交量在20天内的最小值
好了!十二课我们全讲完了,我们来回顾一下我们的课程,做一个最后的总结!
事实上,编写公式并不是一件很难的事情!他并不是为编写复杂的公式而在编写公式,恰如孔乙己会写四种回字又有何意义?重要的是您要深刻地理解某一点、某一处--没有人可以全部了解这个市场,可是也很少有人能够潜下心来去想清楚一个问题。
在编写公式的时候,大家一定体会到了,由于计算机的使用给我们带来了巨大的方便,可使计算机并不是完全智能化的,所以它只是一个工具,还有着许多的重要的工作需要人去完成,您千万不能放弃了自己而去迷信一个工具,可能它是您的帮手,但目前来说,无法替代您!您的投资还得由您去做!

Posted: 2005-11-19 10:46 | 6 楼  

  
小指标公式编码集中(三)
1.
成交量连续5天超过30天均量点
count(vol>ma(vol,30),5)=5
2.
请老师编一选股公式;要求1;日均线多头排列的情况下(5,10,30,60。。。)2:5日。10日均线高度粘合--相等或相差1-2分钱,30均线与5,10均线相差1角以下。3:日量比大于2。先谢谢!!!
1.ma(c,5)>ma(c,10) and ma(c,10)>ma(c,30) and ma(c,30)>ma(c,60) and 。。。

2.abs(ma(c,5)-ma(c,10))<0.03 and abs(ma(c,30)-max(ma(c,5),ma(c,10)))<0.1

3.DYNAINFO(17)>2


3.
威力雷达rad7日内连续上扬怎样编写?谢谢
V1:=(c/ref(c,1)-indexc/ref(indexc,1))*200;
RAD:=sum(v1,0);

count(rad>ref(rad,1),7)=7

威力雷达Mrad在7日内连续上扬怎样编写?谢谢
V1:=(c/ref(c,1)-indexc/ref(indexc,1))*200;
RAD:=sum(v1,0);

MRAD:=MA(RAD,30);

count(mrad>ref(mrad,1),7)=7

4.
请问。10日内涨幅大于10%的选股公式怎样编?
c/ref(c,10)>1.1

5.
如何编写股价在一个上涨或下跌的行情中第3次触及30日均线时发出提醒的指标?
M3:=MA(C,30);

N1:=BARSLAST(M3>REF(M3,1));

AA:=CROSS(C,M3);

COUNT(AA,N1)=3


6.
请问:cys指标中数值要小于-5,怎样编写到其他指标中.,谢谢!
(C-CYC(13))/CYC(13)*100<-5


7.
当涨幅大于5%,要主图K线的实体的一半变为另一色。如何表达?
STICKLINE(c/ref(c,1)>1.05,(c+o)/2,c,10,1),coloryellow;

8.
成交量连续3天涨的公式
COUNT(VOL>REF(VOL,1),3)=3

9.
请问怎样用公式表示年线摆脱下降趋势出现向上拐头?
COUNT(MA(C,250)>REF(MA(C,250),1),3)=3

10.
股价创出新高后,又调整到30日均线附近的选股公式如何编写?

COUNT(C>=HHV(C,N),5)=1 AND C/MA(C,30)>=1 AND C/MA(C,30)<1.02


11.
怎么定义一阳线紧跟两阴线的函数?
ref(c,2)>ref(o,2) and ref(c,1)<ref(o,1) and c<o;


12.
60日线在过去的10天内涨跌幅度在 1%
COUNT(BETWEEN(ma(c,60),ref(ma(c,60),10)*1.01,ref(ma(c,60),10)*0.99),10)=10;


13.
RSI(周线)在70天内第二次上穿80,如何编制?
COUNT(CROSS("RSI.RSI1#WEEK",80),70)=2

14.
今天涨幅3%昨天涨幅2%前天涨幅1%的个股
(c-ref(c,1))/ref(c,1)>0.3 and (ref(c,1)-ref(c,2))/ref(c,2)>0.2 and (ref(c,2)-ref(c,3))/ref(c,3)>0.1

15.
破5天线,3天后又重新站上5天线的个股
cross(ref(ma(c,5),3),ref(c,3)) and cross(c,ma(c,5))

16.
今天一阳上穿5,10,30天线个股
cross(c,ma(c,5) and cross(c,ma(c,10)) and cross(c,ma(c,30))

17.
3天内5天线上穿10天线,10天线上穿20天线的个股
count(cross(ma(c,5),ma(c,10)),3)>=1  and  count(cross(ma(c,10),ma(c,20)),3)>=1

18.
日macd翻绿3内又翻红的个股。
count(cross(0,"MACD.MACD" ),3)=1 and count(cross("MACD.MACD",0 ),3)=1

19.
5天线拐头向下3天内又拐头向上的个股。
count(cross(ref(ma(c,5),1),ma(c,5)),3)=1 and count(cross(ma(c,5),ref(ma(c,5),1)),3)=1

20.
收盘价比开盘价高出6%,当日涨幅超过6%,实体占整天振幅的80%以上
C/O>1.06 AND C/REF(C,1)>1.06 AND C-O>0.8*(H-L)

小指标公式编码集中(四)
1.

怎样编制全市场平均价格公式

现在的指数不能说明市场真实平均价格,怎样写才准确呢?

沪股均价:"1A0002$AMOUNT"/"1A0002$VOL"/100;
深股均价:"399107$AMOUNT"/"399107$VOL"/100;
均价"1A0002$AMOUNT"+"399107$AMOUNT")/("1A0002$VOL"+"399107$VOL")/100;

2.
用股价选股

input:年(2004),月(8),日(31),最小价格(1),最大价格(2);
n:=DATEDIFF(((年-1900)*10000+月*100+日),DATE);//计算输入日期和现在日期周期
tj:REF(CLOSE,n)>最小价格 and REF(CLOSE,n)<最大价格;

3.
1,股价突破60日均线的选股公式,
2,和怎么选出一段时间以来的涨停板个股公式
1
cross(c,ma(c,60));
2
f:=ref(c,1)*1.1-c<0.01;
count(f,n)>0;//N天内出现过涨停

4.
股价横盘,MACD金叉,然后股价创新底,MACD没死叉。
REF(((HHV(H,N)-LLV(L,N))/LLV(L,N)),1)<=0.04
AND c<ref(LLV(L,N),1) and "macd.diff">"macd.dea";

5.
过滤一个条件成立的信号

过滤:=(EMA(C,60)>EMA(C,30))>(EMA(C,60)>EMA(C,30)*1.05);

我需要这个信号以外成立的信号
过滤:=(EMA(C,60)>EMA(C,30))>(EMA(C,60)>EMA(C,30)*1.05);
not(过滤)
***
IF(过滤,0,1);

6.
收盘价在20日均线之上,收盘价连升二天。
f:=c/ref(c,1);
count(c>ma(c,20) and f>1,2)=2;

7.
求最大值?

在飞狐中如何求以下四个代数式中的最大值
a-b,b-c,a-c,d-c
MAX(A,B)只能返回A和B中的较大值?
MAX(MAX(A,B),MAX(C,D));

通用的“二次金叉”通式。

Jm:=CROSS("指标名称.指标线1","指标名称.指标线2");
JmCOUNT:=COUNT(Jm,BARSLAST("指标名称.指标线1(或指标线2)"大于或小于某数));
Jmtj:40*("指标名称.指标线1(或指标线2)"小于或大于某数));
Drawtext (Jmtj,40,&#39;…………二次金叉&#39;);
条件选股:60*(Jmtj and …………),colorgreen;

例如(这里给出三个例子)
1、Macd在0轴线以下二次金叉
Jm:=CROSS("Macd.DIFF","Macd.DEA");
JmCOUNT:=COUNT(Jm,BARSLAST("Macd.DEA">=0));
Jmtj:40*("Macd.DEA"<0 and Count(JmCount=2,21)=1);
Drawtext (Jmtj,40,&#39;Macd在0轴线以下二次金叉&#39;);
条件选股:60*(Jmtj and Slope(Ma(C,5),2)>0),colorgreen;
Drawtext (条件选股,50,&#39;5日3%成功率:44.71%&#39;);

2、KD在60轴线以下二次金叉
Jm:=CROSS("KD.K","KD.D");
JmCOUNT:=COUNT(Jm,BARSLAST("KD.D">=60));
Jmtj:40*("KD.D"<60 and Count(JmCount=2,21)=1);
Drawtext (Jmtj,"KD.D",&#39;KD在60轴线以下二次金叉&#39;);
条件选股:60*(Jmtj and Slope(Ma(C,20),3)>0),colorgreen;
Drawtext (条件选股,50,&#39;5日3%成功率:50.3%&#39;);


3、SlowKD在30轴线以下二次金叉
Jm:=CROSS("SlowKD.K","SlowKD.D");
JmCOUNT:=COUNT(Jm,BARSLAST("SlowKD.D">=30));
Jmtj:28*("SlowKD.D"<30 and Count(JmCount=2,21)=1);
Drawtext (Jmtj,28,&#39;SlowKD在30轴线以下二次金叉&#39;);
条件选股:50*(Jmtj and Slope(Ma(C,20),2)>0),colorgreen;





10.
求各位高手写一个选股公式!

N天,N日均线,以N角度向上或向下运行的均线。(分析家)

atan((ma(c,n)-ref(ma(c,n),N))/N); //值为正向上,值为负向下

11.
K线中“低点不断抬高”和“低点不断降低”的指标如何编 ?

l>ref(l,1) and REF(L,1)>ref(l,2) and REF(L,2)>ref(L,N);;{N,5,1,999}
“低点不断抬高”
反之<是“低点不断降低”

12.
符号编公式用

【】〓☆★○●◎◇◆□■△▲ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ→←↑↓^§∧∨∪∩∈∞∝⊥∽√┣┫┻╋┼αβδωΩφΦΨΠ┳

13.
当收盘价收在7天平均线上,K线都为阳线(红色),收盘价收在7天平均线下,K线都为阴线(录色),在主图怎样写?
stickline(c>=ma(c,7),c,o,7,0),colorred;
stickline(c>=ma(c,7),h,l,1,0),colorred;
stickline(c<ma(c,7),c,o,7,0),colorgreen;
stickline(c<ma(c,7),h,l,1,0),colorgreen;

14.
20日内次高点
AA:=HHVBARS(C,20);
C=MAX(HHV(C,AA),REF(HHV(C,19-AA),AA+1));

15.
要选出收市价离125天均线不远,
ABS(C-MA6)/MA6<=0.01

20.
写均线MA1二次上穿MA4公式!
COUNT(CROSS(ma1,ma4),20)=2;


小指标公式编码集中(五)
这是在网上摘录的,仅供参考
编写公式时常用的通式
应用 FXJ-4 的一些函数编写公式时,常用的通式:
{设A,B,R为三条曲线;N,M等为参数。如:A:ma(c,N) ; B:=ma(c,M); R:=c/ref(c,1)-1;等。。。}
{一.曲线在N天内的平均变化率}
Fa:=(A/ref(A,N)-1)/N; Fb:=(B/ref(B,N)-1)/N; Fr:=(R/ref(R,N)-1)/N;
{二.变动角}
∮a:=atan(Fa);    ∮b:=atan(Fb);  ∮r:=atan(Fr);
{三.曲线上相距N天的两点的连线的斜率}
Ka:=(A-ref(A,N))/N;   Kb:=(B-ref(B,N))/N; Kr:=(R-ref(R,N))/N;
{四.倾角}
∠a:=atan(Ka);   ∠b:=atan(Kb);   ∠r:=atan(Kr);
{五.交*点}
Cab:=cross(A,B);{交*} Jab:=longcross(A,B,N);{维持 -交*}
JYa:=between(A,N,M);{介于} FWa:=range(A,N,M);{范围}
{六.下拐点(由下向上转)}
xD1:=llvbars(A,N)=M;{以N日最低点}
xD2:=ref(count(A-ref(A,1)<=0,N)=N,M) and count(A-ref(A,1)>0,M)=M;{以M日变化量的正负}
xD3:=ref(count(∠a-ref(∠a,1)<=0,N)=N,M) and ∠a>0;{以当日变化角的正负}
{七.上拐点(由上向下转)}
sD1:=hhvbars(A,N)=M;{以N日最低点}
sD2:=ref(count(A-ref(A,1)>=0,N)=N,M) and count(A-ref(A,1)<0,M)=M;{以当日变化量的正负}
sD3:=ref(count(∠a-ref(∠a,1)>=0,N)=N,M) and ∠a<0;{以当日变化角的正负}
{八.位置(求得交*点/拐点到当前的周期)}
Wz1:=barslast(Cab);{第一(交*)点的位置}
Wz2:=ref(Wz1,Wz1+1)+Wz1+2;{第二(交*)点的位置}
Wz3:=ref(Wz1,Wz2+1)+Wz2+2;{第三(交*)点的位置}
Wz4:=ref(Wz1,Wz3+1)+Wz3+2;{第四(交*)点的位置}
Wz5:=ref(Wz1,Wz4+1)+Wz4+2;{第五(交*)点的位置}
{Wzn:=ref(Wz1,Wz(n-1)+1)+Wz(n-1)+2;}
{九.曲线A叠加曲线B}
F:=A/ref(A,1)-1;{A的变化率}
Js:=ref(B,barscount(c));{叠加位置(初始)}
DJ:=sum(F,0)+1)*Js;{叠加曲线(初始位置)}
Jd:=ref(B,barslast(条件));{叠加位置(定点)}
Dh:=(sum(F,0)+1)*Jd;{叠加曲线(预定位置)}
http://www.yonghua.net 股评天下!
您需要登录后才可以回帖 登录 | 注册

勇华投资首页|手机版|Archiver|勇华股票投资 ( 湘ICP备19013943号 )  

GMT, 2019-10-14 14:12 , Processed in 0.168065 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部