编写公式系统不求人.docx
《编写公式系统不求人.docx》由会员分享,可在线阅读,更多相关《编写公式系统不求人.docx(12页珍藏版)》请在冰豆网上搜索。
编写公式系统不求人
编写公式系统不求人
1.基本公式编写实例
我们经常见到了一些基本的表达方法、方式,今天我们的任务是学习一些常见的概念如何编写,例如上面所列出来的放量、上涨等等,因为这些都是在公式编写过程当中要用到的基本形态特征,许多的技术指标的选股条件都是由它们组成的。
1.1放量
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.2缩量
1、今日比昨日的成交量缩小了1倍:
VOL/REF(VOL,1)<0.5;
2、今日的五日均量比五天前的五日均量缩小了一半:
AA:
=MA(VOL,5);
BB:
=REF(AA,5);
AA/BB<0.5;
3、今天的成交量不足整个流通盘的0.5%:
VOL/CAPITAL<0.5/100;
1.3上涨
1、今日涨幅达到了7%以上:
CLOSE/REF(CLOSE,1)>1.07;
2、十日均价继续上涨:
AA:
=MA(CLOSE,10);
BB:
=REE(AA,1);
AA>BB;
1.4下跌
收阳、收阴:
1、当天收阳:
CLOSE>OPEN;
2、当天收阴:
CLOSE<OPEN;
1.5高开、低开
1、当天股价高开,即开盘高于昨日收盘:
OPEN>REF(CLOSE,1);
2、当天股价低开:
OPEN<REF(CLOSE,1);
1.6跳空
跳空亦有向上和向下两种:
当日开盘在昨日最高之上,即为向上跳空:
OPEN>REF(HIGH,1);
反之,开盘小于昨日的最高价,为向下跳空:
OPEN<REF(LOW,1);
1.7放量上攻
AA:
=VOL/REF(VOL,1)>2;{成交量是昨日的两倍}
BB:
=CLOSE/REF(CLOSE,1)>1.07;{涨幅大于7%}
AAANDBB;
1.8高开高走
AA:
=OPEN>REF(CLOSE,1);{开盘价大于昨收}
BB:
=CLOSE>OPEN;{当日收阳线}
AAANDBB;
1.9创新高
创新高指当日最高价是最近一段时间的最高价:
HIGH=HHV(HIGH,N);
其中的HIGH为当期最高价,HHV(X,N)是求N周期内X最高值。
因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0。
1.10横盘整理
横盘整理指最近一段时期价格在一定幅度之内摆动:
(HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE<0.05;
其中的LLV(X,N)是求N周期内X最低值。
因此该公式表示10日收盘价振幅振幅在5%以内。
2.公式组合实例
下面介绍如何对基本公式进行组合,描述一些简单的K线形态。
在编写公示前,需要准确对K线形态进行定义。
2.1向上跳空之后两天内并未回补.
定义:
实际上就是昨天发生了跳空缺口,这两天的最低价一直在两天前的最高价之上。
AA:
=REF(OPEN,1)>REF(HIGH,2);
BB:
=REF(LOW,1)>REF(HIGH,2);
CC:
=LOW>REF(HIGH,2);
AAANDBBANDCC;
仔细一想,若BB成立,AA一定成立,AA实际上没有存在的必要。
更简单的方法,
下面的一句话可以的上面的四句:
COUNT(LOW>REF(HIGH,2),2)=2;
2.25日,10日,30日均线多头排列
定义:
均线多头排列,是指从短周期到长周期均线,从上而下的依次排列
AA:
=MA(CLOSE,5);
BB:
=MA(CLOSE,10);
CC:
=MA(CLOSE,30);
T1:
=AA>BBANDBB>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>BBANDBB>CC;
COUNT(T1,4)=4;
2.3逃顶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<b2andb、今日的阴线实体较长,我们用开盘价和收盘价相比,长度大于4%:
a1/a2>1.04;5、昨日K线的特征,是一根十字形态的K线,并且在左右两根K线之上,分别表达为:
a、昨日跳开,高于前天的收盘:
bb:
=b1>c3
b、昨日收盘同样在缺口之上:
andb2>c3
c、线形实体长度很小,也就是昨日开盘和收盘之差比昨日开盘的值小于0.01:
andabs(b1-b2)/b1<0.01
d、K线有上下影线,可以表示为最高价和最低价不等于收盘价也不等于开盘价:
andb3>b1andb3>b2andb4<b1andb4<b2
e、当日的最高价为20天以来的最高价:
andb3=hhv(high,20);
6、前日K线的特征:
股价大幅上扬,幅度较前一日收盘高出4%并且收盘大于开盘:
cc:
=c2/ref(close,3)>1.04andc2>c1;
综合选股条件:
最后我们将三天的K线特征结合起来,合成一个最后的条件就是由图所示内容:
aaandbbandcc最终结果就是(可以直接加进通达信公式编辑器):
a1:
=open;
a2:
=close;
a3:
=high;
b1:
=ref(open,1);
b2:
=ref(close,1);
b3:
=ref(high,1);
b4:
=ref(low,1);
c1:
=ref(open,2);
c2:
=ref(close,2);
c3:
=ref(high,2);
c4:
=ref(low,2);
aa:
=a11.04;
bb:
=b1>c3andb2>c3andabs(b1-b2)/b1<0.01andb3>b1andb3>b2andb4cc:
=c2/ref(close,3)>1.04andc2>c1;
aaandbbandcc;
如果我们想把这个选股公式改为指标公式,修改最后一个语句就可以了。
将aaandbbandcc;改为DRAWICON((AAANDBBANDCC),HIGH*1.02,2);这时在符合条件的K线上方出现了一个绿色的向下箭头,提示卖出。
效果如下:
黄昏之星是一个卖出信号,与之相对应的是一个买入信号,称为早晨之星,如下图:
指标源码请参考通达信中的相关选股公式。
(省)
2.4突破底部横盘整理创新高
定义:
股价突破长期盘整区间,之后放量上攻进入主升段。
“长期”设定为150天;“横盘”设定股价在150日均线上下15%波动;放量;并且股价创下150天以来的历史新高。
首先用公式描述放量
a、将会使用5日均量来进行比较,成交量比昨日成交量放大两倍;
b、V1是五日均量,REF(V1,1)就是昨日的均量;
V1:
=MA(VOL,5);
V2:
=VOL/REF(V1,1)>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.15ANDREF(PZ5,1)<0.15;3、今天创下历史新高,也就是今天的最高价是150天内的最高价!
TP1:
HHV(HIGH,M);TP:
=HIGH=TP1;
综合三个条件的最后的逻辑判断式就是我们的最后结论:
V2ANDPZANDTP(参数M=150天)
最终结果就是:
(参数M=150天)
V1:
=MA(VOL,5);
V2:
=VOL/REF(V1,1)>2;
PZ1:
=MA(CLOSE,M);
PZ2:
=HHV(HIGH,M);
PZ3:
=LLV(LOW,M);
PZ4:
=(PZ2-PZ1)/PZ1;
PZ5:
=(PZ1-PZ3)/PZ1;
PZ:
=REF(PZ4,1)<0.15ANDREF(PZ5,1)<0.15;
TP1:
HHV(HIGH,M);
TP:
=HIGH=TP1;
V2ANDPZANDTP;
注意:
如果源码加入到公式编辑器后显示错误,请多注意标点符号,需要将中文模式下的标点改成英文模式下的标点,例如:
“:
”改成“:
”,“,”改成“,”以及括号等等。