本文将为大家介绍头肩底形态选股公式的编写方法,相较于前两篇文章介绍的N字形态和W底形态,头肩底形态更为复杂,包含3个波谷和2个波峰。
头肩底是一种反转形态,在下降趋势之后形成,其完成标志着趋势的改变。该形态包含三个连续的波谷,中间的波谷(头部)最深,外面的两个波谷(左肩、右肩)较浅。理想情况下,左、右肩的高度和宽度是相等的。该形态中间的波峰可以连接起来形成颈线。(如上图)
一、头肩底形态指标公式
总体思路:计算3个波谷的值以及波谷距离当前的周期数,计算2个波峰的值以及波峰距离当前的周期数,根据计算的结果,来处理波谷、波峰的相互关系。(如下图)公式用了12个条件,公式中参数可以自行调整。
1、条件A1、A2。设定头肩底形态的大概框架,限定头肩底形态的大小。编写公式时用波谷2到波峰1的涨幅、波峰1到波谷1的跌幅来限制。
A1:=(BF1-BG2)/BG2*100<40;
A2:=(BG1-BF1)/BF1*100>-20;
2、条件A3、A4、A5、A6、A7。处理三个波谷的关系,波谷2要低于波谷1和波谷3,波谷1和波谷3不能偏离太远。另外编写公式使用收盘价ZIG转向波谷值,为了防止长下影线破坏头肩底形态,所以要对最低价ZIG转向波谷值进行限制。
A3:=BETWEEN((BG1-BG2)/BG2*100,3,15);
A4:=BETWEEN((BG3-BG2)/BG2*100,3,15);
A5:=BETWEEN((BG1-BG3)/BG3*100,-5,5);
A6:=BETWEEN((BF1-BF2)/BF2*100,-5,5);
A7:=BGL2<BGL1 AND BGL2<BGL3;
3、条件A8、A9、A10。限制波峰1到波谷1,波谷3到波峰2的周期数,以及波峰2到波峰1的周期数,避免周期数太少,造成形态畸形。
A8:=BFB1-BGB1>3;
A9:=BGB3-BFB2>3;
A10:=BETWEEN(BFB2-BFB1,10,50);
4、条件A11、A12。收盘价上穿波峰1最高价(最高价ZIG转向波峰1的值),并且最近5日存在收盘价上穿波峰1收盘价(收盘价ZIG转向波峰1的值)。这个是信号的触发条件。
注意:根据定义,应该突破头肩底形态的颈线出信号,但是倾斜的颈线不容易量化,为了方便,以突破波峰1作为触发条件。
另外为了防止信号漂移,需要限制从波谷1以来的上涨幅度大于设置的ZIG转向幅度,这样波峰1到波谷1才能固定不漂移。
A11:=CROSS(C,BFH) AND COUNT(CROSS(C,BF1),5)>=1;
A12:=(C-BG1)/BG1*100>N;
头肩底形态指标公式:
N:=5;
ZZ:ZIG(3,N);
BG1:=TROUGH(3,N,1);{波谷1(收盘价)}
BG2:=TROUGH(3,N,2);{波谷2(收盘价)}
BG3:=TROUGH(3,N,3);{波谷3(收盘价)}
BGL1:=TROUGH(2,N,1);{波谷1(最低价)}
BGL2:=TROUGH(2,N,2);{波谷2(最低价)}
BGL3:=TROUGH(2,N,3);{波谷3(最低价)}
BF1:=PEAK(3,N,1);{波峰1(收盘价)}
BF2:=PEAK(3,N,2);{波峰2(收盘价)}
BFH:=PEAK(1,N,1);{波峰1(最高价)}
BGB1:=TROUGHBARS(3,N,1);{波谷1距离当前的周期数}
BGB2:=TROUGHBARS(3,N,2);{波谷2距离当前的周期数}
BGB3:=TROUGHBARS(3,N,3);{波谷3距离当前的周期数}
BFB1:=PEAKBARS(3,N,1);{波峰1距离当前的周期数}
BFB2:=PEAKBARS(3,N,2);{波峰2距离当前的周期数}
A1:=(BF1-BG2)/BG2*100<40;{波谷2到波峰1上涨幅度小于40%}
A2:=(BG1-BF1)/BF1*100>-20;{波峰1到波谷1调整幅度小于20%}
A3:=BETWEEN((BG1-BG2)/BG2*100,3,15);{波谷2到波谷1幅度,避免肩和底太接近或太远}
A4:=BETWEEN((BG3-BG2)/BG2*100,3,15);{波谷2到波谷3幅度}
A5:=BETWEEN((BG1-BG3)/BG3*100,-5,5);{波谷1、波谷3幅度}
A6:=BETWEEN((BF1-BF2)/BF2*100,-5,5);{波峰1、波峰2幅度}
A7:=BGL2<BGL1 AND BGL2<BGL3;{避免影线导致不符合头肩底形态}
A8:=BFB1-BGB1>3;{波峰1到波谷1周期大于3}
A9:=BGB3-BFB2>3;{波谷3到波峰2周期大于3}
A10:=BETWEEN(BFB2-BFB1,10,50);{波峰2波峰1周期大于10小于50}
A11:=CROSS(C,BFH) AND COUNT(CROSS(C,BF1),5)>=1;{收盘价上穿波峰1(最高价),最近5日存在收盘价上穿波峰1(收盘价)}
A12:=(C-BG1)/BG1*100>N;{防止信号漂移}
AA:=A1 AND A2 AND A3 AND A4 AND A5 AND A6 AND A7 AND A8 AND A9 AND A10 AND A11 AND A12;
XG:=FILTER(AA,10);
DRAWICON(XG,L,1);
STICKLINE(XG,H,L,0,0),COLORYELLOW;
STICKLINE(XG,O,C,3,0),COLORYELLOW;
二、头肩底形态选股公式
N:=5;
ZZ:=ZIG(3,N);
BG1:=TROUGH(3,N,1);
BG2:=TROUGH(3,N,2);
BG3:=TROUGH(3,N,3);
BGL1:=TROUGH(2,N,1);
BGL2:=TROUGH(2,N,2);
BGL3:=TROUGH(2,N,3);
BF1:=PEAK(3,N,1);
BF2:=PEAK(3,N,2);
BFH:=PEAK(1,N,1);
BGB1:=TROUGHBARS(3,N,1);
BGB2:=TROUGHBARS(3,N,2);
BGB3:=TROUGHBARS(3,N,3);
BFB1:=PEAKBARS(3,N,1);
BFB2:=PEAKBARS(3,N,2);
A1:=(BF1-BG2)/BG2*100<40;
A2:=(BG1-BF1)/BF1*100>-20;
A3:=BETWEEN((BG1-BG2)/BG2*100,3,15);
A4:=BETWEEN((BG3-BG2)/BG2*100,3,15);
A5:=BETWEEN((BG1-BG3)/BG3*100,-5,5);
A6:=BETWEEN((BF1-BF2)/BF2*100,-5,5);
A7:=BGL2<BGL1 AND BGL2<BGL3;
A8:=BFB1-BGB1>3;
A9:=BGB3-BFB2>3;
A10:=BETWEEN(BFB2-BFB1,10,50);
A11:=CROSS(C,BFH) AND COUNT(CROSS(C,BF1),5)>=1;
A12:=(C-BG1)/BG1*100>N;
AA:=A1 AND A2 AND A3 AND A4 AND A5 AND A6 AND A7 AND A8 AND A9 AND A10 AND A11 AND A12;
XG:FILTER(AA,10);
三、注意点
1、还是强调一下,倾斜的颈线不容易量化,本文为了方便,以突破波峰1发出信号。
2、公式没有加入成交量条件,只是选出形态,可以结合成交量进一步分析。
3、公式设置的ZIG之字转向幅度为5%,幅度比较小,选出的结果不一定是大底,可能只是调整。可以自行调整ZIG转向幅度、波谷波峰幅度以及间距。
4、信号漂移情况前两篇文章都反复强调了,可以使用训练模式或者沙盘推演来复盘。
5、信号很少,当天没有结果正常的。
关注技术Pie,学习更多通达信指标公式编写知识。
友情提醒:本文仅供学习交流技术指标公式,不构成任何投资建议。投资有风险,入市需谨慎!