如何编制大智慧指标(易学易懂)

来源:百度文库 编辑:神马文学网 时间:2024/05/01 09:03:25
如何编制大智慧指标
[Copy to clipboard][ - ]
CODE:
如何汇编自己的公式,好多人只会引入或拆解别人的公式组装一下但终归不是自己的原装,自己也想动手编制但苦于不会,这里就教你学会如何由浅至深的编制公式的技能.满世界找开琐钥匙(寻找破解指标),不如自己做个造锁专家(编写公式指标专家),您说呢?
怎样编写大智慧指标公式?
目前大多数证券分析软件都具有指标分析和条件选股的功能,但只有用户可以自己编制算法公式的系统才是真正实用的,因为:
许多软件的指标和选股功能是黑箱操作,也就是说,其内部算法是不公开的。这样用户并不知道其指标和选股到底是如何运作的、可靠性有多高、前提条件是什么,因而也难以决定是否采用指标或选股的结果。这样的指标和选股只有宣传上的意义而没有任何实际意义。
许多软件的选股功能都不够强大和灵活。例如有些软件的条件选股功能只能让用户按照特定的模式进行设定,适用面很窄。
公式系统类似于一种编程语言,用户可以数学公式的形式实现任何自己期望的技术指标和选股条件等。可编制的公式可以完全公开算法,用户可以自行分析、评价和修改,做到心中有数。
公式系统的作用是什么呢?公式系统其实就是对一系列随时间变化的原始数据组序列进行代数和逻辑计算。为什么是数据组序列呢?因为每一个时间周期(即相邻两组数据间的时间间隔)都包含了一组原始数据,如开高低收量额,公式系统能对其中的任何原始数据进行操作。使用者定义出如何对原始数据进行处理得到一个新的数据,公式系统读出原始数据并按要求计算出使用者定制的数据,并以曲线、图形、指示等形式显示出来。
公式系统可以编辑四种类型的公式,分别是技术指标、交易系统、条件选股和五彩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三条坐标线。
特殊数据引用
(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为流通股本。
[Copy to clipboard][ - ]
CODE:
创新高
创新高指当日最高价是最近一段时间的最高价:
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日均线}
cc:(aa-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{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(3)、K线的描述
阳线
close>open;
阴线
close高开
open>ref(close,1);
低开
open跳空高开(high为最高价)
open>ref(high,1);
跳空低开(low为最低价)
open走势特征选股公式的编制
(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(open0.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:=closecount(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注: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:=volcount(a,n)=n;
注:其中条件a的含义为成交量较上一交易日缩小,n为要统计的阶段时间,可在参数设定范围内设定参数范围。
(19)、间隔放量
a:=ma(vol,5);
barscount(c)>=n and hhv(a,n)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 (cm/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注:n1、n2、n3、n4j日均线呈空头排列,isup也可以用close(3)、早晨之星
ref(close,2)/ref(open,2<0.95 and ref(open,1)1.05 and close>ref(close,2);
注:早晨之星,这种形态和叫法自然是后市向好,为买进信号。早晨之星由三根K线组成,其顺序是:
第一天在下跌过程中已形成一根阴线:
ref(close,2)/ref(open,2<0.95
第二天呈裂口下跌,K线实体较短,构成星的主体部分,阴线或阳线均可,有无上下影线均不重要。
ref(open,1)关键是第三根K线必须是阳线,且其长度至少要升至第一根阴线实体(如果能够“包容”第一根阴线则最好不过了)
close/open>1.05 and close>ref(close,2)
创新高
创新高指当日最高价是最近一段时间的最高价:
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日均线}
cc:(aa-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{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(3)、K线的描述
阳线
close>open;
阴线
close高开
open>ref(close,1);
低开
open跳空高开(high为最高价)
open>ref(high,1);
跳空低开(low为最低价)
open走势特征选股公式的编制
(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(open0.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:=closecount(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注: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:=volcount(a,n)=n;
注:其中条件a的含义为成交量较上一交易日缩小,n为要统计的阶段时间,可在参数设定范围内设定参数范围。
(19)、间隔放量
a:=ma(vol,5);
barscount(c)>=n and hhv(a,n)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 (cm/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注:n1、n2、n3、n4j日均线呈空头排列,isup也可以用close(3)、早晨之星
ref(close,2)/ref(open,2<0.95 and ref(open,1)1.05 and close>ref(close,2);
注:早晨之星,这种形态和叫法自然是后市向好,为买进信号。早晨之星由三根K线组成,其顺序是:
第一天在下跌过程中已形成一根阴线:
ref(close,2)/ref(open,2<0.95
第二天呈裂口下跌,K线实体较短,构成星的主体部分,阴线或阳线均可,有无上下影线均不重要。
ref(open,1)关键是第三根K线必须是阳线,且其长度至少要升至第一根阴线实体(如果能够“包容”第一根阴线则最好不过了)
close/open>1.05 and close>ref(close,2)
公式编写实例
编写实例
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('自选股',103,0,1);以自选股板块股票的总股本为权重,以收盘价为数源进行累加。
公式名称:zdkx
公式描述:自定指数K线
参数:(最小值)(最大值)(缺省值)
#n: 1 100 10
---------------
高:=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,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(a115)N日均线向下
aa:=ma(c,n);
bb:=ref(aa,2);
aa16)向前N日至M日出现过均线死叉(P1aa:=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)A5 AND B4;
19)换手率 VOL/CAPITAL*100;
20)N日盈亏
V1:=VOL/SUM(VOL,N);
V2:=DMA(CLOSE,V1);
V3: (CLOSE-V2)/V2*100;
公式入门
我们大多数的用户并不是完全了解“公式编辑器”的意义,简单地,我们可以从以下几个角度进行理解:
一、指标分析:
“公式编辑器”好比是一个工作母床,通过这个工作母床可以制造出所需要的各式各样的零件,同样,在指标分析的工作中,利用编辑器可以编写出相应的分析条件,这种方法是在技术分析当中最为常用的方法之一。例如,指标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);
跳空:
跳空亦有向上和向下两种:
当日开盘在昨日最高之上,即为向上跳空: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天内的最小值
好了!十二课我们全讲完了,我们来回顾一下我们的课程,做一个最后的总结!
事实上,编写公式并不是一件很难的事情!他并不是为编写复杂的公式而在编写公式,恰如孔乙己会写四种回字又有何意义?重要的是您要深刻地理解某一点、某一处--没有人可以全部了解这个市场,可是也很少有人能够潜下心来去想清楚一个问题。
在编写公式的时候,大家一定体会到了,由于计算机的使用给我们带来了巨大的方便,可使计算机并不是完全智能化的,所以它只是一个工具,还有着许多的重要的工作需要人去完成,您千万不能放弃了自己而去迷信一个工具,可能它是您的帮手,但目前来说,无法替代您!您的投资还得由您去做!
小指标公式编码集中(三)
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)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"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,'…………二次金叉');
条件选股: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,'Macd在0轴线以下二次金叉');
条件选股:60*(Jmtj and Slope(Ma(C,5),2)>0),colorgreen;
Drawtext (条件选股,50,'5日3%成功率:44.71%');
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",'KD在60轴线以下二次金叉');
条件选股:60*(Jmtj and Slope(Ma(C,20),3)>0),colorgreen;
Drawtext (条件选股,50,'5日3%成功率:50.3%');
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,'SlowKD在30轴线以下二次金叉');
条件选股: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(cstickline(c14.
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;{叠加曲线(预定位置)}
都学会了,那恭喜你加入汇编公式高手行列.