大智慧公式教程
公式入门
我们大多数的用户并不是完全了解“公式编辑器”的意义,简单地,我们可以从以下几个角度进行理解:
一、指标分析:
“公式编辑器”好比是一个工作母床,通过这个工作母床可以制造出所需要的各式各样的零件,同样,在指标分析的工作中,利用编辑器可以编写出相应的分析条件,这种方法是在技术分析当中最为常用的方法之一。例如,指标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天内的最小值
好了!第十课我们也讲完了,我们来回顾一下我们的课程,做一个最后的总结!
事实上,编写公式并不是一件很难的事情!他并不是为编写复杂的公式而在编写公式,恰如孔乙己会写四种回字又有何意义?重要的是您要深刻地理解某一点、某一处--没有人可以全部了解这个市场,可是也很少有人能够潜下心来去想清楚一个问题。
在编写公式的时候,大家一定体会到了,由于计算机的使用给我们带来了巨大的方便,可使计算机并不是完全智能化的,所以它只是一个工具,还有着许多的重要的工作需要人去完成,您千万不能放弃了自己而去迷信一个工具,可能它是您的帮手,但目前来说,无法替代您!您的投资还得由您去做!
===================================================================================
编写公式的基础知识
公式教程
目前大多数证券分析软件都具有指标分析和条件选股的功能,但只有用户可以自己编制算法公式的系统才是真正实用的,因为:
许多软件的指标和选股功能是黑箱操作,也就是说,其内部算法是不公开的。这样用户并不知道其指标和选股到底是如何运作的、可靠性有多高、前提条件是什么,因而也难以决定是否采用指标或选股的结果。这样的指标和选股只有宣传上的意义而没有任何实际意义。
许多软件的选股功能都不够强大和灵活。例如有些软件的条件选股功能只能让用户按照特定的模式进行设定,适用面很窄。
公式系统类似于一种编程语言,用户可以数学公式的形式实现任何自己期望的技术指标和选股条件等。可编制的公式可以完全公开算法,用户可以自行分析、评价和修改,做到心中有数。
公式系统的作用是什么呢?公式系统其实就是对一系列随时间变化的原始数据组序列进行代数和逻辑计算。为什么是数据组序列呢?因为每一个时间周期(即相邻两组数据间的时间间隔)都包含了一组原始数据,如开高低收量额,公式系统能对其中的任何原始数据进行操作。使用者定义出如何对原始数据进行处理得到一个新的数据,公式系统读出原始数据并按要求计算出使用者定制的数据,并以曲线、图形、指示等形式显示出来。
公式系统可以编辑四种类型的公式,分别是技术指标、交易系统、条件选股和五彩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个计算参数。
==================================================================
公式编制
这里举一些最简单的公式例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。
收盘价线
这是最简单的公式:
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日均线}
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<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)
(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表达为两个中间表达式。中间表达式用符号“:=”
R:)xxx:=(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;
完整表达式:
R:)xxx:=(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;
公式编写实例
编写实例
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(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<P2)
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;
======================================================================================
大智慧数学函数的运用
1、ABS 绝对值 求绝对值。 用法:ABS(X)返回X的绝对值。 例如:ABS(-34)返回34。请看下面指标:
{真实量比}
V1:=AMOUNT/10000;
对敲: FINANCE(33), POINTDOT,colorffcc66;
Var1:=ref(c,1);
var2:=(var1-l)/(h-l);
var3:=v1*var2;
var4:=V*var2;
var5:=abs(var4);{返回var4}
var6:=abs(var3);{返回var3}
var7:=abs(v1-var6);{返回v1-var6差}
大单卖盘:abs(v-var5)/100,color00ffff;{返回v-var5差除100}
买盘:var3/100,colorff00ff;
成交金额:V1/1000,color00ff00;
买卖盘比%:abs(v-var3)/v*100,colorc0c0c0;{返回v-var3差}
stickline(c>0,0,var6,5,0),colorffff00;{画天兰色柱}
换手:100*v/capital,colorred;
STICKLINE(换手<3,var6,v1 ,5 ,0),colorred;{画红色柱}
STICKLINE(换手>=3 and 换手<7,var6, V1,5.5,0),coloryellow;{画黄色柱}
STICKLINE(换手>=7,var6, V1, 4,0) ,color00ff00;{画绿色柱}
2、BETWEEN 介于 介于两个数之间。 用法:BETWEEN(A,B,C),表示A处于B和C之间时返回1,否则返回0。 例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5)),表示收盘价介于5日均线和10日均线之间。请看下面指标:
{智慧探庄 参数:下%:1 100 5 上%:1 100 5}
VAR1:=((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27)))*(100);
VAR2:=SMA(VAR1,9,1);
A:SMA(VAR2,5,1),Color00FFFF;
B:SMA(A,3,1),ColorFF00FF;
F:(3)*(A)-(2)*(B),Color00FF00;
趋势线:MA(CLOSE,20)-(MA(CLOSE,20))/(3),ColorFFFFFF;
X:=((CLOSE)/(趋势线)-1)*(100);
AA:=BETWEEN(X,下%,上%);{表示x介于参数下%,上%之间}
智慧探庄:IF((AA>0),5,80),ColorFFFF00;
VAR3:=(MA(WINNER(CLOSE),5))*(100);
智慧出击:=(CROSS(VAR3,2.5))*(85);
出击:IF((智慧出击>0),60,0),Color0000FF;
BB:IF(((智慧出击>0) or (出击>0)),2,20),Color008000,Stick;
3、LONGCROSS 维持交叉函数 两条线维持一定周期后交叉。 用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0。 例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5),表示5日均线维持5周期后与10日均线金叉。
4、CEILING 向上舍入 向数值增大方向舍入。 用法:CEILING(A)返回沿A数值增大方向最接近的整数。 例如:CEILING(12.3)求得13,CEILING(-3.5)求得-3。
5、FLOOR 向下舍入 向数值减小方向舍入。 用法:FLOOR(A)返回沿A数值减小方向最接近的整数。 例如:FLOOR(12.3)求得12,FLOOR(-3.5)求得-4。CEILING与FLOOR用法一样,区别在于向上舍入和向下舍入。
下面指标用到了这几个函数:
aa1:=(EMA(CLOSE,12)-EMA(CLOSE,26))*100+50;
aa2:=EMA(aa1,9);
aa3:=(HHV(HIGH,21)-CLOSE)/(HHV(HIGH,21)-LLV(LOW,21))*100-10;
aa4:=(CLOSE-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21))*100;
aa5:=SMA(aa4,13,8);
走势:CEILING(SMA(aa5,13,8));{向上舍入 向数值增大方向舍入,aa5的13日均线求得8}
aa6:=SMA(aa3,21,8);
买观注: STICKLINE(走势-aa6<-65,0,5,15,1);
买进:=LONGCROSS(aa1,aa2*1.05,15) AND aa1<40;{表示aa1维持aa2*1.05后与15日金叉}
卖观注: STICKLINE(走势-aa6>85,95,90,15,1);
卖出:STICKLINE(LONGCROSS(aa2,aa1*0.95,7) AND aa1>0,100,80,6,0),color00ff00;{表示aa2维持aa1*0.95后与7日死叉,画绿色柱线}
6、MAX 最大值 求最大值。 用法:MAX(A,B)返回A和B 中的较大值。 例如:MAX(CLOSE-OPEN,0),表示若收盘价大于开盘价返回它们的差值,否则返回0。
7、MIN 最小值 求最小值。 用法:MIN(A,B)返回A和B中的较小值。 例如:MIN(CLOSE,OPEN),返回开盘价和收盘价中的较小值。这2个函数通常成双成对使用,请看下面指标:
Var1:=(HIGH+LOW+CLOSE)/3;{(最高价+最低价+收盘价)/3}
Var2:=IF(HIGH=LOW,1,HIGH-MAX(OPEN,CLOSE));{条件函数(最高价=最低价,1,最高价-最大值(开盘价,收盘价))}
Var3:=IF(HIGH=LOW,1,MAX(CLOSE,OPEN)-Var1);{条件函数(最高价=最低价,1,最大值(收盘价,开盘价)-Var1)}
Var4:=IF(HIGH=LOW,1,MIN(OPEN,CLOSE)-LOW);{条件函数(最高价=最低价,1,最小值(开盘价,收盘价)-最低价)}
Var5:=IF(HIGH=LOW,1,Var1-MIN(CLOSE,OPEN));{条件函数(最高价=最低价,1,Var1-最小值(收盘价,开盘价))}
Var6:=VOL/IF(HIGH=LOW,4,HIGH-LOW);{成交量/条件函数(最高价=最低价,4,最高价-最低价)}
Var7:=Var2*Var6;
Var8:=Var3*Var6;
Var9:=Var4*Var6;
VarA:=Var5*Var6;
STICKLINE(CLOSE>0,0,Var7+VarA,4,1),COLORRED;{画柱线(收盘价>0,0,Var7+VarA,4,1),红色柱}
买入量: Var7+VarA,POINTDOT,COLORRED;{红色点状线}
STICKLINE(CLOSE>0,(Var8+Var9)*(-1),0,4,1),COLORFFCCCC;{画柱线(收盘价>0,(Var8+Var9)*(-1),0,4,1),淡青色柱}
卖出量:(Var8+Var9)*(-1),POINTDOT,COLORFFCCCC;{淡青色点状线}
8、MOD 求模运算 求模运算。 用法:MOD(A,B)返回A对B求模。 例如:MOD(26,10)返回6。
9、INTPART 取整 绝对值减小取整,即取得数据的整数部分。 用法:INTPART(A)返回沿A绝对值减小方向最接近的整数。 例如:INTPART(12.3)求得12,INTPART(-3.5)求得-3。下面的指标用到了这两个函数;
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;{(收盘价-最低值(最低价,9))/(最高值(最高价,9)-最低值(最低价,9))*100}
K:=(SMA(RSV,3,1));{(移动平均(RSV,3,1))}
D:=(SMA(K,3,1));{(移动平均(K,3,1))}
KK:=INTPART(SMA(RSV,3,1));{取整(移动平均(RSV,3,1))}
DD:=INTPART(SMA(K,3,1));{取整(移动平均(K,3,1))}
N:KK+DD,LINETHICK2,COLORff00ff;{画粗粉色线}
精确涨停:IF(CROSS(N,50),90,50),,COLORYELLOW;{条件函数(交叉函数(N,50),90,50)画黄色线}
接近头部:IF(CROSS(160,N),95,160),,COLOR00ff00;{条件函数(交叉函数(160,N),95,160)画绿色线}
尾数:MOD(n,10),LINETHICK0,COLORWHITE;{求模运算(n,10)画白色线}
N的尾数:IF(尾数=0,65,25),,COLORFFCC66;{条件函数(尾数=0,65,25)画青色线}
10、NOT 求逻辑非。 用法:MOT(X)返回非X,即当X=0时返回1,否则返回0。 例如:MOT(ISUP)表示平盘或收阴。请看这个函数在指标中的用法:
Var1:=(MA(CLOSE,80)-MA(CLOSE,13)/3);
神奇线:= MA((CLOSE-Var1)/Var1,1);
买点:IF(REF(神奇线,2)=LLV(神奇线,20) AND REF(神奇线,2)<0.071 AND REF(神奇线,2)<REF(神奇线,1) AND NOT(REF(LOW,1)>REF(HIGH,2) AND LOW>REF(HIGH,1)) AND CLOSE>REF(CLOSE,1),0.5,0);{这句用到了MOT函数}
11、RANGE 范围 介于某个范围之间。 用法:RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0。 例如:RANGE(CLOSE,MA(CLOSE,5),MA(CLOSE,10))表示收盘价大于5日均线并且小于10日均线。请看下面指标:
a1:=1;
a2:=ma(c,30);
a3:=(c-a2)/a2*100;
a4:=ma(a3,3);
a5:=a1-1.01*1000000;
a6:=barslast(cross(-10,a4)=1);
a7:=if(a4<-10 and a6>=5,a4,0),colorwhite;
机会:a7,colorstick,colorffff00;{画青色柱线}
a8:=range(a5,(1-0.618)*1000,(1+1.9/100)*1000);{在这句中用到了mange函数,其格式含义请慢慢体会}
drawtext(filter(a7=a4 and a8=0,8)=1,a7*1.2 ,'注意反弹'),coloryellow;
12、REVERSE 求相反数 求相反数。 用法:REVERSE(X)返回-X。 例如:REVERSE(CLOSE)返回-CLOSE。请看指标:
Var1:=(CLOSE-REF(OPEN,29))/REF(OPEN,29)*100;
Var2:=HHV(HIGH,60);
VarA:=(CLOSE-LLV(LOW,36))/(HHV(HIGH,36)-LLV(LOW,36))*100;
VarB:=SMA(VarA,5,1);
VarC:=SMA(VarB,3,1);
跌: Var2*0.382,colorwhite;
底部: REVERSE(IF(CROSS(VarB,VarC) AND VarC<10 AND Var1<-30,跌*2,-5)),color00ff00;{返回CROSS(VarB,VarC)}
DRAWTEXT(REVERSE(CROSS(VarB,VarC)) AND VarC<10 AND Var1<-30,跌-5,'底部'),color00ff00;{返回CROSS(VarB,VarC)}
13、ATAN 反正切值 用法:ATAN(X)返回X的反正切值。请看指标:
lc1:=ma(c,9);
jxjd:=atan((lc1-ref(lc1,1))/ref(lc1,1)*100)/3.1416*180;{返回((lc1-ref(lc1,1))的反正切值}
smk:sma(jxjd,3,1),colorstick;{画柱线}
smd:sma(smk,3,1);smk;
14、EXP 指数 用法:EXP(X)为e的X次幂。 例如:EXP(CLOSE)返回e的CLOSE次幂。
15、LOG 以10为底的对数 用法:LOG(X)取得X的对数。 例如:LOG(100)等于2。下面指标用到了这两个函数:
Var1:=IF(VOL/CAPITAL>0.001,1,EXP(ABS(LOG(VOL/CAPITAL*100))));{返回e的(ABS(LOG(VOL/CAPITAL*100)))次幂}
STICKLINE(Var1>2 AND VOL<MA(VOL,5)/2,0,VOL,4,0),COLORFF00FF;{画柱线}
相对地量:0,COLORFF00FF;
16、POW 乘幂 用法:POW(A,B)返回A的B次幂。 例如:POW(CLOSE,3)求得收盘价的3次方。请看预测指标:
Var2:=EMA(CLOSE,100)-EMA(CLOSE,50);
Var3:=EMA(Var2,60);
Var4:=(Var2-Var3)*2;
ZX: IF( Var4>0.3,POW(Var4,3)*10/10+POW(Var4,2),0);
ZY: EMA(ZX,3);
LING: 0;
17、SQRT 开平方 用法:SQRT(X)为X的平方根。 例如:SQRT(CLOSE)收盘价的平方根。请看指标:
底(-SQRT(SQRT(FLOOR(SQRT((MA(((1)/(WINNER(CLOSE)))*(100),4))/(10000)))))))*(5)),Color4455EE;
STICKLINE((底<(-2)),0,底,1.5,1),Color2222FF;
18、SIN 正弦值 用法:SIN(X)返回X的正弦值。
19、COS 余弦值 用法:COS(X)返回X的余弦值。正弦波是自然界最常见的波形。正弦波和余弦波的波形是一样的,无非是相差π/2弧度(90度)的相位。
主要应用在技术分析中的周期分析上。那么在指标中画出正弦波应该是很容易了吧。看看这2个函数在指标中的运用:
A:=COUNT(C,0)=1;
B:=BARSLAST(A);{1,2,3,4,.....}
正弦值:SIN(B);
余弦值:COS(B);
正余平方和:POW(正弦值,2)+POW(余弦值,2);
正弦180度:SIN(3.1415926);
但是看起来不太光滑.究其原因,是因为正弦波的周期是2π,当X取值较大时(1,2,3,...)时,返回值就不太“精密”了,也就是说构成波形的点数不够。这个就好办了,我们可以把数列的值都减小N倍,再来看看效果。
A:=COUNT(C,0)=1;
B:=BARSLAST(A)/N;{参数N:1 999 10}
正弦值:SIN(B);
余弦值:COS(B);
调整参数N,就可以发现,N取值越大,波形就越光滑。当N取3时,就有不错的光滑度。当N取10时,就非常光滑了。N调整得越大,在2π周期中的点数就越多,一个完整波形的周期内所含的日期差(在日K线中)就越大了。
20、TAN 正切值 TAN(X)返回X 的正切值。正切值的绝对值,最小是0,最大趋向于无穷大。当正弦值接近1时,正切值接近于无穷大。请看:
A:=COUNT(C,0)=1;
B:=BARSLAST(A)/N;{参数N:1 999 10}
正弦值:SIN(B);
余弦值:COS(B);
TAN(B);
以下几个函数很少用到,做一下简单了解就行了。你可以挖掘这几个函数的运用,也许会有出乎意料的收获。
21、ASIN 反正弦值 用法:ASIN(X)返回X的反正弦值。
22、SGN 符号值 求符号值。 用法:SGN(X),当X>0,X<0分别顺1,0,-1。
23、ACOS 反余弦值 用法:ACOS(X)返回X的反余弦值。
24、LN自然对数 求自然对数。 用法:LN(X)以e为底的对数。 例如:LN(CLOSE)求收盘价的对数。
25、SIN 正弦值 用法:SIN(X)返回X的正弦值。
=======================================================================
大智慧引用函数COUNT的运用
函数:COUNT(X,N) 参数: X为数组,N为计算周期
说明:统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。
示例:COUNT(CLOSE>OPEN,20);表示统计20周期内收阳的周期数。看下面的指标(自己取名吧),有几条语句用了COUNT函数:
V1:=(MA(CLOSE,80)-MA(CLOSE,13)/3);
神奇线:MA((CLOSE-V1)/V1,1),coloryellow,linethick2;
买点:IF(CROSS(神奇线,0) AND LOW/REF(HIGH,1)<1.012,0.5,0), STICK;
稳赚:IF(COUNT(神奇线>REF(神奇线,1),3)=3 AND COUNT(神奇线<0,10)=10 AND REF(神奇线,3)=LLV(神奇线,10),0.5,0);
V2:=(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100;
V3:=(EMA(CLOSE, 6)-EMA(CLOSE, 12))*100;
猎庄:V3<13 AND V2>9,stick,ColorFFFFFF,linethick2;
YD:=(count(c<ref(O,1),13)>=10 OR count(c<ref(c,2),13)>=10) and count(H/L>1.048,13)>=7;
DTJJ:=DMA(c,V/MA(V,13)/13);
XJPL:=c/DTJJ<0.91;
a1:=YD and XJPL;
STICKLINE(a1,0,0.50,4,1),colorffcccc;
回调买入:0,colorffcccc;
aa1:=cross(ref(c,3),ref(ma(c,20),3));
bb1:=count(c>ma(c,20),3)=3;
cc1:=cross(c,ma(c,20)) and (c-ma(c,20))/ma(c,20)>0.03;
突破月线:if((aa1 and bb1) or cc1,0.5,0),stick,linethick2,colorred;
drawicon((aa1 and bb1) or cc1,0.6,1);
指标解析:
V1:=(简单移动平均(收盘价,80)-简单移动平均(收盘价,13)/3);
神奇线:简单移动平均((收盘价-V1)/V1,1),coloryellow,linethick2;{画黄色粗线}
买点:条件函数(交叉函数(神奇线,0) AND 最低价/向前引用(最高价,1)<1.012,0.5,0), 棒状线;{在坐标0--0.5处画棒状线}
稳赚:条件函数(统计总数(神奇线>向前引用(神奇线,1),3)=3 AND 统计总数(神奇线<0,10)=10 AND 向前引用(神奇线,3)=最低值(神奇线,10),0.5,0);{在坐标0--0.5处显示脉冲信号}
V2:=(收盘价-向前引用(收盘价,1))/向前引用(收盘价,1)*100;
V3:=(指数平滑移动平均(收盘价, 6)-指数平滑移动平均(收盘价, 12))*100;
猎庄:V3<13 AND V2>9,棒状线,ColorFFFFFF,linethick2;{默认在坐标0--1处画白色棒状线}
YD:=(统计总数(收盘价<向前引用(开盘价,1),13)>=10 OR 统计总数(收盘价<向前引用(收盘价,2),13)>=10) and 统计总数(最高价/最低价>1.048,13)>=7;
DTJJ:=动态移动平均(收盘价,成交量/简单移动平均(成交量,13)/13);
XJPL:=收盘价/DTJJ<0.91;
a1:=YD and XJPL;{两个条件同时成立}
画柱线(a1,0,0.50,4,1),colorffcccc;{在坐标0--0.5处画宽度为4的青色空心棒状线}
回调买入:0,colorffcccc;{在指标图上方显示'回调买入'}
aa1:=交叉函数(向前引用(收盘价,3),向前引用(简单移动平均(收盘价,20),3));
bb1:=统计总数(收盘价>简单移动平均(收盘价,20),3)=3;
cc1:=交叉函数(收盘价,简单移动平均(收盘价,20)) and (收盘价-简单移动平均(收盘价,20))/简单移动平均(收盘价,20)>0.03;
突破月线:条件函数((aa1 and bb1) or cc1,0.5,0),棒状线,linethick2,colorred;{在坐标0--0.5处画红色粗棒状线}
画图标((aa1 and bb1) or cc1,0.6,1);{在坐标0.6处显示红脸}
下面是几个运用COUNT函数的指标例句:
(1)、n日内阴线多于阳线
count(open>close,n)/n<0.5;
注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5等,达到确定阴线占全部K线个数的比例)。
(2)、n日内阳线多于阴线
count(open<close,n)/n>0.5;
注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5等,达到确定阳线占全部K线个数的比例)。
(3)、n日内上涨多于下跌(第二天开盘高于前一天收盘)
count(c>ref(c,1),n)/n>0.5;
注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5等,达到确定其中比例)。
(4)、n日内上涨少于下跌(第二天开盘低于前一天收盘)
count(c>ref(c,1),n)/n<0.5;
注:n为指标参数,可在参数设定范围内设定参数范围。同时可以自由编辑里面的数值(如0.5等,达到确定其中比例)。
(5)、连续n日收阳线
up:=close>open;
count(up,n)=n;
注:count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。n为指标参数,可在参数设定范围内设定参数范围。
(6)、连续n日内收阴线
up:=close<open;
count(up,n)=n;
注:count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。N为指标参数,可在参数设定范围内设定参数范围。
(7)、连续n天上涨
count(close>ref(close,1),n)=n;
注:count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。N为指标参数,可在参数设定范围内设定参数范围。
(8)、连续n天下跌
count(c<ref(c,1),n)=n;
注:count(x,n),统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。N为指标参数,可在参数设定范围内设定参数范围。
以上的参数n只要添入你所需要的周期数即可,如5、10、30等日期就是一个完整的指标或选股指标。
股市的不随机规律,隐藏在统计概率之中。用这两个函数,可以统计很多概率性的规律。
比如,以两天的收盘价相比,昨天是下跌的,今天的下跌的概率是多少?看下面指标:
{当日升跌概率}
A:=C<REF(C,1);
B:=REF(A,1) AND C>REF(C,1);{昨天下跌,今天上涨}
D:=REF(A,1) AND C=REF(C,1);{昨天下跌,今天平盘}
E:=REF(A,1) AND C<REF(C,1);{昨天下跌,今天下跌}
F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0);
上升概率:100*COUNT(B,0)/F;
下跌概率:100*COUNT(E,0)/F;
平盘概率:100*COUNT(D,0)/F;
那么连跌两天之后,第三天收盘的各种概率是多少?看下面指标:
A:=C<REF(C,1) and ref(c,1)<ref(c,2);
B:=REF(A,1) AND C>REF(C,1);{前两天下跌,今天上涨}
D:=REF(A,1) AND C=REF(C,1);{前两天下跌,今天平盘}
E:=REF(A,1) AND C<REF(C,1);{前两天下跌,今天下跌}
F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0);
上升概率:100*COUNT(B,0)/F;
下跌概率:100*COUNT(E,0)/F;
平盘概率:100*COUNT(D,0)/F;
从指数的输出看,概率更明显了。
连跌三天之后呢?看下面指标:
A:=C<REF(C,1) and ref(c,1)<ref(c,2) and ref(c,2)<ref(c,3);
B:=REF(A,1) AND C>REF(C,1);{前三天下跌,今天上涨}
D:=REF(A,1) AND C=REF(C,1);{前三天下跌,今天平盘}
E:=REF(A,1) AND C<REF(C,1);{前三天下跌,今天下跌}
F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0);
上升概率:100*COUNT(B,0)/F;
下跌概率:100*COUNT(E,0)/F;
平盘概率:100*COUNT(D,0)/F;
规律就更明显了。
不要小看这些数据。虽然没有有些“高手”做出的成功率达百分之九十左右的公式那么夸张,但很有意义的。要知道股市中的随机因素太多,平衡性很强,稍稍的统计偏向,足可作为有用的参考。
====================================================
大智慧引用函数FILTER、SUMBARS运用
1、函数:FILTER 信号过滤 过滤连续出现的信号。 用法:FILTER(X,N),X满足条件后,删除其后N周期内的数据置为0。 例如:FILTER(CLOSE>OPEN,5),查找阳线,5天内再次出现的阳线不被记录在内。请看下面指标:
顶底背离:0,COLORYELLOW;
A1:=BARSLAST(ref(cross("macd.diff"(12,26,9),"macd.dea"(12,26,9)),1));
B1:=ref(c,A1+1)>c and ref("macd.diff"(12,26,9),A1+1)<"macd.diff"(12,26,9) and cross("macd.diff"(12,26,9),"macd.dea"(12,26,9));
MACD底背离:STICKLINE(FILTER(B1>0,5),0,0.75,3,0),COLOR00FF00;{5天内B1>0的条件不被记录在内,在当前周期内出现B1>0画绿色柱线}
DRAWTEXT(FILTER(B1>0,5),0.57,'MACD底背离'),COLOR00FF00;
A2:=BARSLAST(ref(cross("kdj.k"(9,3,3),"kdj.d"(9,3,3)),1));
B2:=ref(c,A2+1)>c and ref("kdj.k"(9,3,3),A2+1)<"kdj.k"(9,3,3) and cross("kdj.k"(9,3,3),"kdj.d"(9,3,3));
KDJ底背离:STICKLINE(FILTER(B2>0,5),0,1,3,0),COLORYELLOW;{5天内B2>0的条件不被记录在内,在当前周期内出现B>0画黄色柱线}
DRAWTEXT(FILTER(B2>0,5),0.80,'KDJ底背离'),COLORYELLOW;
A3:=BARSLAST(ref(cross("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24)),1));
B3:=ref(c,A3+1)>c and ref("RSI.RSI1"(6,12,24),A3+1)<"RSI.RSI1"(6,12,24) and cross("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24));
RSI底背离:STICKLINE(FILTER(B3>0,5),0,0.5,3,0),COLORFFCC66;{5天内B3>0的条件不被记录在内,在当前周期内出现B3>0画青色柱线}
DRAWTEXT(FILTER(B3>0,5),0.25,'RSI底背离'),COLORFFCC66;
2,COLORRED;
C1:=BARSLAST(ref(cross("macd.dea"(12,26,9),"macd.diff"(12,26,9)),1));
D1:=ref(c,C1+1)<c and ref("macd.diff"(12,26,9),C1+1)>"macd.diff"(12,26,9) and cross("macd.dea"(12,26,9),"macd.diff"(12,26,9));
MACD顶背离:STICKLINE(FILTER(D1>0,5),2,1.25,3,0),COLOR0066FF;{5天内D1>0的条件不被记录在内,在当前周期内出现D1>0画橘黄色柱线}
DRAWTEXT(FILTER(D1>0,5),1.47,'MACD顶背离'),COLOR0066FF;
C2:=BARSLAST(ref(cross("kdj.d"(9,3,3),"kdj.k"(9,3,3)),1));
D2:=ref(c,C2+1)<c and ref("kdj.k"(9,3,3),C2+1)>"kdj.k"(9,3,3) and cross("kdj.d"(9,3,3),"kdj.k"(9,3,3));
KDJ顶背离:STICKLINE(FILTER(D2>0,5),2,1,3,0),COLORRED;{5天内D2>0的条件不被记录在内,在当前周期内出现D2>0画红色柱线}
DRAWTEXT(FILTER(D2>0,5),1.2,'KDJ顶背离'),COLORRED;
C3:=BARSLAST(ref(cross("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24)),1));
D3:=ref(c,C3+1)<c and ref("RSI.RSI1"(6,12,24),C3+1)>"RSI.RSI1"(6,12,24) and cross("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24));
RSI顶背离:STICKLINE(FILTER(D3>0,5),2,1.5,3,0),COLORFF00FF;{5天内D3>0的条件不被记录在内,在当前周期内出现D3>0画粉色柱线}
DRAWTEXT(FILTER(D3>0,5),1.75,'RSI顶背离'),COLORFF00FF;
这是一个引用FILTER函数比较多的指标,请认真研究和体会一下语句的用法。
2、函数:SUMBARS 累加到指定周期数 向前累加到指定值到现在的周期数。 用法:SUMBARS(X,A),将X向前累加直到大于等于A,返回这个区间的周期数。 例如:SUMBARS(VOL,CAPITAL),求完全换手到现在的周期数。
这个函数好用,在于它不但能精确地得到统计结果,而且能得到“模糊”的结果。
就以SUMBARS(VOL,CAPITAL)为例:
日期数:SUMBARS(VOL,CAPITAL);{返回成交量累加到流通盘的日期数}
验证:SUM(V,日期数)/CAPITAL;{把返回的日期数之内的成交量累计,再除以流通盘}
运行的结果中,我们可以看到,“验证”的输出,除了SUMBARS起算点附近之外,从来没有小于1的。可见SUMBARS只往多算,不往少算。请看下面指标:
Var1:=(CLOSE-LLV(LOW,45))/(HHV(HIGH,45)-LLV(LOW,45))*100;
Var2:=SMA(Var1,3,1);
Var3:=SMA(Var2,3,1);
VarB:=SUM(IF(CLOSE>REF(CLOSE,7),VOL,IF(CLOSE<REF(CLOSE,7),0-VOL,0)),0);
VarC:=SUMBARS(VOL,CAPITAL);{求完全换手到现在的周期数}
VarD:=IF(CLOSE>LLV(CLOSE,VarC),1,-1);
VarE:=IF(VarB>LLV(VarB,VarC),1,-1);
VarF:=VarD*VarE;
Var10:=IF(VarF=-1,1,0);
关注:IF(Var10 AND CLOSE=LLV(CLOSE,20) AND Var3<12,70,1),colorffcc66;{在图上0--70的坐标处显示青色脉冲信号}
V1:=SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE<REF(CLOSE,1),0-VOL,0)),0);
V2:=SUMBARS(VOL,CAPITAL);{求完全换手到现在的周期数}
V3:=IF(CLOSE>LLV(CLOSE,V2),1,-1);
V4:=IF(V1>LLV(V1,V2),1,-1);
V5:=V3*V4;
V6:=IF(V5=-1,1,0);
V7:=COUNT(V6=1,8)>2;
V8:=AMOUNT/VOL/100;
V9:=(3*HIGH+LOW+OPEN+2*CLOSE)/7;
VA:=SUM(AMOUNT,13)/V8/100;
VB:=DMA(V9,VOL/VA);
VC:=(CLOSE-VB)/VB*100<-15;
VD:=(CLOSE-MIN(REF(CLOSE,5)*0.865,REF(CLOSE,21)*0.772))/CLOSE<0.05;
长针:(VC AND VD AND V7)*60,coloryellow;{在图上0--60的坐标处显示黄色脉冲信号}
============================================================
大智慧逻辑函数
1、IF 条件函数 根据条件求不同的值。 用法:IF(X,A,B)若X不为0则返回A,否则返回B。 例如:IF(CLOSE>OPEN,HIGH,LOW),表示该周期收阳则返回最高值,否则返回最低值。
2、CROSS 交叉函数 CROSS(A,B) A:变量或常量,判断交叉的第一条线。 B:变量或常量,判断交叉的第二条线。 例如:CROSS(MA(CLOSE,5),MA(CLOSE,10)),5日均线与10日均线金叉;CROSS(CLOSE,12),价格由下向上突破12元。
上面这两个函数我们在前面已经讲过,在此就不做介绍了。讲一讲下面几个逻辑函数。
这几个逻辑函数比较好理解,用法简单,只是用的很少。
3、ISDOWN 当日下跌 该周期是否收阴。 用法:ISDOWN当收盘<开盘时,返回值为1,否则为0。
4、ISEQUAL 当日平盘 该周期是否平盘。 用法:ISEQUAL当收盘=开盘时,返回值为1,否则为0。
5、ISUP 该周期是否收阳。 用法:ISUP当收盘>开盘时,返回值为1,否则为0。请看指标:
Var1:=EMA(CLOSE,3);
Var2:=EMA(CLOSE,21);
Var3:=BARSLAST(CROSS(Var2,Var1))>15;
Var4:=VOL>MA(VOL,5)*2 AND VOL<MA(VOL,5)*5;
Var5:=CROSS(Var1,Var2) AND ISUP AND Var4 AND Var3;{交叉(var1,var2)并且 当日上涨 并且VAR4 并且VAR3}
:if(Var5,80,0),stick,linethick4,colorf00ff0;
drawtext(Var5,70,'!'),colorf00ff0;
6、NOT 求逻辑非 NOT(X) 求逻辑非,返回非X,即当X=0时返回1,否则返回0。 例如:NOT(ISUP),是否平盘或收阴。请看指标:
XX2:=(MA(CLOSE,80)-MA(CLOSE,13)/3);
神奇线: MA((CLOSE-XX2)/XX2,1);
买点1: IF(CROSS(神奇线,0) AND LOW/REF(HIGH,1)<1.012,0.5,0), STICK,COLORWHITE;
稳赚: IF(COUNT(神奇线>REF(神奇线,1),3)=3 AND COUNT(神奇线<0,10)=10 AND REF(神奇线,3)=LLV(神奇线,10),0.5,0);
买点2: IF(REF(神奇线,2)=LLV(神奇线,20) AND REF(神奇线,2)<0.071 AND REF(神奇线,2)<REF(神奇线,1) AND NOT(REF(LOW,1)>REF(HIGH,2) AND LOW>REF(HIGH,1)) AND CLOSE>REF(CLOSE,1),0.5,0),COLORRED;{这段语句NOT(REF(LOW,1)>REF(HIGH,2)的意思,是否昨天最低价大于前天最高价,这几个条件都满足显示脉冲信号,否则不显示}
DRAWTEXT( 买点1>0,0.2 ,'★神奇线'),COLORWHITE;
DRAWTEXT( 买点2>0,0.4 , '★神奇线'),COLORRED;
=================================================================
大智慧统计函数
(1)、AVEDEV 平均绝对偏差 用法:AVEDEV(X,N) 含义:平均绝对偏差,求X的N日平均绝对偏差。请看指标:
TYP:=(HIGH+LOW+CLOSE)/(3);{最高+最底+收盘价/3}
趋势线:(TYP-MA(TYP,100))/((0.015)*(AVEDEV(TYP,100))),Color00FFFF;{(AVEDEV(TYP,100)求TYP的100日平均绝对偏差.}
(2)、DEVSQ 数据偏差平方和 用法:DEVSQ(X,N) 含义:数据偏差平方和,求X的N日数据偏差平方和。数据偏差平方和除以N,即为方差。比较一下这2句在图上的区别:
a1:DEVSQ(C,5)/5;{0.025}
a2:DEVSQ(C,5);{0.126}
(3)、FORCAST 线性回归预测值 用法:FORCAST(X,N)为X的N周期线性回归预测值。示例: FORCAST(CLOSE,10) 表示求10周期线性回归预测。用最小二乘法求出N周期内X的一元线性回归线上的当天的值。请看指标:
平均价:=(HIGH+4*LOW+OPEN+CLOSE)/7;
均价差:= EMA(平均价,13) - EMA(平均价,34);
移动均价:= EMA(均价差,5);
差:=(均价差-移动均价)*5;
A:=IF(差>=1000 ,1000 ,IF(差<=平均价,平均价,差) );
分水岭:=forcast(forcast(A,31),10),linethick3,COLORYELLOW;{求出31日内A的线性回归预测和10日线性回归预测}
上涨:if(A>分水岭,A,分水岭),LINETHICK2,colorred;
下跌:if(A<分水岭,A,分水岭),LINETHICK2,COLORGREEN;
分水岭1:forcast(forcast(A,31),10),linethick2,COLORYELLOW;{求出31日内A的线性回归预测和10日线性回归预测}
(4)、SLOPE 线性回归斜率 用法:SLOPE(X,N)为X的N周期线性回归线的斜率。例如:SLOPE(CLOSE,10)表示求10周期线性回归线的斜率。请看指标:
XLB:forcast(V,8)/EMA(forcast(V,36),7);{forcast(V,8)求8周期线性回归预测}
XLL:if(slope(XLB,2)>0,slope(XLB,2)*XLB,0),linethick2;{slope(XLB,2)求2周期线性回归线的斜率}
drawicon(XLL<0.8,0,11);
drawicon(XLL>=0.8,0,10);
{排序,用于抓住量比放大,正在快速上涨的股。}
(5)、STD 估算标准差 用法:STD(X,N)为X的N日估算标准差。例如:STD(CLOSE,10),求10周期收盘价的估算标准差。请看指标:
var1:=ema((high+low+close)/3,3);
重心: var1,colorwhite;
varb:=amount/(100*vol);
varc:=ma(varb,34);
vard:=ma(close,26);
通道: (vard+varc)/2, coloryellow;
压力l: vard+2*std(close,49), colorred;{求49周期收盘价的估算标准差}
支持l: (vard-2*std(close,26)),colorgreen;{求26周期收盘价的估算标准差}
通道*1.062,colorff00ff;
通道*0.938,colorff00ff;
vare:=ma(winner(close),5)*100;
顶: drawtext(vare>60 and high>压力l,high,'卖'), color00ff00;
底: drawtext(vare<15 and cross(var1,通道),low,'买'),colorwhite;
(6)、STDP 总体标准差 用法:STDP(X,N)为X的N日总体标准差。例如:STDP(CLOSE,10),求10周期收盘价的总体标准差。请看指标:
VAR1:=AMOUNT/VOL/100;
VAR2:=(3*HIGH+LOW+OPEN+2*CLOSE)/7;
VAR3:=SUM(AMOUNT,34)/VAR1/100;
VAR4:=DMA(VAR2,VOL/VAR3);
VAR5:=100*(C-VAR4)/VAR4;
次强上轨:(MA(VAR5,20)+STDP(VAR5,20)),COLORRED;{STDP(VAR5,20)求20周期var5的总体标准差}
次强下轨:(MA(VAR5,20)-STDP(VAR5,20)),COLORRED;{STDP(VAR5,20)求20周期var5的总体标准差}
强弱线:(次强上轨+次强下轨)/2,POINTDOT,COLORYELLOW;
强势区上轨:(MA(VAR5,20)+1.7*STDP(VAR5,20)),COLOR10FFFF;{STDP(VAR5,20)求20周期var5的总体标准差}
强势区下轨:(MA(VAR5,20)-1.7*STDP(VAR5,20)),COLOR10FFFF;{STDP(VAR5,20)求20周期var5的总体标准差}
标准线:VAR5,COLORWHITE;
下面这2个函数用的比较少,略做简单介绍:
(7)、VAR 估算样本方差 用法:VAR(X,N)为X 的N日估算样本差。
(8)、VARP 总体样本方差 用法:VARP(X,N)为X的N日总体样本方差。
======================================================================
大智慧诊断指标的编写。
大智慧的诊断指标形同于飞狐、分析家的解盘指标,都是通过文字来提供当前盘面个股的趋势、均线、基本面、K线形态等技术指标的演化状态的,这对盘面分析很有帮助。
诊断指标是通过引用技术指标来完成文字诊断的。此外,还要用到文字诊断字符串输出函数,下面分别介绍所用到的函数:
1、IFS 字符串IF函数 用法:IFS(A>B,'返回A','返回B');
该函数返回一个字符串,上例表示:
如果A大于B,则返回'返回A'串,否则返回'返回B'串;
2、STR 数据到字符串转换函数 用法:STR(X,N);
该函数返回一个字符串.上例子表示:范围精度为N的X的字符串;
诊断指标分两部分组成,前一部分是指标公式,后一部分是文字诊断。下面我们用实例来说明指标的编制:
{基本面 参数 n1:1 999 50 n2:1 999 10 p1:1 999 20 p2:1 999 50 s1:1,99999,40000;s2:1,99999,10000}
m1:=FINANCE(33);{每股收益}
m2:=FINANCE(34);{每股净资产}
m3:=CAPITAL/1000000;{流通盘}
m4:=FINANCE(34);{净资产}
m5:=FINANCE(18);{公积金}
m6:=FINANCE(32);{未分配利润}
c1:=c/ref(ema(c,30),30);
c2:=indexc/ref(ema(indexc,30),30);
l1:=c1/c2*10-10;
c3:=c/ma(c,60);
c4:=indexc/ma(indexc,60);
l2:=c3/c4*10-10;
c5:=c/ma(c,120);
c6:=indexc/ma(indexc,120);
l3:=c5/c6*10-10;
L4:=MA(L1+L2+L3,5);
DIFF:="MACD.DIFF"(12,26,9);
DEA:="MACD.DEA"(12,26,9);
MACD:="MACD.MACD"(12,26,9);
K:="KD.K"(17,4,4);
D:="KD.D"(17,4,4);
{以上部分是公式,不能设有返回值,也就是全用":="赋值符。以下部分是引用上面的公式所做的文字诊断}
'【理想解盘】'+
'该股为'+
IFS(FINANCE(33)>=N1/100,'绩优、','')+IFS(FINANCE(33)<N1/100 AND FINANCE(33)>=N2/100,'中等业绩、','')+IFS(FINANCE(33)<N2/100 AND FINANCE(33)>=0,'绩差、','')+IFS(FINANCE(33)<0,'亏损、','')+
IFS(DYNAINFO(39)<=P1 AND DYNAINFO(39)>0,'低市盈率、','')+IFS(DYNAINFO(39)>P1 AND DYNAINFO(39)<=P2,'中等市盈率、','')+IFS(DYNAINFO(39)>P2,'高市盈率、','')+IFS(FINANCE(7)>=S1,'大盘股。','')+IFS(FINANCE(7)<S1 AND FINANCE(7)>=S2,'中盘股。','')+
IFS(FINANCE(7)<S2,'小盘股。','')+'流通盘(万)'+str(m3,4)+'。每股净资产为'+str(m4,2)+',收益为'+str(m1,2)+',市盈率为'+str(c/m1,3)+',市净率为'+str(c/m2,2)+',公积金为'+str(m5,2)+',未分配利润为'+str(m6,2)+'。'+
{''之间的汉字作为字符串输出会显示在评价窗口中,str函数把数字转化为字符串输出。数据到字符串转换函数。
STR 用法:STR(X,N);该函数返回一个字符串.此例子表示:范围精度为N的X的字符串;}
{' '+}
IFS(REF(L4,1)>0 AND REF(L4,1)>REF(L4,2),'该股中长期走势强于大盘,且近期继续走强。','')+
IFS(REF(L4,1)>0 AND REF(L4,1)<=REF(L4,2),'该股中长期走势强于大盘,但近期有所走弱。','')+
IFS(REF(L4,1)<=0 AND REF(L4,1)>REF(L4,2),'该股中长期走势弱于大盘,但近期有所转强。','')+
IFS(REF(L4,1)<=0 AND REF(L4,1)<=REF(L4,2),'该股中长期走势弱于大盘,且近期继续走弱。','')+
IFS(DIFF>=0,'MACD指标显示该股处于多头行情中','MACD指标显示该股处于空头行情中')+
IFS(DIFF>=0 AND MACD>=0 AND MACD>REF(MACD,1),'且有加速上涨趋势。','')+
IFS(DIFF>=0 AND MACD>=0 AND MACD<=REF(MACD,1),'但上涨趋势有所减缓,短线投资者可逢高卖出,但当回落至均线或其他支撑位时应及时回补。','')+
IFS(DIFF>=0 AND MACD<0 AND MACD>=REF(MACD,1),',目前正处于回落整理阶段,但整理即将结束,可在均线或其他支撑位附近逢低买入,但当整理完成后选择再次向下突破时应注意及时止损。','')+
IFS(DIFF>=0 AND MACD<0 AND MACD<REF(MACD,1),',目前正处于回落整理阶段,且回落有加速趋势。','')+
IFS(DIFF<0 AND MACD<=0 AND MACD<REF(MACD,1),'且有加速下跌趋势。','')+
IFS(DIFF<0 AND MACD<=0 AND MACD>=REF(MACD,1),'但下跌趋势有所减缓,可在W&R指标大于90时逢低买入,但有可能再次加速下跌,注意及时止损。','')+
IFS(DIFF<0 AND MACD>0 AND MACD>REF(MACD,1),',目前正处于反弹阶段,投资者应保持谨慎。','')+
IFS(DIFF<0 AND MACD>0 AND MACD<REF(MACD,1),',短线反弹已经结束,应继续坚持谨慎原则。','')+
IFS(CROSS(DIFF,0),'该股今日从空头市场转换为多头行情。','')+
IFS(CROSS(0,DIFF),'该股今日从多头市场转换为空头行情。','')+
IFS(K>80 AND CROSS(D,K)=0,'KD指标提示该股已经处于超买状态,如果KD指标死叉应及时卖出。','')+
IFS(K<20 AND CROSS(K,D)=0,'KD指标提示该股已经处于超卖状态,如果KD指标金叉应及时买入。','')+
IFS(CROSS(K,D) AND LLV(K,3)<20,'KD低位金叉,建议买入。','')+
IFS(CROSS(D,K) AND HHV(K,3)>80,'KD高位死叉,建议卖出。','')
{每条语句以“+”符号结束,指标最后一句没有“+”的符号。}
注意:引用技术指标要准确无误以外,还要注意格式,否则不能通过测试。为了让朋友更明白一些,再举一例:
{KDJ解盘}
K:="KD.K"(17,4,4);
D:="KD.D"(17,4,4);
'【理想解盘】'+
IFS(K>80 AND CROSS(D,K)=0,'KD指标提示该股已经处于超买状态,如果KD指标死叉应及时卖出。','')+
IFS(K<20 AND CROSS(K,D)=0,'KD指标提示该股已经处于超卖状态,如果KD指标金叉应及时买入。','')+
IFS(CROSS(K,D) AND LLV(K,3)<20,'KD低位金叉,建议买入。','')+
IFS(CROSS(D,K) AND HHV(K,3)>80,'KD高位死叉,建议卖出。','')
朋友们可以照猫画虎自编一个,只要有一个成功了,你也就掌握了方法。
==========================================================================================
大智慧引用函数SUM的运用
函数:SUM(X,N) 参数: X为数组,N为计算周期
说明:统计N周期中X的总和,N=0则从第一个有效值开始。
示例:SUM(VOL,0) 表示统计从上市第一天以来的成交量总和。
SUM和COUNT这两个函数不同之处在于COUNT,计数。SUM,总数、和。请注意这两个函数的区别。
当数组为逻辑运算判断的结果时,SUM和COUNT的返回值是一样的。一般习惯上,对于逻辑运算信号,用COUNT统计,返回其它数值的,用SUM统计。当COUNT统计一般数值时,数组大于等于1时,计入;小于1时,不计入。这两个函数,主要用于统计。
用COUNT(CROSS(MA(C,5),MA(C,10)),0);就可以统计出全部的五天均线上穿十天均线的金叉数。
用SUM(CROSS(MA(C,5),MA(C,10)),0);和以上得出的结果应该是一样的。
请看下面的指标如何运用SUM函数的。
{多空曲 n:1 100 13 m:1 100 34}
obv:=sum(if(close>ref(close,1),vol,if(close<ref(close,1),0-vol,0)),0);
ah:=(sum(h,2)*(sum(1+winner(h),2))*sum(obv,2))/2;
al:=(sum(l,2)*(sum(1+winner(l),2))*sum(obv,2))/2;
a=(sum(o,2)*(sum(1+winner(o),2))*sum(obv,2))/2;
ac:=(sum(c,2)*(sum(1+winner(c),2))*sum(obv,2))/2;
stickline(ac>=ao,ah,al,0.1,0),colorred;{在ah与al之间画宽度为0.1的实心红柱线}
stickline(ac>=ao,ao,ac,4,0),colorred;{在ao与ac之间画宽度为4的实心红柱线}
stickline(ac<ao,ah,al,0.1,0),colorffcc66;{在ah与al之间画宽度为0.1的实心青柱线}
stickline(ac<ao,ao,ac,4,0),colorffcc66;{在ao与ac之间画宽度为4的实心青柱线}
两日参考:polyline(c>0,ma(ac,2)),colorff00ff;
ka1:=(hhv(ah,m)-llv(al,m))/m;
ka2:=sum(ac,n)/n;
m1:ka2-ka1*n,colorwhite;
m2:ka2+ka1*n,colorwhite;
多空分界:(m1+m2)/2,coloryellow;
指标解析:
{多空曲 n:1 100 13 m:1 100 34}
obv:=求和(条件函数(收盘价>向前引用(收盘价,1),成交量,条件函数(收盘价<向前引用(收盘价,1),0-成交量,0)),0);
ah:=(求和(最高价,2)*(求和(1+获利盘比例(最高价),2))*求和(obv,2))/2;
al:=(求和(最低价,2)*(求和(1+获利盘比例(最低价),2))*求和(obv,2))/2;
a=(求和(开盘价,2)*(求和(1+获利盘比例(开盘价),2))*求和(obv,2))/2;
ac:=(求和(收盘价,2)*(求和(1+获利盘比例(收盘价),2))*求和(obv,2))/2;
画柱线(ac>=ao,ah,al,0.1,0),colorred;
画柱线(ac>=ao,ao,ac,4,0),colorred;
画柱线(ac<ao,ah,al,0.1,0),colorffcc66;
画柱线(ac<ao,ao,ac,4,0),colorffcc66;
两日参考:画折线(收盘价>0,简单移动平均(ac,2)),colorff00ff;
ka1:=(最高值(ah,m)-最低值(al,m))/m;
ka2:=求和(ac,n)/n;
m1:ka2-ka1*n,colorwhite;
m2:ka2+ka1*n,colorwhite;
多空分界:(m1+m2)/2,coloryellow;
下面是几个运用sum函数的指标例句:
(1)、阶段缩量
sum(vol,n1)/capital<=n2;
注:n1为要统计的阶段时间,n2为缩量比例,可在参数设定范围内设定参数范围。
(2)、阶段放量
sum(vol,n1)/capital>=n2;
注:n1为要统计的阶段时间,n2为y放量比例,可在参数设定范围内设定参数范围。
(3)、放量上攻
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日内放大。
(4)、阶段强势股
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函数表示同期大盘的收盘价,该函数对分笔成交分析周期无效。
(5)、阶段弱势股
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函数表示同期大盘的收盘价,该函数对分笔成交分析周期无效。
=================================================================================
大智慧引用函数HHV和LLV的运用
引用函数HHV和LLV的运用
1、引用函数HHV 最高值 求最高值。 用法:HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始。 例如:HHV(HIGH,30),表示求30日最高价。
2、引用函数LLV 最低值 求最低值。 用法:LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始。 例如:LLV(LOW,0),表示求历史最低价。
例1、如指标(主图)
CG:=Ma(C,18),color00ff00;{18日简单移动平均}
FL:=hhv(CG,3),COLOR00ff00;{取3日CG的最高值}
FL3:hhv(CG,9),COLOR00FF00,linethick2;{取9日CG的最高值,画绿色粗线}
FS3:if(CG<FL3,(CG-(FL3-CG)),FL3),COLORred,linethick2;{根据括号内所求的值及条件画红色粗线}。
例2、根据走势特征编制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。如把N添上参数30就是30日内创新高。
例3、指标(副图)
{三线开花 n:1 100 20}
C0:=(h+l+c)/3;
a1:=HHV(C0,n);a2:=LLV(C0,n);a3:=a1-a2;
a4:=ema((C0-a2)/a3,2)*100;
b1:=HHV(C0,4*n);b2:=LLV(C0,4*n);b3:=b1-b2;
b4:=ema((C0-b2)/b3,2)*100;
C1:=HHV(C0,16*n);C2:=LLV(C0,16*n);C3:=C1-C2;
C4:=ema((C0-C2)/C3,2)*100;
短期相对价位:a4,color66d,linethick2;
中期相对价位:b4,color6699ff,linethick2;
长期相对价位:C4,color6600ff,linethick2;
天线:95,linethick2,coloreeee33,pointdot;
地线:5,linethick2,color33ee33,pointdot;
中线:50,linethick2,coloreeeeee,pointdot;
指标解析:
{三线开花 n:1 100 20}
C0:=(最高价+最低价+收盘价)/3;
a1:=最高值(C0,n);a2:=最低值(C0,n);a3:=a1-a2;
a4:=指数平滑移动平均((C0-a2)/a3,2)*100;
b1:=最高值(C0,4*n);b2:=最低值(C0,4*n);b3:=b1-b2;
b4:=指数平滑移动平均((C0-b2)/b3,2)*100;
C1:=最高值(C0,16*n);C2:=最低值(C0,16*n);C3:=C1-C2;
C4:=指数平滑移动平均((C0-C2)/C3,2)*100;
短期相对价位:a4,color66d,linethick2;
中期相对价位:b4,color6699ff,linethick2;
长期相对价位:C4,color6600ff,linethick2;
天线:95,linethick2,coloreeee33,点状线;
地线:5,linethick2,color33ee33,点状线;
中线:50,linethick2,coloreeeeee,点状线;
例4、选股指标n日内创新低
llv(low,n)=llv(low,0) and barscount(close)>=n;
注n为指标参数,可在参数设定范围内设定参数范围。Llv(x,n),求n周期内x最低值,n=0则从第一个有效值开始;barscount(x)第一个有效数据到当前的天数,例如,barscount(close)以于日线数据取得上市以来总交易日数。
以上这两个函数在指标编写中被广泛采用。
====================================================================================
大智慧K线函数简介及简单应用。
收盘价 close 这是取得该周期的收盘价;
最高价 high 这是取得该周期的最高价;
最低价 low 这是取得该周期的最低价;
开盘价 open 这是取得该周期的开盘价;
成交量 vol 这是取得该周期的成交量;
成交额 amount 这是取得该周期的成交额;
一根K线由四个价格组成即收盘价close、最高价high、最低价low、开盘价open。
上述几个函数可以编写以下几个简单的指标:
1、close>open 意思是当天的收盘价大于开盘价,反映在K线上就是当天收阳,用该指标选股所选出的股票在当天都收阳(>是数学上的大于符号)。
2、close<open 这个指标与上面的指标意思正好相反,反映在K线上就是当天收阴,用该指标选股所选出的股票都收阴(<是数学上的小于符号)。
3、close<5 意思是收盘价小于5元,用该指标选股所选出的都是低于5元以下的股票,如选低于3元的股票,把5改成3就行啦。如选高于5元的股票,把<符号改成>就OK啦!
K线的描述
阳线
close>open;{收盘价大于开盘价}
阴线
close<open;{收盘价小于开盘价}
高开
open>ref(close,1);{开盘价大于昨天的收盘价}
低开
open<ref(close,1);{开盘价小于昨天的收盘价}
跳空高开(high为最高价)
open>ref(high,1);{开盘价大于昨天的最高价}
跳空低开(low为最低价)
open<ref(low,1);{开盘价小于昨天的最低价}
以上K线的描述用到了另外一个函数REF,这是一个向前引用的函数,意思是引用若干周期前的数据。
用法:REF(X,A),引用A周期前的X值。 例如:REF(CLOSE,1),表示上一周期的收盘价,在日线上就是昨收。记住了吗,以后经常要用到的。
=============================================================================
大智慧妙用绘图函数
绘图函数的功能是在主图或副图上设定条件输出图标、直线、文字、数字、指标线、指标柱等。运用恰当使编制出的主副图指标给以视觉上的美感。
1、函数:DRAWICON
用法:DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE号图标。
说明:在图形上绘制小图标,其中TYPE可选3种图标,编码为1-3(1为红脸、2为绿脸、3为平脸)。
示例:DRAWICON(CLOSE>OPEN,LOW,1);表示当收阳时在最低价位置画1号图标,也就是红脸。
DRAWICON(CLOSE<OPEN,high,2);表示当收阴时在最高价位置画2号图标,也就是绿脸。
指标示例:
{月均线主图}
ma1:ma(close,5),colorwhite,linethick2;{画一条5日收盘价的均线,设置该线为粗白色}
ma2:ma(close,10),colorff00ff,linethick2;{画一条10日收盘价的均线,设置该线为粗粉色}
ma3:ma(close,20),color00ff00,linethick2;{画一条20日收盘价的均线,设置该线为粗绿色}
a1:=cross(ma1,ma2);{5日均线上穿10日均线,金叉}
a2:=cross(ma2,ma1);{10日均线下穿5日均线,死叉}
DRAWICON(a1,low,1);{当a1条件满足时,在最低价位置上显示红脸,表示此处可作为买入点}
DRAWICON(a2,high,2);{当a2条件满足时,在最高价位置上显示绿脸,表示此处可作为卖出点}
2、函数:DRAWLINE
用法:DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),当COND1条件满足时,在PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型。
说明:在图形上绘制直线段。
示例: DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1);表示在创20天新高与创20天新低之间画直线并且向右延长。如图:
DRAWLINE是唯一一个一句里面用到两个COND的绘图函数。因为它需要两个点来决定一直线。
COND1相当于指定K线位置(横坐标),PRICE1相当于是指定价位(纵坐标),这样一个点在平面上的位置就决定了。
DRAWLINE是从第一点画到第二点的,即有起点与终点的顺序关系:第一点出现的时间,要在第二点之前。否则线是画不出来的。
EXPAND,扩张、发展,这里是延伸的意思吧。取0,不延长;取1,延长。实际上是取大于等于1的数就延长,小于1就不延长。
指标示例:
{季均线主图}
ema1:ema(close,20),colorff00ff;{画一条20日收盘价的均线,设置该线为粉色}
ema2:ema(close,40),color00ff00;{画一条40日收盘价的均线,设置该线为绿色}
ema3:ema(close,60),colorwhite,CIRCLEDOT;{画一条60日收盘价的均线,设置该线为白色o线}
DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,HIGH>=HHV(HIGH,20),HIGH,1),colorwhite;{表示在创20天新高与创20天新低之间画直线并且向右延长。}
DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1),coloryellow;{表示在创20天新高与创20天新低之间画直线并且向右延长。}
3、函数:DRAWTEXT 说明:在图形上显示文字。
用法:DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字TEXT,可显示多行文本。
示例:DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大涨啦');表示当日涨幅大于8%时在最低价位置显示'大涨啦'字样。在某些满足条件的地方直接显示文字或字符,比显示图标要更直观一些。注意,显示的文字要用英语状态下的单引号括起。
指标示例:
{长短结合主图}
sma1:sma(close,5,1),color00ff00;{画一条5日收盘价的均线,设置该线为绿色}
sma2:sma(close,10,1),coloryellow;{画一条10日收盘价的均线,设置该线为黄色}
sma3:sma(close,60,1),colorblue,linethick2;{画一条60日收盘价的均线,设置该线为蓝色粗线}
DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大涨啦'),colorwhite;{表示当日涨幅大于8%时在最低价位置显示'大涨啦'字样。}
4、函数:POLYLINE 说明:在图形上绘制折线段。
用法:POLYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连接。
示例:POLYLINE(HIGH>=HHV(HIGH,20),HIGH);表示在创20天新高点之间画折线。
指标示例:
{长短结合主图}
sma1:sma(close,5,1),color00ff00;{画一条5日收盘价的均线,设置该线为绿色}
sma2:sma(close,10,1),coloryellow;{画一条10日收盘价的均线,设置该线为黄色}
sma3:sma(close,60,1),colorblue,linethick2;{画一条60日收盘价的均线,设置该线为蓝色粗线}
POLYLINE(HIGH>=HHV(HIGH,20),HIGH),COLORWHITE;{表示在创20天新高点之间画折线(白色)。}
5、函数:STICKLINE 说明:在图形上绘制柱线。
用法: STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH可为0---100(10为标准间距),EMPTH不为0则画空心柱。
示例:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.8,1);表示画K线中阳线的空心柱体部分。
运用要点:
⑴PRICE1和PRICE2没有顺序关系,即何者在前何者在后都不影响语句的执行。
⑵WIDTH宽度,支持小数。用1和用0.1,会有很大的差别。取4时和主图的K线宽度差不多。
以下的副图公式,画出的K线,与主图中显示的K线差不多。
指标示例:
{副图K线}
STICKLINE(C>O OR (C=O AND C>REF(C,1)),O,C,4,1),colorred;{画出红K实体}
STICKLINE((C>O AND C<>H) OR (C=O AND C>REF(C,1)),C,H,0.1,0),colorred;{画出红K上影线}
STICKLINE((C>O AND L<>O) OR (C=O AND C>REF(C,1)),L,O,0.1,0),colorred;{画出红K下影线}
STICKLINE(C<O OR (C=O AND C<=REF(C,1)),C,O,4,0),colorffcc66;{画出青K实体}
STICKLINE(C<O OR (C=O AND C<=REF(C,1)),L,H,0.1,0),colorffcc66;{画出青K影线。因为青K是实心的,所以影线从中穿过}
ma5:MA(C,5),colorwhite;
ma10:ma(c,10),colorff00ff;
绘图函数结合示例介绍完了,相信你一定有所收获吧,举一反三自己动手编个指标。不要怕失败,失败是成功之母,试试把,你一定会有收获。
==========================================================================================
大智慧条件表达式及其应用
1、条件表达式:在设计公式中,需要大量使用条件表达式,根据条件表达式的结果,作出判断,以便确定下一步该做什么,不该做什么。基本的条件表达式由“>、>=、<、<>、<=、=、and、or”等比较运算符、逻辑运算符组成,其中"and"表示并、并且,"or"表示或、或者。条件表达式的值只有2个,1和0,条件成立则返回1,条件不成立则返回0,下面举例说明:
例1:close>open{表示收盘价大于开盘价,如果成立返回1,否则这个条件表达式的值为0};
例2:close>open and close>ma(close,5){表示收盘价大于开盘价并且close大于5日均价,and 是"且、并且",意思是两个条件同时满足才能作出判断};
例3:close<ref(close,1) or close<=ref(close,2){今收盘小于昨收盘或今收盘小于等于前2天收盘价,"or"表示或、或者。意思是两个条件只要有一个条件满足就能作出判断};
说明:上面例子中,包含在半角的一对大括号"{"、"}"里的内容是注释语句,不会被运行。一个好公式设计,需要花费很多心血,时间久了有可能自己也会忘记当时是怎么设计的,此外也为了别人能看懂公式,适当的加入注释是个好习惯。
2、IF条件函数:设计公式时,条件函数IF很重要,经常都要用到,注释如下:
IF 条件函数,根据条件求不同的值。
用法:IF(X,A,B)若X不为0则返回A,否则返回B
例如:IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值.
3、CROSS 交叉函数,这也是常用的函数。用法:CROSS(A,B) ,A:变量或常量,判断交叉的第一条线。 B:变量或常量,判断交叉的第二条线。 例如:CROSS(MA(CLOSE,5),MA(CLOSE,10)),5日均线与10日均线金叉;CROSS(CLOSE,12),价格由下向上突破12元。
明白了条件表达式的意义和IF条件函数、CROSS 交叉函数后,我们来设计二个有点实用价值的公式:
第一个公式:
{135战法}
股道短:=MA(C,13);{13日收盘价的均线,":=" 在图上不显示均线}
股道中:=MA(C,34);{34日收盘价的均线,":=" 在图上不显示均线}
股道长:=MA(C,55);{55日收盘价的均线,":=" 在图上不显示均线}
短交长:=CROSS(股道短,股道长);{股道短向上穿过股道长,金叉}
中交长:=CROSS(股道中,股道长);{股道中向上穿过股道长,金叉}
粗选:短交长 OR 中交长,COLORYELLOW;{短交长或者中交长这两个条件有一个成立显示黄色脉冲信号}
空头排列:=股道短<股道中 AND 股道短<股道长 AND 股道中<股道长;{三个条件同时成立}
走平上行:=股道短>=REF(股道短,1);{大于等于昨日的13日收盘价均线}
红杏出墙:O<股道短 AND C>股道短 AND 走平上行 AND 空头排列,COLORRED;{四个条件同时成立显示红色脉冲信号}
多头排列:=股道短>股道中 AND 股道短>股道长 AND 股道中>股道长;{三个条件同时成立}
满园春色:O<股道短 AND C>股道短 AND 多头排列,COLOR00FF00;{三个条件同时成立显示绿色脉冲信号}
基础:=股道长>REF(股道长,1) AND 股道短>股道长 AND 股道中>股道长;{三个条件同时成立}
梅开二度:基础 AND CROSS(股道短,股道中),COLORWHITE;{两个条件同时成立显示白色脉冲信号}
三线齐推:O<股道短 AND O<股道中 AND O<股道长 AND C>股道短 AND C>股道中 AND C>股道长,COLORFFCC66;{六个条件同时成立显示浅蓝色脉冲信号}
第二个公式:
{启动在即}
趋势:3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1),coloryellow;
启动在即: IF(CROSS(趋势,3),100,0),colorff00ff;
秘密买点: IF(趋势<=3,25,0),color00ff00;
机构建仓: IF(趋势<5,45,0),colorwhite;
公式解释:
趋势:3*移动平均((收盘价-最低值(最低价,27))/(最高值(最高价,27)-最低值(最低价,27))*100,5,1)-2*移动平均(移动平均((收盘价-最低值(最低价,27))/(最高值(最高价,27)-最低值(最低价,27))*100,5,1),3,1),coloryellow;{画一条黄色趋势线,数字27表示周期,也就是27天,数字5和3也表示周期5天和3天}
股价启动在即: 条件函数(交叉函数(趋势,3),100,0),colorff00ff;{趋势上穿坐标3,在0至100坐标处显示粉色脉冲信号}
捕食秘密买点: 条件函数(趋势<=3,25,0),color00ff00;{趋势小于等于坐标3,在0至25坐标处显示绿色脉冲信号}
机构建增补仓: 条件函数(趋势<5,45,0),colorwhite;{趋势小于坐标5,在0至45坐标处显示白色脉冲信号}
以上2个指标建议你对照指标语句和图反复多看几遍,你也可以动手修改如修改脉冲信号的长度等,更重要的是要理解指标组合、嵌套的含义,只有读懂了指标,你才能把自己的想法、理念编成指标。
=============================================================================
大智慧--妙用线形函数
一、线形函数
线形函数要和其它指标函数一起用才能发挥效力,因为它们都是描述其它指标函数的。正确用好线形函数可以使主副图指标显示丰富多彩,色彩缤纷。
1、函数:STICK 说明:画棒状线,STICK的英文是棍、棒的意思。
如副图公式:C>REF(C,1) AND C>REF(C,2),STICK;
2、函数:COLORSTICK 说明:以零轴为中心画彩色棒状线,零轴下为阴线颜色,零轴上为阳线颜色,这样零轴就如楚汉交界,泾渭分明了。
如副图公式:C-REF(C,1),COLORSTICK;
3、函数:LINESTICK 说明:同时画棒状线与指标线。LINE是线,STICK是棒,LINESTICK自然是线棒一起显示了。如副图公式:
A:=C-REF(C,1);
A,LINESTICK;
即想显示指标线和棒状线,又想以零轴为中心上下显示两种彩色棒状线,可以用分开的两句语句来达到目的,如副图公式:
A:=C-REF(C,1);
A,LINESTICK;
A,COLORSTICK;
4、函数:VOLSTICK 说明:画成交量柱状线。这是专门为显示成交量设计的。如副图公式:
VOL,VOLSTICK;
5、函数:CROSSDOT 说明:画叉状线或x状线。CROSS是交叉,DOT是点。如副图公式:
ma1:ma(c,30),CROSSDOT;
6、函数:CIRCLEDOT 说明:画小圆圈线,如副图公式:
ma1:ma(c,30),CIRCLEDOT;
7、函数:LINETHICK 说明:改变指标线粗细。取1、2、3、4、5、6、7放在LINETHICK后面如:LINETHICK2,数字越大,线越粗,最大可取7。如副图公式:
例1:ma1:ma(close,30),COLORFF00FF,linethick2;
例2:A:=C-REF(C,1);
A,COLORSTICK,LINETHICK4;
8、函数:POINTDOT 说明:画点状线,POINT是点、加点的意思。这个点状线看起来有点太小了,可以用加粗线函数。如副图公式:
ma1:ma(c,30),COLOR00FF00,POINTDOT,LINETHICK2;
我们编个指标,看看都用了哪些线形函数。
{顶底指标}
股价趋势:3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1),COLORFF00FF,LINETHICK2;
底部警戒:10,COLORFFCCCC,POINTDOT;
买入警戒:IF(股价趋势<=10,40,0),stick,linethick3,coloryellow;
买入信号:IF(CROSS(股价趋势,底部警戒),80,0),stick,linethick3,colorblue;
强弱分界:50,COLORWHITE,POINTDOT,LINETHICK2;
顶部警戒:90,COLORFFCC66,POINTDOT;
卖出警戒:IF(股价趋势>=85,40,0),stick,linethick3,colorred;
卖出信号:IF(CROSS(股价趋势,顶部警戒),80,0),stick,linethick3,color00ff00;
指标解析:
{顶底指标}
股价趋势:3*移动平均((收盘价-最低值(最低价,27))/(最高值(最高价,27)-最低值(最低价,27))*100,5,1)-2*移动平均(移动平均((收盘价-最低值(最低价,27))/(最高值(最高价,27)-最低值(最低价,27))*100,5,1),3,1),COLORFF00FF,LINETHICK2;
底部警戒:10,COLORFFCCCC,点状线;
买入警戒:条件函数(股价趋势<=10,40,0),棒状线,linethick3,coloryellow;{黄粗棒状}
买入信号:条件函数(交叉函数(股价趋势,底部警戒),80,0),棒状线,linethick3,colorblue;{蓝粗棒状}
强弱分界:50,COLORWHITE,点状线,LINETHICK2;{粗点状线}
顶部警戒:90,COLORFFCC66,点状线;
卖出警戒:条件函数(股价趋势>=85,40,0),棒状线,linethick3,colorred;{红粗棒状}
卖出信号:条件函数(交叉函数(股价趋势,顶部警戒),80,0),棒状线,linethick3,color00ff00;{绿粗棒状}
了解了以上线形函数,学着把自己手中的指标美化一下吧,以上每个例子你都可以在大智慧里试试,亲身体会一下。祝大家成功。
=========================================================================================
大智慧移动平均函数简介。
指标的结构:
1、一个完整的指标要有自己的名称,如百万抄底、稳健追涨等。一是便于查询使用;二是没有名称在指标编辑器中不能测试通过。
2、一条指标语句要有语句名。如:var1:ma(close,5);var1就是语句名,多条语句可按顺序排列如var1、var2、var3等。
3、在编公式中所运用的标点符号均是在英语状态下的符号。
4、在编制公式中,有要显示的句子和不显示的句子,要显示用“:”不要显示用“:=”,
一个源码中最多只能有16个可显示的句子,并且每句结束后要加分号“;”。如var1:ma(close,5);在图上显示5日均线;var1:=ma(close,5);在图上不显示该条均线,表示其它语句要引用它。
5、开盘价(open)、收盘价(close)、最高价(high)、最低价(low),成交量(vol)在公式中可用该函数的第一个字母代替,如var1:ma(c,5);。因此在编公式时不要单独用这几个字母用做语句名等。
6、设计计算参数:我们有时需要调节公式中的常数来看公式的表现,可以直接进入公式修改,更方便的方法是用参数来指代公式中的常数,需要调节公式时不需进公式只需调节参数就可以了。比如,要修改REF(close,1)中的第二个参数1,这时可以把它设为一个计算参数N,公式写成REF(close,N),到时调节N即可。计算参数包括参数名称、最小值、最大值、缺省值四个部分。参数名称用于标识参数,本例我们将参数名定位N,计算公式时采用缺省值计算,而最小值和最大值是参数的调整范围。
7、技术指标分为主图和副图,默认状态下指标编写完成后经测试通过确认后是副图;如果是主图指标,测试通过确认之前在指标编辑器中选择主图叠加即可。
下面进入正题。
移动平均函数大致有四种:
1、MA 简单移动平均,意思是求简单移动平均。 用法:MA(X,N),求X的N日移动平均值。例如:MA(CLOSE,10),表示求10日均价。
均线的画法:计算N日内收盘价的算术平均值,公式为:MA(X,N)表示X的N日平均。
例如:
MA1: MA (CLOSE,5) , coloryellow ;
表示为:语句名 画一条5日收盘价的均线 设置该线为黄色
2、EMA 指数平滑移动平均 意思是求指数平滑移动平均。 用法:EMA(X,N),求X 的N日指数平滑移动平均。例如:EMA(CLOSE,30),表示求30日指数平滑均价。
均线的画法:计算N日内收盘价的算术平均值,公式为:EMA(X,N)表示X的N日平均。
例如:
EMA1: EMA (CLOSE,5) , colorff00ff;
表示为:语句名 画一条5日收盘价的均线 设置该线为粉色
3、DMA 动态移动平均 意思是求动态移动平均。 用法:DMA(X,A),求X的动态移动平均,A必须小于1。例如:DMA(CLOSE,VOL/CAPITAL),表示求以换手率作平滑因子的平均价。(CAPITAL是流通盘大小函数)
均线的画法:计算A收盘价的算术平均值,公式为:DMA(X,A)表示X的N日平均。
例如:
DMA1: DMA (CLOSE,VOL/CAPITAL) , colorff00ff;
表示为:语句名 画一条以换手率作平滑因子收盘价的均线 设置该线为粉色
4、SMA 移动平均 求移动平均。 用法:SMA(X,N,M),求X的N日移动平均,M为权数。N必须大于M。 例如:SMA(CLOSE,30,1),表示求30日移动平均价。
均线的画法:计算N日内收盘价的算术平均值,公式为:EMA(X,N)表示X的N日平均。
例如:
SMA1: SMA (CLOSE,30,1) , colorff00ff;
表示为:语句名 画一条30日收盘价的均线 设置该线为粉色
明白了上面这些函数用法,我们开始编第一个指标:
给指标起个名,就叫"月均线主图"吧!
ma1:ma(close,5),colorwhite;{画一条5日收盘价的均线,设置该线为白色}
ma2:ma(close,10),colorff00ff;{画一条10日收盘价的均线,设置该线为粉色}
ma3:ma(close,20),color00ff00;{画一条20日收盘价的均线,设置该线为绿色}
......根据个人需要可画多条线。
如果想设置参数,按参数名称 最小值 最大值 缺省值在指标编辑器中添上如下值:
n1 1 100 5
n2 1 100 10
n3 1 100 20
把指标中的5、10、20分别改为n1、n2、n3即可。
第二个指标:起名"季均线主图"
ema1:ema(close,20),colorff00ff;{画一条20日收盘价的均线,设置该线为粉色}
ema2:ema(close,40),color00ff00;{画一条40日收盘价的均线,设置该线为绿色}
ema3:ema(close,60),colorwhite;{画一条60日收盘价的均线,设置该线为白色}
.......根据个人需要可画多条线。
第三个指标:起名"长短结合主图"
sma1:sma(close,5,1),color00ff00;{画一条5日收盘价的均线,设置该线为绿色}
sma2:sma(close,10,1),coloryellow;{画一条10日收盘价的均线,设置该线为黄色}
sma3:sma(close,60,1),colorblue;{画一条60日收盘价的均线,设置该线为蓝色}
DMA 动态移动平均很少用到,在这里就不举例了,有兴趣的朋友发挥吧。
附颜色代码供选择设置:
各种颜色表示:
红色colorred、灰色colorgray、绿色color00ff00、黄色coloryellow、蓝色colorblue、白色colorwhite.
另外颜色还有:
粉红colorf00ff0、草绿color00ff00、淡蓝colorf0f000、紫色colorff0099、金黄色color008364、紫红color000999、综色color0055ff、深黄色color00cccc、紫罗蓝colore66878、天蓝色colorff937f 深草绿color399c7f
实际上只要在color后面加上0-9、A-F中任6个数字字母组成,如要其它颜色,可自己调。
===============================================================================================
大智慧经典指标的原理、算法及用法
BIAS、 CCI、KDJ、威廉指标(William's %R)、主力进出、MACD、散户线、VOL、MA移动平均线、心电图、脑电波、主力买卖、MTM动力指标、瀑布线
一、 BIAS
名称:乖离率
算法:当日收盘价与移动平均线之间的差距;
用法:
正的乖离率愈大,表示短期获利愈大,则获利回吐的可能性愈高;负的乖离率愈大,则空头回补的可能性愈高。
按个股收盘价与不同天数的平均价之间的差距,可绘制不同的BIAS线。
参数:系统绘制三条BIAS线,分别为收盘价与L1日、L2日、L3日移动平均价的差。
二、 CCI
名称:顺势指标
原理:用目前股价的波动程度和常态分布范围比较,来得出超买或超卖的结论,用于捕捉趋势反转点。
算法:典型价格与典型价格的N日移动平均的差除以N日内典型价格的平均绝对偏差。
用法:
当CCI小于-100时为买入信号,CCI大于100时为卖出信号;
股价产生背离现象时,是一项明显的警告信号。
参数:N 设定计算移动平均的天数,一般为14。
三、 KDJ
名称:随机指标
原理:用目前股价在近阶段股价分布中的相对位置来预测可能发生的趋势反转。
算法:对每一交易日求RSV(未成熟随机值)
RSV=(收盘价-最近N日最低价)/(最近N日最高价-
最近N日最低价)×100
K线:RSV的M1日移动平均 D线:K值的M2日移动平均
J线:3×D-2×K
参数:N、M1、M2 天数,一般取9、3、3
用法:
1.D>80,超买;D<20,超卖;J>100%超卖;J<10%超卖
2.线K向上突破线D,买进信号;线K向下跌破线D,卖出信号。
3.线K与线D的交叉发生在70以上,30以下,才有效。
4.KD指标不适于发行量小,交易不活跃的股票;
5.KD指标对大盘和热门大盘股有极高准确性。
四、 W&R
名称:威廉指标(William's %R)
原理:用当日收盘价在最近一段时间股价分布的相对位置来描述超买和超卖程度。
算法:N日内最高价与当日收盘价的差,除以N日内最高价与最低价的差,结果放大100倍
参数:N 统计天数 一般取14天
用法:
1.低于20,超买,即将见顶,应及时卖出
2.高于80,超卖,即将见底,应伺机买进
3.与RSI、MTM指标配合使用,效果更好 五、主力进出
名称:主力进出
原理:量价指标。
用法:
绿线为短期主力运作轨迹,黄线为中期主力运作轨迹,白线为长期主力运作轨迹。
? 主力进出指标的绿线向上突破黄线、白线且三线向上发散,表示主力有效控盘,可逢底介入,持股待涨。
? 主力进出指标的绿线上涨过快远离黄、白线,出现较大乖离,表示短线获利筹码较多,宜注意控制风险,可适当卖出。
? 当绿线回落至黄、白线处受支撑时,而黄白线发散向上,表示上升趋势未改,前期股价回落仅是途中的回调,可适量跟进。
? 主力进出三线“死亡交叉”,盘口呈空头排列,投资者宜尽快出局。
? 主力进出三线相近并平行向下时,表明主力尚未进场或正在出货,此时不宜介入。
? 主力进出是一种趋势指标,但趋势改变信号有时会出现滞后现象,此时就要用主力买卖指标加以配合使用。
六、 MACD
名称:平滑异同平均线(Moving Average Convergence Divergence)
原理: MACD(Moving Average Convergence Divergence)中文名称:平滑异同移动平均线,是由Gerald Appel首先在Systems And Forecasts一书中发表,主要是利用长短期的二条平滑平均线,计算两者之间的差离值,作为研判行情买卖之依据。
算法:DIFF线 收盘价短期、长期指数平滑移动平均线间的差
DEA线 DIFF线的M日指数平滑移动平均线
MACD线 DIFF线与DEA线的差,彩色柱状线
参数:SHORT(短期)、LONG(长期)、M 天数,一般为12、26、9
用法:
1.DIFF、DEA均为正,DIFF向上突破DEA,买入信号。
2.DIFF、DEA均为负,DIFF向下跌破DEA,卖出信号。
3.DEA线与K线发生背离,行情反转信号。
4.分析MACD柱状线,由正变负,卖出信号;由负变正,买入信号。
七、散户线
名称:散户线
原理:该指标给出散户线值,通过观察散户值增减变化可以了解主力的操作行为。
用法:
1、股价在相对低位震荡整理,散户值逐渐减少,表明主力在悄悄建仓,可在起涨时果断介入。
2、随着股价节节攀升,散户值继续减少,表明主力还在搜集筹码,该股将有大行情,可逢低买入,波段持股。
3、股价攀升,散户值显著增加,表明主力在拉高出货应及时获利了结。
4、股价高位盘整,散户值明显增加,表明主力出货。
注意:要结合股价走势历史的综合研判散户值,从而分析出主力操作行为。既要注意方向的变化,又要注意变化量的大小。要特别注意高控盘股不能简单机械的照搬上述用法。结合控筹线使用。 八、 VOL
名称:成交量
VOLUME线 画法:若今日收市价高过昨日收市价,成交量画红色空心实体;否则画绿色实心。
MA1、MA2、MA3分别为成交量的M1日、M2日、M3日均线
参数:M1、M2、M3一般取5日、10日、20日 九、MA
移动平均线
绘制收盘价的P1日、P2日、P3日、P4日移动平均线
P1、P2、P3、P4一般取5日、10日、20日、60日
用法:葛氏八法则
1.短期均线向上穿越长期均线,买入信号
2.短期均线向下跌破长期均线,卖出信号 十、心电图
名称:心电图
原理:比较个股和大盘走势相对强弱的指标。
用法:
1、当心电图上升的时候,说明它比其他多数股票走势强
2、当心电图下降的时候,说明它比其他多数股票走势差
3、当心电图基本走平或者波动不大的时候,说明无人关照,属于散户行情。
4、能够反映心电图趋势的是5日和10日均线。操作上也很简单,如果心电图的走势线上 冲过5日和10日均线,且从最低价向上走高的幅度超过7%,则可买进。如果向下跌破5日均线,应该考虑抛出,如果又跌破10日均线,应该坚决抛出。假如从最高点向下的幅度超过了7%,也应该确认破位有效,应该坚决抛出。
5、背离指标:如果股价收盘创新高但心电图没有创新高,则形成顶背离,应注意抛出。如果股价收盘创新低,但心电图没有创新低,则说明有大资金在关照,可以留心并找一个相对的时机买进。
6、与该指标同时相伴发生作用的是量比指标。如果该指标上升,同时量比指标也上升,表明有机构主动介入,所以量大,这种强势是有效的。但过一段时间之后,强弱值上升,量比应该是下降或者持平的,这说明筹码的锁定性好。如果上涨了相当长时间,强弱值上升,量比指标突然极端放大,这就是利用上涨出货的例子。强弱指标下降的时候,如果量比上升,这是放量出货的情况。强弱指标连续下跌后,量比下降或者上升都没有意义。
7、如果心电图远离均线,犹如人过度透支平时的能量,股价将产生反抽作用。
8、心电图与均线上升,说明有主力进入;反之如果心电图与均线下降,则说明有主力出货。该法则对于我们判断主力进入的时机有重大作用。 十一、脑电波
名称:脑电波
原理:收盘价相对位置的累加值
用法:
1、脑电波上升且在均线之上,可买进或者持有;脑电波下降且在均线之下,应卖出或者不买进。脑电波处于平坦期,则观望。
2、脑电波远离均线,将产生反抽作用。
3、警告:如果心电图上升但脑电波下降,甚至在均线之下,则说明主力在玩花招,在暗暗地动脑筋,应防止主力随时可能出货。如果心电图下降,但脑电波上升,甚至在均线之上,则应防止主力在悄悄建仓,股价随时可能一跃而起。
4、脑电波和心电图同时上升或者在均线之上,可放心持有,脑电波和心电图同时下降或者在均线之下,应坚决出货。
对于大盘来说,我们倾向于认为脑电波只要在均线之下,就是弱市,就不能买进股票,就要谨慎;脑电波在均线之上,就是强市,就可以继续持有股票。 十二、主力买卖
名称:主力买卖
原理:趋向指标
用法: 绿线为短期趋势线,黄线为中期趋势线,白线为长期趋势线。
1、主力买卖与主力进出配合使用时准确率极高。 2、当底部构成发出信号,且主力进出线向上时判断买点,准确率极高。 3、当短线上穿中线及长线时,形成最佳短线买点交叉形态(如底部构成已发出信号或主力进出线也向上且短线乖离率不大时)。
4、当短线、中线均上穿长线,形成中线最佳买点形态(如底部构成已发出信号或主力进出线也向上且三线均向上时)。 5、当短线下穿中线,且短线与长线正乖离率太大时,形成短线最佳卖点交叉形态。 6、当短线、中线下穿长线,且是主力进出已走平或下降时,形成中线最佳卖点交叉形态。
7、在上升途中,短、中线回落受长线支撑再度上行之时,为较佳的买入时机。
8、指标在0以上表明个股处于强势,指标跌穿0线表明该股步入弱势。 十三、MTM动力指标
名称:MTM动力指标
算法:
MTM线 当日收盘价与N日前的收盘价的差
MTMMA线 对上面的差值求N日移动平均
参数:N 间隔天数,也是求移动平均的天数,一般取6
用法:
1.MTM从下向上突破MTMMA,买入信号
2.MTM从上向下跌破MTMMA,卖出信号
3.股价续创新高,而MTM未配合上升,意味上涨动力减弱
4.股价续创新低,而MTM未配合下降,意味下跌动力减弱
5.股价与MTM在低位同步上升,将有反弹行情;反之,从高位同步下降,将有回落走势。 十四、瀑布线
名称:瀑布线
原理:均线类指标
用法:
瀑布线是趋势性指标,因其在运行的过程中,形态与瀑布极其相似,故得名为瀑布线。
? 瀑布线在低位粘合,短线瀑布线向上穿越长线瀑布线并向上发散,买入。
? 瀑布线在高位粘合,短线瀑布线向下穿越长线瀑布线并向下发散,卖出。
? 当长中短期瀑布线依次由下向上排列形成多头排列时,可持股。
? 当长中短期瀑布线依次由上向下排列形成空头排列时,应空仓。