N:=10;
ZZ:=ZIG(3,N);
gspt1:=TROUGH(3,N,1);{波谷1(收盘价)}
gspt2:=TROUGH(3,N,2);{波谷2(收盘价)}
gspt3:=TROUGH(3,N,3);{波谷3(收盘价)}
gspt4:=TROUGH(2,N,1);{波谷1(最低价)}
gspt5:=TROUGH(2,N,2);{波谷2(最低价)}
gspt6:=TROUGH(2,N,3);{波谷3(最低价)}
BF1:=PEAK(3,N,1);{波峰1(收盘价)}
BF2:=PEAK(3,N,2);{波峰2(收盘价)}
BFH:=PEAK(1,N,1);{波峰1(最高价)}
x_1:=TROUGHBARS(3,N,1);{波谷1距离当前的周期数}
x_2:=TROUGHBARS(3,N,2);{波谷2距离当前的周期数}
x_3:=TROUGHBARS(3,N,3);{波谷3距离当前的周期数}
BFB1:=PEAKBARS(3,N,1);{波峰1距离当前的周期数}
BFB2:=PEAKBARS(3,N,2);{波峰2距离当前的周期数}
A1:=(BF1-gspt2)/gspt2*100<40;{波谷2到波峰1上涨幅度小于40%}
A2:=(gspt1-BF1)/BF1*100>-20;{波峰1到波谷1调gspt1幅度小于20%}
A3:=BETWEEN((gspt1-gspt2)/gspt2*100,3,15);{波谷2到波谷1幅度,避免肩和底太接近或太远}
A4:=BETWEEN((gspt3-gspt2)/gspt2*100,3,15);{波谷2到波谷3幅度}
A5:=BETWEEN((gspt1-gspt3)/gspt3*100,-5,5);{波谷1、波谷3幅度}
A6:=BETWEEN((BF1-BF2)/BF2*100,-5,5);{波峰1、波峰2幅度}
A7:=gspt5<gspt4 AND gspt5<gspt6;{避免影线导致不符合头肩底形态}
A8:=BFB1-x_1>3;{波峰1到波谷1周期大于3}
A9:=x_3-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-gspt1)/gspt1*100>N;{防止信号漂移}
XG:A1 AND A2 AND A3 AND A4 AND A5 AND A6 AND A7 AND A8 AND A9 AND A10 AND A11 AND A12;