通达信缠论顶底分型选股公式(一笔优化版)
上周写破底翻选股公式的时候就想到底分型,但是好久没有研究缠论,底分型包含关系的处理细节忘记了
,周末复习之后编写了底分型选股公式。
一、普通底分型
普通的底分型比较简单,相邻三根K线,中间一根线的高点是三根K线中最低的,中间一根线的低点也是三根K线中最低的。(如下图)
普通底分型:
H1:=REF(H,1)二、底分型(包含关系处理)
涉及到底分型包含关系的处理相对麻烦一些,而且我想把普通底分型和涉及包含关系的底分型统一起来编写,难度更高。
1、包含关系
包含关系:前后两根K线,后一根的最高价和最低价都位于前一根的高低价之间,或者前一根的最高价和最低价都位于后一根的高低价之间。(如下图)
2、包含关系的处理
本文只涉及到底分型,所以只处理下降K线这种情况。
下降K线:出现包含关系之后,前面的两根K线呈现下降关系,第二根K线的最高价低于前一根K线的最高价,第二个K线的最低价也低于前一根K线的最低价。(如下图K线1和2)
包含关系的处理:当前两根是下降K线时,出现包含关系,取较低的最高价,较低的最低价。(如下图K线2和3)
3、底分型公式
实际的行情包含关系可能不止2根,在编写公式时,先找2根K线形成的下降K线组合(如上图K线1和2),然后用函数计算区间的周期数T,再用LLV计算区间的最低的最高价LH和最低的最低价LL,当天最高价大于LH并且最低价大于LL,并且是区间第一次出现这种情况,形成底分型,出信号。
DOWN:=LREF(LH,1)ANDL>REF(LL,1);{当天最高价大于LH并且最低价大于LL}DFX:DIANDCOUNT(DI,T)=1;{当天最高价大于LH并且最低价大于LL,并且是区间第一次,形成底分型};复盘看了一下,底分型很多,暂时没有发现BUG,如果发现了,可以告诉我。在处理K线的关系时,只考虑了最高价和最低价,没有考虑开盘价和收盘价,也没有考虑K线的阴阳。因此还是有过滤的空间的,加一些条件就可以过滤不少信号。
三、通达信底分型选股公式
选股公式需要加入一些过滤条件,不然信号太多了。
底分型选股公式:
DOWN:=LREF(LH,1)ANDL>REF(LL,1);DFX:=DIANDCOUNT(DI,T)=1;KX:=C>OAND(C-O)/O*100>3;{涨幅大于3%的阳线}HHH:=HHV(H,30);{30日最高价}LLL:=LLV(L,30);{30日最低价}DW:=(O-LLL)/(HHH-LLL)*100<30;{开盘价位于最近30日高低区间的30%以下,即开盘价位于相对低位}XG:DFXANDKXANDDW;{底分型,涨幅3%以上,位于低位};在前文《通达信底分型选股公式,处理了包含关系》中介绍了缠论底分型,并编写了选股公式。底分型条件比较容易满足,因此产生的信号比较多。有热心网友提出,可以用顶底分型构成一笔过滤信号。
缠论一笔的构成条件:两个相邻顶分型和底分型之间,至少存在一根不属于顶分型或者底分型的K线,这样就构成了一笔,一笔至少有五根互相不包含的K线。(如下图)
一、顶底分型主图公式
根据缠论一笔的条件,需要先编写顶分型和底分型公式。底分型公式在前文中已经写过,这里就不重复了。顶分型编写方法与底分型类似,只需稍作改动即可。
顶底分型主图公式(处理了包含关系)
UP:=H>REF(H,1)ANDL>REF(L,1);{上升K线}T:=BARSLAST(UP);{上升K线形成后的区间周期数T}HL:=HHV(L,T+1);{区间的最高的最低价,T+1包含了上升K线2}HH:=HHV(H,T+1);{区间的最高的最高价,T+1包含了上升K线2}DING:=L二、顶底分型选股公式
思路:先编写顶分型和底分型,计算顶分型距离现在的周期数TDING以及下降K线距离现在的周期数T1,TDING与T1的距离大于等于3(如下图),即顶底分型之间至少有一根独立K线,同时底分型成立,发出信号。
顶底分型选股公式(构成一笔的底分型)
UP:=H>REF(H,1) AND L>REF(L,1);
T2:=BARSLAST(UP);
HL:=HHV(L,T2+1);
HH:=HHV(H,T2+1);
DING:=L
DINGFX:=DING AND COUNT(DING,T2)=1;{顶分型}
DOWN:=L
T1:=BARSLAST(DOWN);
LH:=LLV(H,T1+1);
LL:=LLV(L,T1+1);
DI:=H>REF(LH,1) AND L>REF(LL,1);
DIFX:=DI AND COUNT(DI,T1)=1;{底分型}
TDING:=BARSLAST(DINGFX);{顶分型距离当前的周期数}
YBD:=DIFX AND TDING-T1>=3;{顶分型成立与下降K线成立的之间的周期数大于3,即至少有一根独立K线}
KX:=C>O AND (C-O)/O*100>3 AND (C-L)/(H-L)>0.6;{涨幅大于3%的阳线}
HHH:=HHV(H,30);{30日最高价}
LLL:=LLV(L,30);{30日最低价}
DW:=(O-LLL)/(HHH-LLL)*100<30;{开盘价位于最近30日高低区间的30%以下,即开盘价位于相对低位}
XG:YBD AND KX AND DW;{底分型,构成一笔,K线涨幅3%以上,位于低位};
优化前后对比(如下图)
注意点:没有对一笔是否结束进行判断,底分型可能是中继分型,并不是真正的底。
我来说两句