N1:=10;
N2:=10;
DISP:=2;
M5:=5;
M10:=10;
M60:=60;
MA5:MA(CLOSE,M5),NODRAW;
MA10:MA(CLOSE,M10),NODRAW;
MA60:MA(CLOSE,M60),NODRAW,NODRAW;
K:=1;
P1:=PEAK(H,K*N1,1,1);
P2:=PEAK(H,K*N1,2,1);
WP1:=PEAKBARS(H,K*N1,1,1);
WP2:=PEAKBARS(H,K*N1,2,1);
T1:=TROUGH(L,K*N2,1,1);
T2:=TROUGH(L,K*N2,2,1);
WT1:=TROUGHBARS(L,K*N2,1,1);
WT2:=TROUGHBARS(L,K*N2,2,1);
TJ1:=P1>T1 AND P2>T2 ;
ZD:=MAX(T1,T2);
ZG:=MIN(P1,P2);
LL:=MIN(T1,T2);
HH:=MAX(P1,P2);
TJ2:=FILTER(ZG>ZD,2);
TJ3:=ZG=REF(ZG,BARSLAST(TJ2)) OR ZD=REF(ZD,BARSLAST(TJ2));
TJ4:=TJ1&&TJ2&&NOT(TJ3);
TJ5:=BETWEEN(ZD,REF(ZD,REF(BARSLAST(TJ4),1)),REF(ZG,REF(BARSLAST(TJ4),1)));
TJ6:=BETWEEN(ZG,REF(ZD,REF(BARSLAST(TJ4),1)),REF(ZG,REF(BARSLAST(TJ4),1)));
TJ7:=ZG>REF(ZG,REF(BARSLAST(TJ4),1))&&ZD<REF(ZD,REF(BARSLAST(TJ4),1));
TJ8:=TJ4&&NOT(TJ5 OR TJ6 OR TJ7);
ZSD:=IF(TJ8,ZD,NULL);
ZSG:=IF(TJ8,ZG,NULL);
ZSH:=IF(TJ8,HH,NULL);
ZSL:=IF(TJ8,LL,NULL);
STICKLINE(TJ8,ZSH,ZSL,0,-1),COLORMAGENTA;
STICKLINE(TJ8,ZSD,ZSG,3,1),COLORMAGENTA;
DRAWTEXT(DISP=2,ZSH,’中枢’),COLORRED;
POLYLINE(DISP=2,REF(ZSD,BARSLAST(TJ8)),RGB(255,128,0)),CROSSDOT;
POLYLINE(DISP=2,REF(ZSG,BARSLAST(TJ8)),COLORGREEN),CROSSDOT;
POLYLINE(DISP=2,REF(ZSH,BARSLAST(TJ8)),COLORRED),POINTDOT;
POLYLINE(DISP=2,REF(ZSL,BARSLAST(TJ8)),COLORGREEN),POINTDOT;
局部低点预选A:=BACKSET(LLV(L,5)<REF(LLV(L,4),1),4);
局部低点预选B:=BACKSET(局部低点预选A=0 AND REF(局部低点预选A,1)=1,2);
局部低点预选C:=IF(局部低点预选B=1 AND REF(局部低点预选B,1)=0,-1,0);
局部高点预选A:=BACKSET(HHV(H,5)>REF(HHV(H,4),1),4);
局部高点预选B:=BACKSET(局部高点预选A=0 AND REF(局部高点预选A,1)=1,2);
局部高点预选C:=IF(局部高点预选B=1 AND REF(局部高点预选B,1)=0,1,0);
缺口判断:=IF(L>REF(H,1),1,IF(H<REF(L,1),-1,0));
距前高天:=BARSLAST(局部高点预选C=1);
距前低天:=BARSLAST(局部低点预选C=-1);
小值周期:=NEWLBARS(L,1);
大值周期:=NEWHBARS(H,1);
低保留AA:=IF(局部低点预选C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0);
低保留AB:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND (距前高天>=4 OR LLV(缺口判断,距前高天)=-1 OR LLV(L,距前低天+2)<REF(LLV(L,距前低天+1),1)),-1,0);
低保留S:=IF((低保留AA=-1 OR 低保留AB=-1) AND L<REF(H,距前高天+1),-1,0);
预判:=IF((距前低天<4 AND HHV(缺口判断,距前低天)<>1) OR REF(低保留S,距前低天)=0,1,0);
判断:=IF(局部高点预选C=1 AND REF(距前低天,1)<=REF(距前高天,1) AND 预判=1 AND 大值周期>REF(小值周期,距前低天+1) AND 大值周期>REF(小值周期,距前低天) AND 大值周期>REF(大值周期,距前高天),1,0);
高保留A:=IF(局部高点预选C=1 AND REF(距前低天,1)>REF(距前高天,1) AND HHV(H,距前低天+1)>REF(HHV(H,距前低天+1),1),1,0);
高保留B:=IF(局部高点预选C=1 AND REF(距前低天,1)<=REF(距前高天,1) AND REF(低保留S,距前低天)=-1 AND (距前低天>=4 OR HHV(缺口判断,距前低天)=1),1,0);
高保留:=IF((高保留A=1 OR 高保留B=1 OR 判断=1) AND H>REF(L,距前低天+1),1,0);
预判A:=IF((距前高天<4 AND HHV(缺口判断,距前高天)<>1) OR REF(高保留,距前高天)=0,1,0);
判断A:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND 预判A=1 AND 小值周期>REF(大值周期,距前高天+1) AND 小值周期>REF(大值周期,距前高天) AND 小值周期>REF(小值周期,距前低天),-1,0);
低保留A:=IF(局部低点预选C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0);
低保留B:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND (距前高天>=4 OR LLV(缺口判断,距前高天)=-1 OR 判断A=-1),-1,0);
低保留:=IF((低保留A=-1 OR 低保留B=-1) AND L<REF(H,距前高天+1),-1,0);
距前高天A:=BARSLAST(高保留=1);
距前低天A:=BARSLAST(低保留=-1);
预判X:=IF((距前低天A<4 AND HHV(缺口判断,距前低天A)<>1) OR REF(低保留,距前低天A)=0,1,0);
判断X:=IF(局部高点预选C=1 AND REF(距前低天A,1)<=REF(距前高天A,1) AND 预判X=1 AND 大值周期>REF(小值周期,距前低天A+1) AND 大值周期>REF(小值周期,距前低天A) AND 大值周期>REF(大值周期,距前高天A),1,0);
高保留XA:=IF(局部高点预选C=1 AND REF(距前低天A,1)>REF(距前高天A,1) AND HHV(H,距前低天A+1)>REF(HHV(H,距前低天A+1),1),1,0);
高保留XB:=IF(局部高点预选C=1 AND REF(距前低天A,1)<=REF(距前高天A,1) AND REF(低保留,距前低天A)=-1 AND (距前低天A>=4 OR HHV(缺口判断,距前低天A)=1),1,0);
高保留X:=IF((高保留XA=1 OR 高保留XB=1 OR 判断X=1) AND H>REF(L,距前低天A+1),1,0);
预判XA:=IF((距前高天A<4 AND HHV(缺口判断,距前高天A)<>1) OR REF(高保留XA,距前高天A)=0,1,0);
判断XA:=IF(局部低点预选C=-1 AND REF(距前高天A,1)<=REF(距前低天A,1) AND 预判XA=1 AND 小值周期>REF(大值周期,距前高天A+1) AND 小值周期>REF(大值周期,距前高天A) AND 小值周期>REF(小值周期,距前低天A),-1,0);
低保留XA:=IF(局部低点预选C=-1 AND REF(距前高天A,1)>REF(距前低天A,1) AND LLV(L,距前高天A+1)<REF(LLV(L,距前高天A+1),1),-1,0);
低保留XB:=IF(局部低点预选C=-1 AND REF(距前高天A,1)<=REF(距前低天A,1) AND (距前高天A>=4 OR LLV(缺口判断,距前高天A)=-1 OR 判断XA=-1),-1,0);
低保留X:=IF((低保留XA=-1 OR 低保留XB=-1) AND L<REF(H,距前高天A+1),-1,0);
距前高天YA:=BARSLAST(高保留X=1),LINETHICK3;
距前低天YA:=BARSLAST(低保留X=-1);
预判YX:=IF((距前低天YA<4 AND HHV(缺口判断,距前低天YA)<>1) OR REF(低保留X,距前低天YA)=0,1,0);
判断YX:=IF(局部高点预选C=1 AND REF(距前低天YA,1)<=REF(距前高天YA,1) AND 预判YX=1 AND 大值周期>REF(小值周期,距前低天YA+1) AND 大值周期>REF(小值周期,距前低天YA) AND 大值周期>REF(大值周期,距前高天YA),1,0);
高保留YXA:=IF(局部高点预选C=1 AND REF(距前低天YA,1)>REF(距前高天YA,1) AND HHV(H,距前低天YA+1)>REF(HHV(H,距前低天YA+1),1),1,0);
高保留YXB:=IF(局部高点预选C=1 AND REF(距前低天YA,1)<=REF(距前高天YA,1) AND REF(低保留X,距前低天YA)=-1 AND (距前低天YA>=4 OR HHV(缺口判断,距前低天YA)=1),1,0);
高保留YX:=IF((高保留YXA=1 OR 高保留YXB=1 OR 判断YX=1) AND H>REF(L,距前低天YA+1),1,0);
预判YXA:=IF((距前高天YA<4 AND HHV(缺口判断,距前高天YA)<>1) OR REF(高保留YXA,距前高天YA)=0,1,0);
判断YXA:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)<=REF(距前低天YA,1) AND 预判YXA=1 AND 小值周期>REF(大值周期,距前高天YA+1) AND 小值周期>REF(大值周期,距前高天YA) AND 小值周期>REF(小值周期,距前低天YA),-1,0);
低保留YXA:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)>REF(距前低天YA,1) AND LLV(L,距前高天YA+1)<REF(LLV(L,距前高天YA+1),1),-1,0);
低保留YXB:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)<=REF(距前低天YA,1) AND (距前高天YA>=4 OR LLV(缺口判断,距前高天YA)=-1 OR 判断YXA=-1),-1,0);
低保留YX:=IF((低保留YXA=-1 OR 低保留YXB=-1) AND L<REF(H,距前高天YA+1),-1,0);
AAAD:=IF(高保留YX=1 AND 低保留YX=-1 AND H>REF(H,REF(距前高天YA,1)+2),1,IF(高保留YX=1 AND 低保留YX=-1 AND L<REF(L,REF(距前低天YA,1)+2),-1,0));
极点保留:=IF(AAAD=0,高保留YX+低保留YX,AAAD);
局部极点:IF(极点保留=-1,L,IF(极点保留=1,H,NULL)), CIRCLEDOT,COLORGREEN;
DD1:=BARSLAST(ABS(极点保留)<>1);
DRAWTEXT(极点保留=1,局部极点,’卖出开仓’),RGB(255,0,255),VALIGN0;
DRAWTEXT(极点保留=-1,局部极点,’买入开仓’),RGB(255,255,255),VALIGN0;
M:=3;//M值需要大于等于5
G:=MA(C,5);
D:=MA(C,10);
NNH:=BARSLAST(H=HHV(H,M)) ,NODRAW;
NNL:=BARSLAST(L=LLV(L,M)) ,NODRAW;
NN:=IF(REF(G,NNH)>REF(D,NNH) AND NNH<=M-3,NNH,IF(REF(G,NNL)<REF(D,NNL) AND NNL<=M-3,NNL,M-2)) ,NODRAW;
NNN:=IF(ISLASTBAR AND NN>0,NN,M-2) ,NODRAW;
H1:=REF(H,NNN)=HHV(H,M-1);
L1:=REF(L,NNN)=LLV(L,M-1);
FG01:=BACKSET(H1,NNN+1)>BACKSET(H1,NNN),NODRAW;//只设置前面第M-1个
FD01:=BACKSET(L1,NNN+1)>BACKSET(L1,NNN) ,NODRAW;
FG02:=FG01=FD01 AND G>D,NODRAW;
FD02:=FG01=FD01 AND G<D,NODRAW;
TTTT:=BARSLAST(FD01),NODRAW;
FG0:=FG01 AND IF(FG02=1,H=HHV(H,BARSLAST(REF(FD01,1))+1),H=HHV(H,IF(BARSLAST(L=LLV(L,M))>=M-2,M-2,BARSLAST(FD01)))) AND FD02=0 ,NODRAW;
FD0:=FD01 AND IF(FD02=1,L=LLV(L,BARSLAST(REF(FG01,1))+1),L=LLV(L,IF(BARSLAST(H=HHV(L,M))>=M-2,M-2,BARSLAST(FG01)))) AND FG02=0 ,NODRAW;
//高低点间周期
GT:=BARSLAST(FG0),NODRAW;
DT:=BARSLAST(FD0),NODRAW;
//第一次处理高低点间多余的点
LLLL:=DT=0 AND REF(DT,1)<GT AND L>REF(L,REF(DT,1)+1),NODRAW;
FG1:=BACKSET(REFX(GT,1)=0 AND GT<DT AND REFX(H,1)>=REF(H,GT),GT+1),NODRAW;
FD1:=BACKSET(REFX(DT,1)=0 AND DT<GT AND REFX(L,1)<=REF(L,DT),DT+1),NODRAW;
FG11:=IF(GT=0 AND REF(GT,1)<DT AND IF(REF(G,BARSLAST(L=LLV(L,M)))>REF(D,BARSLAST(L=LLV(L,M))),BARSLAST(L=LLV(L,M))<M-2,1) AND H<REF(H,REF(GT,1)+1),1,0),NODRAW;
FD11:=IF(DT=0 AND REF(DT,1)<GT AND IF(REF(G,BARSLAST(H=HHV(H,M)))<REF(D,BARSLAST(H=HHV(H,M))),BARSLAST(H=HHV(H,M))<M-2,1) AND L>REF(L,REF(DT,1)+1),1,0),NODRAW;
//再次周期
GT1:=BARSLAST(FG11<>1 AND FG1<>1 AND FG0),NODRAW;
DT1:=BARSLAST(FD11<>1 AND FD1<>1 AND FD0),NODRAW;
FD2:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)>LLV(L,GT1+M-2),DT1+1),NODRAW;
FG2A:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)<=LLV(L,GT1+M-2) AND REF(H,GT1)>HHV(H,GT1+M-2),GT1+1),NODRAW;
FG2B:=IF(GT1=0 AND DT1<4 AND REF(GT1,1)-DT1<4 AND REF(L,DT1)<=LLV(L,REF(GT1,1)+M-1) AND H>HHV(H,REF(GT1,1)+M-1),1,0),NODRAW;
FG2:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)<HHV(H,DT1+M-2),GT1+1),NODRAW;
FD2A:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)>=HHV(L,DT1+M-2) AND REF(L,DT1)>LLV(L,DT1+M-2),DT1+1),NODRAW;
FD2B:=IF(DT1=0 AND GT1<4 AND REF(DT1,1)-GT1<4 AND REF(H,GT1)>=HHV(H,REF(DT1,1)+6) AND L>LLV(L,REF(DT1,1)+M-1),1,0),NODRAW;
TTTTTT:= H<REF(H,REF(GT1,1)+1) AND DT1<4,NODRAW;
HHHHHH:=REF(LLV(L,10),DT1),NODRAW;
//前长后短;
FG21:=IF(GT1=0 AND DT1<4 AND H<=REF(H,REF(GT1,1)+1) ,1,0),NODRAW;
FD21:=IF(DT1=0 AND GT1<4 AND L>=REF(L,REF(DT1,1)+1) ,1,0),NODRAW;
//前短后长,前低后高(去低);
FD231:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND REF(L,DT1)>REF(LLV(L,10),DT1),DT1+1),NODRAW;
FG23:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND (REF(H,GT1)<REF(HHV(H,13),GT1) OR REF(FD231,DT1)=0),GT1+1),NODRAW;
//前短后长,去2;
FG231:=BACKSET(REFX(DT1,1)=0 AND GT1>3 AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND REF(H,GT1)<REF(HHV(H,10),GT1) ,GT1+1),NODRAW;
FD23:=BACKSET(REFX(DT1,1)=0 AND GT1>3 AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND ( REF(L,DT1)>REF(LLV(L,13),DT1) OR REF(FG231,GT1)=0),DT1+1),NODRAW;
//前短后长,去3;
FDD23:=REF(H,GT1)<REF(HHV(H,10),GT1) OR REF(FD23,DT1)=0,NODRAW;
FD24:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)<HHV(H,GT1+3) AND REF(L,DT1)>LLV(L,DT1+5),DT1+1),NODRAW;
FG24:=BACKSET(REFX(DT1,1)=0 AND GT1>3 AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)>LLV(L,DT1+3) AND REF(H,GT1)<HHV(H,GT1+5),GT1+1),NODRAW;
//做两次高低点间多余的点
GT2:=BARSLAST(FG21<>1 AND FG23<>1 AND FG231<>1 AND FG24<>1 AND FG2<>1 AND FG2A<>1 AND FG2B<>1 AND GT1=0),NODRAW;
DT2:=BARSLAST(FD21<>1 AND FD23<>1 AND FD231<>1 AND FD24<>1 AND FD2<>1 AND FD2A<>1 AND FD2B<>1 AND DT1=0),NODRAW;
FG3:=BACKSET(REFX(GT2,1)=0 AND GT2<DT2 AND REFX(H,1)>=REF(H,GT2),GT2+1),NODRAW;
FD3:=BACKSET(REFX(DT2,1)=0 AND DT2<GT2 AND REFX(L,1)<=REF(L,DT2),DT2+1),NODRAW;
FG31:=IF(GT2=0 AND REF(GT2,1)<DT2 AND H<REF(H,REF(GT2,1)+1),1,0),NODRAW;
FD31:=IF(DT2=0 AND REF(DT2,1)<GT2 AND L>REF(L,REF(DT2,1)+1),1,0),NODRAW;
GT3:=BARSLAST(GT2=0 AND FG3<>1 AND FG31<>1 ),NODRAW;
DT3:=BARSLAST(DT2=0 AND FD3<>1 AND FD31<>1),NODRAW;
FG4:=BACKSET(REFX(GT3,1)=0 AND GT3<DT3 AND REFX(H,1)>=REF(H,GT3),GT3+1),NODRAW;
FD4:=BACKSET(REFX(DT3,1)=0 AND DT3<GT3 AND REFX(L,1)<=REF(L,DT3),DT3+1),NODRAW;
FG41:=IF(GT3=0 AND REF(GT3,1)<DT3 AND H<REF(H,REF(GT3,1)+1),1,0),NODRAW;
FD41:=IF(DT3=0 AND REF(DT3,1)<GT3 AND L>REF(L,REF(DT3,1)+1),1,0),NODRAW;
HHH:=GT3=0 AND FG31<>1 AND FG3<>1,NODRAW;
LLL:=DT3=0 AND FD31<>1 AND FD3<>1,NODRAW;
DRAWLINE1(HHH ,H,LLL,L,0),RGB(255,255,255),DOT,LINETHICK3;//绿色
DRAWLINE1(LLL,L,HHH ,H,0),RGB(255,255,255),DOT,LINETHICK3;//红色
//最后一段画线
DRAWTEXT(HHH,H,’顶’),FONTSIZE25,RGB(255,0,255);
DRAWTEXT(LLL,L,’底’),FONTSIZE25,RGB(255,255,255),VALIGN0;
DRAWNUMBER(ISLASTBAR||REFX(HHH,1),VALUEWHEN(HHH,H),VALUEWHEN(HHH,H),0,RGB(255,255,255)),LINETHICK3;
DRAWNUMBER(ISLASTBAR||REFX(LLL,1),VALUEWHEN(LLL,L),VALUEWHEN(LLL,L),0,RGB(255,255,255)),VALIGN0;
DRAWHORIZONTALLINE(HHH,H,DOT),RGB(255,255,0),LINETHICK2;
DRAWHORIZONTALLINE(LLL,L,DOT),RGB(255,255,0),LINETHICK2;
A1:=C>REF(C,4);
NT:=BARSLASTCOUNT(A1);
TJ11:=9;
TJ13:=ISLASTBAR AND BETWEEN(NT,5,8);
AY:=(BACKSET(TJ11>0,9) OR BACKSET(TJ13>0,NT))*NT;
MM:=BACKSET(NT=9,9);
DRAWNUMBER(MM=1&&AY>0,H,NT,0,COLORYELLOW);
NX:=BACKSET(ISLASTBAR,NT);
DRAWNUMBER(NX&&REFX1(NT<9,100),H,NT,0,COLORYELLOW);
DRAWICON(NT=9,H+2,’ICO9′),COLORGREEN;
B1:=C<REF(C,4);
NT0:=BARSLASTCOUNT(B1);
TJ21:=NT0=9 ;
TJ23:=ISLASTBAR AND BETWEEN(NT0,5,8);
AY1:=(BACKSET(TJ21>0,9) OR BACKSET(TJ23>0,NT0))*NT0;
DRAWNUMBER(NN=1&&AY1>0,L,NT0,0,COLORFF00FF),VALIGN0;
ND:=BACKSET(ISLASTBAR,NT0);
DRAWNUMBER(ND&&REFX1(NT0<9,100),L,NT0,0,COLORFF00FF),VALIGN0;
DRAWICON(NT0=9,L-2,’ICO112′),COLORGREEN;
NC3:=12;
NC4:=24;
BBI:=(MA(CLOSE,N1)+MA(CLOSE,N2)+MA(CLOSE,NC3)+MA(CLOSE,NC4))/4;
顶:=BBI+3*STD(BBI,13),COLOR004AFF;
底:=BBI-3*STD(BBI,13),COLOR67FF00;
X:=3;
HN:=HHV(HIGH,5);
LLY:=LLV(LOW,5);
HH3:=BARSLAST((HN>REF(HN,1)));
LL3:=BARSLAST((LLY<REF(LLY,1)));
A:=IF((HH3 < LL3),1,IF((HH3 > LL3),-1,0));
HM:=HHV(HIGH,3);
LM:=LLV(LOW,3);
HM1:=IF(H<REF(H,1)&&H<REF(H,2)&&H<REF(H,4)&&L<REF(L,1)&&L<REF(L,3)&&L<REF(L,5)&&OPEN>CLOSE&&(HHV(OPEN,0)-CLOSE)>0,REF(H,4),0);
LM1:=IF(L>REF(L,1)&&L>REF(L,3)&&L>REF(L,5)&&H>REF(H,1)&&H>REF(H,2)&&H>REF(H,4)&&OPEN<CLOSE&&(CLOSE-LLV(OPEN,0))>0,REF(L,4),0);
HM2:=VALUEWHEN(HM1>0,HM1);
LM2:=VALUEWHEN(LM1>0,LM1);
KM1:=IF(CLOSE>HM2,-3,IF(CLOSE<LM2,1,0));
KM2:=VALUEWHEN(KM1<>0,KM1);
GM:=IF(KM2=1,HM2,LM2);
GM1:=VALUEWHEN(ISLASTBAR,GM);
BL:=2;
TMPM:=KM2;
WM1:=KM2;
WM2:=OPEN-CLOSE;
HTM:=IF(OPEN>CLOSE,OPEN,CLOSE);
LTM:=IF(OPEN<CLOSE,OPEN,CLOSE);
HJ:=2;
//均线,0
QZS:=(EMA(CLOSE,3)+EMA(CLOSE,6))/2;
//改良布林
ZX:=MA(CLOSE,21),NODRAW,NODRAW;
TMP2:=STD(C,21),DOT,NODRAW;
SA:=ZX+2*TMP2,DOT,NODRAW;
BBIBOLL:=(MA(C,3)+MA(C,6)+MA(C,12)+MA(C,24))/4,NODRAW;
多空线:=BBIBOLL, COLORWHITE,LINETHICK1,NODRAW;
牛17:=IF(X=2 OR X=3,MA(C,17),NULL),COLORRED,LINETHICK1,NODRAW;
中布:=IF(BL>0 ,ZX,NULL),DOT,NODRAW;
布上:=IF(BL>1,SA,NULL), COLORCYAN,LINETHICK1,NODRAW;
XA:= ZX-2*TMP2,NODRAW;
布下:=IF(BL>1,XA,NULL),COLORCYAN,LINETHICK1,NODRAW;
DRAWSL(ISLASTBAR,中布,中布-REF(中布,1),0,0,COLORWHITE ),DOT,NODRAW;
DRAWSL(ISLASTBAR,布上,布上-REF(布上,1),0,0,COLORWHITE ),DOT,NODRAW;
DRAWSL(ISLASTBAR,布下,布下-REF(布下,1),0,0,COLORWHITE ),DOT,NODRAW;
熊26:IF( BL>1 OR X=2 OR X=3,MA(C,26),NULL),COLORYELLOW,LINETHICK1,NODRAW;
//缠论
PD:=REF(G,NNH)>REF(D,NNH) ,NODRAW;
N:=IF(ISLASTBAR AND NN>0,NN,5) ,NODRAW;
//高底是同一K看均线位置//
FG001:=IF(BARSLAST(FD01)>BARSLAST(FG01),FG01,0),NODRAW;
//高点处
FD001:=IF(BARSLAST(FG001)=0 AND BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01,NULL);
FD003:=IF(BARSLAST(FG001)=0 AND BARSLAST(FG01)>BARSLAST(FD01),FD01,0),NODRAW;
FG00:=FG01 AND IF(FG02=1,H=HHV(H,BARSLAST(REF(FD01,1))+1),H=HHV(H,IF(BARSLAST(L=LLV(L,7))>=5,5,BARSLAST(FD01)))) AND FD02=0 ,NODRAW;
FD00:=FD01 AND IF(FD02=1,L=LLV(L,BARSLAST(REF(FG01,1))+1),L=LLV(L,IF(BARSLAST(H=HHV(L,7))>=5,5,BARSLAST(FG01)))) AND FG02=0 ,NODRAW;
//高低点间周期
//第一次处理高低点间多余的点
//再次周期
GGT1:=REF(GT1,1),NODRAW;//处理两边都少于3根的笔
HHHH:=REF(H,GT1),NODRAW;
HHHHH:=HHV(H,GT1+5),NODRAW;
//加两句,低是最低,去两边;
NL:=GT1=0 AND DT1<4 AND REF(GT1,1)-DT1<4 ,NODRAW;
LLLLLLLL:=LLV(L,GT1+5),NODRAW;
GGG:=IF(HHV(H,GT1+1)<HHV(H,GT1+15),HHV(H,GT1+1),NULL),NODRAW;
DDD:=IF(HHV(H,GT1+1)<HHV(H,GT1+15),HHV(H,GT1+15),NULL),NODRAW;
//处理单边都少于3根的笔
GT11:=BARSLAST(GT1=0 AND FG2<>1),NODRAW;
DT11:=BARSLAST(DT1=0 AND FD2<>1 AND FD02<>1),NODRAW;
FD22:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND REFX(H,1)>REF(H,GT1) AND REF(L,DT1)>LLV(L,GT1+5),DT1+1),NODRAW;
G22:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND REFX(L,1)<REF(L,DT1) AND REF(H,GT1)<HHV(H,DT1+5),GT1+1),NODRAW;
//前短后长,前高后低(去高);
//前短后长,去2;
FG241:=IF(GT1=0 AND DT1>4 AND REF(GT1,1)-DT1<3 AND H<HHV(H,REF(GT1,1)+3) AND REF(FD24,DT1+2)<>1,1,0),NODRAW;
FD241:=IF(DT1=0 AND GT1>4 AND REF(DT1,1)-GT1<3 AND L>LLV(L,REF(DT1,1)+3) AND REF(FG24,GT1+2)<>1,1,0),NODRAW;
FGE:=BACKSET(ISLASTBAR AND DT1-GT1<3 AND DT1>GT1, GT1+1),NODRAW;//FDE:BACKSET(ISLASTBAR AND GT1-DT1<3 AND GT1>DT1, DT1+1),NODRAW;
//做两次高低点间多余的点
//HHX:REF(H,GT2),NODRAW;
DRAWLINE1(HHH AND HJ>=0,H,LLL,L,0),COLORGREEN,DOT;
DRAWLINE1(LLL AND HJ>=0,L,HHH ,H,0),COLORRED,DOT;
PARTLINE(FG0 AND FG41<>1 AND FG4<>1 AND FG31<>1 AND FG3<>1 AND FG2<>1 AND FG11<>1 AND FG1<>1,H,COLORYELLOW),CIRCLEDOT,LINETHICK5;
PARTLINE(FD0 AND FD41<>1 AND FD4<>1 AND FD31<>1 AND FD3<>1 AND FD2<>1 AND FD11<>1 AND FD1<>1,L,COLORYELLOW),CIRCLEDOT,LINETHICK5;
BD:=IF(FD0 AND FD41<>1 AND FD4<>1 AND FD31<>1 AND FD3<>1 AND FD2<>1 AND FD11<>1 AND FD1<>1,L,0);
笔低:=IF(BD<>0,BD,NULL),COLORYELLOW,NODRAW;
BG:=IF(FG0 AND FG41<>1 AND FG4<>1 AND FG31<>1 AND FG3<>1 AND FG2<>1 AND FG11<>1 AND FG1<>1,H,0);
笔高:IF(BG<>0,BG,NULL),COLORYELLOW,NODRAW;
老笔:=1;
GB:=MA(C,5),RGB(255,255,255);
DB:=MA(C,10),RGB(255,128,255);
HHB:=REF(H,5)=HHV(H,11);
LL1:=REF(L,5)=LLV(L,11);
FGB01:=BACKSET(HHB,6)>BACKSET(HHB,5) ;
FDB01:=BACKSET(LL1,6)>BACKSET(LL1,5) ;
FGB02:=IF(BARSLAST(FGB01)=BARSLAST(FDB01) AND GB>DB,FGB01,IF(BARSLAST(FDB01)>BARSLAST(FGB01),FGB01,0));
FDB02:=IF(BARSLAST(FGB01)=BARSLAST(FDB01) AND DB>GB,FDB01,IF(BARSLAST(FGB01)>BARSLAST(FDB01),FDB01,0));
FGB0:=FGB02 AND H=HHV(H,BARSLAST(FDB02));
FDB0:=FDB02 AND L=LLV(L,BARSLAST(FGB02));
JG:=IF(FGB0 AND BG=0,H,1) ;
局高:=IF(JG<>1,JG,NULL),COLORGREEN,NODRAW;
JD:=IF(FDB0 AND BD=0,L,-1),COLORGREEN;
局低:IF(JD<>-1,JD,NULL),COLORGREEN,NODRAW;
短极点:IF(PERIOD>2,IF(极点保留=-1 AND BD=0 AND JD=-1,L,IF(极点保留=1 AND BG=0 AND JG=1,H,NULL)) ,NULL),COLORMAGENTA,NODRAW;
//中枢分割线
HIGH1:=REF(HHV(H,90),3);//3周期前的90周期的最高价
LOW1:=REF(LLV(L,90),3);//3周期前的90周期的最低价
J1:=HIGH1-(HIGH1-LOW1)*0.191,NODRAW;
J0:=HIGH1-(HIGH1-J1)/2,NODRAW;
J2:=HIGH1-(HIGH1-LOW1)*0.382,NODRAW;
J3:=HIGH1-(HIGH1-LOW1)*0.5;
J4:=HIGH1-(HIGH1-LOW1)*0.618;
J5:=HIGH1-(HIGH1-LOW1)*0.809,NODRAW;
J6:=HIGH1-(HIGH1-LOW1)*1.191,NODRAW;
JZ:=J0-(J0-LOW1)/2,NODRAW;
HIGHB1:=REF(HHV(H,60),3),NODRAW;
LOW2:=REF(LLV(L,60),3),NODRAW;
HIGHB2:=IF(HIGHB1<=J4,J4,IF(HIGHB1<=J3,J3-(J3-J4)/2,IF(HIGHB1<=J2,J2-(J2-J3)/2,IF(HIGHB1<=J1,J1-(J1-J2)/2,IF(HIGHB1<=HIGH1 ,HIGH1-(HIGH1-J1)/2,NULL)))));
HIGH2:=IF(HIGHB1<HIGHB2,HIGHB2,IF(HIGHB1>=HIGHB2 AND C<HIGHB2,HIGHB2,HIGHB1-(HIGHB1-HIGHB2)/2));
J22:=HIGH2+(HIGH2-LOW2)*0.191,NODRAW;
J12:=HIGH2-(HIGH2-LOW2)*0.191,NODRAW;
J42:=HIGH2-(HIGH2-LOW2)*0.618;
JZ2:=HIGH2-(HIGH2-J42)/2,NODRAW;
J52:=HIGH2-(HIGH2-LOW2)*0.809,NODRAW;
J02:=J52;
CL:=1;
AD:=REFX1(DATE<=206601,9999);//指标到期日
YYD:=HHV(H,60),COLORWHITE;
空损:=IF( HJ=2,MA(YYD,5),NULL),COLORGREEN,DOT,VALIGN0;
YY3:=HHV(H,60)-(HHV(H,60)-LLV(L,30))*0.191,COLORGRAY,VALIGN0;
做空:=IF( HJ=2,MA(YY3,5),NULL),COLORYELLOW,VALIGN0;
YYC3:=HHV(H,30)-(HHV(H,30)-LLV(L,30))*0.382,COLORLIGHTGREY,VALIGN0;
强:=IF( HJ=2,MA(YYC3,5),NULL),COLORLIGHTGREY,VALIGN0;
YYC3CD:=HHV(H,30)-(HHV(H,30)-LLV(L,30))*0.618,COLORGREEN,VALIGN0;
弱:=MA(YYC3CD,5),COLORGREEN,VALIGN0;
YYC3D:=HHV(H,30)-(HHV(H,30)-LLV(L,30))*0.809,COLORRED,VALIGN0;
做多:=IF( HJ=2,MA(YYC3D,5),NULL),COLORRED,VALIGN0;
ZZ:=LLV(L,30),VALIGN0;
多损:=IF( HJ=2,MA(ZZ,5),NULL),COLORGREEN,DOT,VALIGN0;
DRAWSL(ISLASTBAR,空损,0,1,3,COLORGREEN),VALIGN0;
DRAWSL(ISLASTBAR,多损,0,1,3,COLORGREEN),VALIGN0;
NC:=8;
KKC:=0;
TYP := IF(PERIOD>7&&AD,(HIGH + LOW + CLOSE)/3,NULL),NODRAW;
CCI1:=(TYP-MA(TYP,6))/(0.015*AVEDEV(TYP,6)),NODRAW;
CCI2:=(TYP-MA(TYP,10))/(0.015*AVEDEV(TYP,10)),NODRAW;
CCI3:=(TYP-MA(TYP,20))/(0.015*AVEDEV(TYP,20)),NODRAW;
CCI4:=(TYP-MA(TYP,30))/(0.015*AVEDEV(TYP,30)),NODRAW;
CCI5:=(TYP-MA(TYP,60))/(0.015*AVEDEV(TYP,60)),NODRAW;
CCI:=CCI1+CCI2+CCI3+CCI4+CCI5;
AAAB:=IF(PERIOD>2&&AD,(3*C+H+L+O)/6,NULL),NODRAW;
VVAR1:=(8*AAAB+7*REF(AAAB,1)+6*REF(AAAB,2)+5*REF(AAAB,3)+4*REF(AAAB,4)+3*REF(AAAB,5)+2*REF(AAAB,6)+REF(AAAB,8))/36,NODRAW;
VVAR6:=(LLV(VVAR1,2)+LLV(VVAR1,4)+LLV(VVAR1,6))/3,NODRAW;
短线:=IF(X=1 , QZS,NULL),COLORCYAN,LINETHICK1;
强线:=IF( X=1 , VVAR1, NULL),COLORWHITE,LINETHICK3;
中线:=IF( X=1 ,VVAR6, NULL),COLORLIGHTGREEN,LINETHICK2;
DRAWTEXT(PERIOD>=8 AND ISLASTBAR<>1 AND TROUGHBARS(L,20,1,1)=0 AND CL<3,L,’大底提示’),RGB(255,255,255),FONTSIZE16,VALIGN0;
DRAWTEXT(PERIOD>=8 AND ISLASTBAR<>1 AND PEAKBARS(H,20,1,1)=0 AND CL<3,H,’大顶提示’),RGB(255,255,255),FONTSIZE16,VALIGN0;
DDMS:=IF(PERIOD>=8 AND ISLASTBAR<>1 AND TROUGHBARS(L,20,1,1)=0,1,0),VALIGN0;
DMS:=IF(PERIOD>=8 AND ISLASTBAR<>1 AND PEAKBARS(H,20,1,1)=0,1,0),VALIGN0;
DRAWTEXT(ISLASTBAR<>1 AND TROUGHBARS(L,8,1,1)=0 AND DDMS<>1 AND CL<3,L,’见底提示’),RGB(0,128,255),FONTSIZE10;
DRAWTEXT(ISLASTBAR<>1 AND PEAKBARS(H,8,1,1)=0 AND DMS<>1 AND CL<3,H,’见顶提示’),RGB(255,255,255),FONTSIZE10;
DTS:=IF(ISLASTBAR<>1 AND PEAKBARS(H,8,1,1)=0,1,0),VALIGN0;
JDTS:=IF(ISLASTBAR<>1 AND TROUGHBARS(L,8,1,1)=0,1,0),COLORWHITE,VALIGN0;
DRAWTEXT((PERIOD<=13 AND ZIGZAG(C,3,1)<REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)>=REF(ZIGZAG(C,3,1),2)) AND REF(ZIGZAG(C,3,1),2)>=REF(ZIGZAG(C,3,1),3) AND DTS<>1 AND CL<3,HIGH,’卖点’),RGB(255,255,255),FONTSIZE16,VALIGN0;
DRAWTEXT((PERIOD<=13 AND ZIGZAG(C,3,1)>REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)<=REF(ZIGZAG(C,3,1),2)) AND (REF(ZIGZAG(C,3,1),2)<=REF(ZIGZAG(C,3,1),3)) AND JDTS<>1 AND CL<3,LOW,’买点’),COLORWHITE,FONTSIZE16,VALIGN0;
XZDZ:=IF((PERIOD<=13 AND ZIGZAG(C,3,1)>REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)<=REF(ZIGZAG(C,3,1),2)) AND (REF(ZIGZAG(C,3,1),2)<=REF(ZIGZAG(C,3,1),3)) AND JDTS<>1,1,0),VALIGN0;
XZDD:=IF((PERIOD<=13 AND ZIGZAG(C,3,1)<REF(ZIGZAG(C,3,1),1)) AND (REF(ZIGZAG(C,3,1),1)>=REF(ZIGZAG(C,3,1),2)) AND REF(ZIGZAG(C,3,1),2)>=REF(ZIGZAG(C,3,1),3) AND DTS<>1,1,0),VALIGN0;
DRAWTEXT(ISLASTBAR<>1 AND PEAKBARS(H,3,1,1)=0 AND XZDD<>1 AND DMS<>1 AND DTS<>1 AND CL<3,HIGH,’转跌’),COLORGREEN,FONTSIZE12,VALIGN0;
DRAWTEXT(ISLASTBAR<>1 AND TROUGHBARS(L,3,1,1)=0 AND XZDZ<>1 AND DDMS<>1 AND JDTS<>1 AND CL<3,LOW,’转支’),COLORRED,FONTSIZE12,VALIGN0;
TY:=(CLOSE+HIGH+LOW)/3;
CCIB:=(TY-MA(TY,14))/(0.015*AVEDEV(TY,14));
YY:=IF(BG<>0 AND CCIB<100 AND CCIB>0,1,0);
DRAWTEXT(YY=1 AND XZDD<>1,H,’空强跌’),RGB(255,0,255);
P:=2;
MID:=MA(C,21);
UPPER:= MID+P*STD(C,21);
LOWER:= MID – P*STD(C,21);
AT:=MA(C,20),COLORBLUE;
通道限宽:=(C-LOWER)/(UPPER-LOWER),COLORRED;
通道极限:=100*(C-AT)/STD(C,21),COLORWHITE;
通道趋势:=EMA(通道极限,3),COLORMAGENTA;
DRAWTEXT(BD<>0 AND FDB0=1 AND 极点保留=-1 AND CCIB<-100 AND 通道极限>-100 AND XZDZ<>1,L,’多强买’),RGB(255,255,255),VALIGN0;
GLQD2:=IF(BD<>0 AND FDB0=1 AND 极点保留=-1 AND CCIB<-100 AND 通道极限>-100,1,0);
DRAWTEXT(GLQD2<>1 AND BD<>0 AND FDB0=1 AND 极点保留=-1 AND CCIB<-100 AND 通道极限>-170 AND XZDZ<>1,L,’偏多反弹’),COLORMAGENTA,VALIGN0;
XJ:=IF(BD<>0 AND FDB0=1 AND 极点保留=-1 AND CCIB<-100 AND 通道极限<-170,LLV(L,60),0);
//DRAWTEXT(BD<>0 AND FDB0=1 AND 极点保留=-1 AND CCIB<-100 AND 通道极限<-170 AND JDTS<>1 AND L<XJ,L,’超卖涨’),COLORRED;
DRAWTEXT(BD<>0 AND FDB0=1 AND 极点保留=-1 AND CCIB<-100 AND 通道极限<-170 AND L>=XJ AND JDTS<>1 AND XZDZ<>1,L,’超卖涨’),COLORYELLOW,VALIGN0;
XJGL:=IF(BD<>0 AND FDB0=1 AND 极点保留=-1 AND CCIB<-100 AND 通道极限<-170 AND L>=XJ AND JDTS<>1 AND XZDZ<>1,1,0);
DRAWTEXT(((BD<>0 AND FDB0=1) OR (BD<>0 AND 极点保留=-1)) AND CCIB<0 AND CCIB>-100 AND 通道极限<0 AND 通道极限>-100 AND JDTS<>1 AND XJGL<>1 ,L,’偏多反弹’),COLORCYAN,VALIGN0;
XX1:=IF(BD<>0 AND CCIB>0 OR 通道极限>0,1,NULL);
DRAWTEXT(XX1=1 AND BD<>0,L,’多强买’),VALIGN0,RGB(255,0,255);
ZDG1:=REF(HHV(H,5),8) ,NODRAW;
ZDG2:=REF(HHV(H,5),16) ,NODRAW;
ZDG3:=REF(HHV(H,5),24) ,NODRAW;
ZDG4:=REF(HHV(H,5),32) ,NODRAW;
ZDG5:=REF(HHV(H,5),40) ,NODRAW;
ZDG6:=REF(HHV(H,5),48) ,NODRAW;
ZDG7:=REF(HHV(H,5),56) ,NODRAW;
DPD:=IF(BG<>0 AND FGB0=1 AND H<=ZDG1 ,1,0);
PD1:=IF(BG<>0 AND FGB0=1 AND H<=ZDG2,DPD+1,DPD);
PD2:=IF(BG<>0 AND FGB0=1 AND H<=ZDG3,PD1+1,PD1);
PD3:=IF(BG<>0 AND FGB0=1 AND H<=ZDG4,PD2+1,PD2);
PD4:=IF(BG<>0 AND FGB0=1 AND H<=ZDG5,PD3+1,PD3);
PD5:=IF(BG<>0 AND FGB0=1 AND H<=ZDG6,PD4+1,PD4);
PD6:=IF(BG<>0 AND FGB0=1 AND H<=ZDG7,PD5+1,PD5);
背离次数:=PD6,NODRAW;
GLQD:=IF(BG<>0 AND FGB0=1 AND 极点保留=1 AND CCIB>100 AND 通道极限<170,1,0);
GLQD1:=IF(BG<>0 AND FGB0=1 AND 极点保留=1 AND CCIB>100 AND 通道极限>170 AND DTS<>1,1,0);
DRAWTEXT(GLQD<>1 AND GLQD1<>1 AND YY<>1 AND ( PD6>=4) AND ((CCIB>100 AND 通道极限>170) OR (CCIB<100 AND 通道极限<170 )) ,H,’起跌’),COLORGREEN;
DRAWTEXT(BG<>0 AND FGB0=1 AND 极点保留=1 AND CCIB>100 AND 通道极限<170 AND XZDD<>1,H,’超买跌’),COLORCYAN;
DRAWTEXT(BG<>0 AND FGB0=1 AND 极点保留=1 AND CCIB>100 AND 通道极限>170 AND DTS<>1 AND XZDD<>1,H,’超买跌’),COLORCYAN;
CMGL:=IF(BG<>0 AND FGB0=1 AND 极点保留=1 AND CCIB>100 AND 通道极限<170 AND XZDD<>1,1,0);
CMGL1:=IF(BG<>0 AND FGB0=1 AND 极点保留=1 AND CCIB>100 AND 通道极限>170 AND DTS<>1 AND XZDD<>1,1,0);
DRAWTEXT(((BG<>0 AND FGB0=1) OR (FGB0=1 AND 极点保留=1) OR (BG<>0 AND 极点保留=1) OR FGB0=1) AND CCIB>100 AND 通道极限>100 AND DTS<>1 AND XZDD<>1 AND CMGL<>1 AND CMGL1<>1,H,’超买跌’),COLORCYAN;
JS:=IF(ISLASTBAR=1,1,0);
//价格上涨彩色K(趋势)多增红多减绿,通用程序
NNC:=BARSLAST(DATE<>REF(DATE,1))+1;
仓1:=OPI-REF(OPI,NNC);
VARL:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));
成交:VOL,COLORMAGENTA,NODRAW,VALIGN0;
持仓量:OPI,NODRAW,VALIGN0;
主动买盘:=IF(CLOSE>OPEN,VARL*(HIGH-LOW),IF(CLOSE<OPEN,VARL*((HIGH-OPEN)+(CLOSE-LOW)),VOL/2)),COLORRED,NODRAW,VALIGN0;
主动卖盘:=IF(CLOSE>OPEN,VARL*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE<OPEN,VARL*(HIGH-LOW),VOL/2)),COLORCYAN,NODRAW,VALIGN0;
DRAWTEXT(ISLASTBAR=1 AND 通道极限>170 ,L,’超买’),COLORYELLOW,FONTSIZE11,VALIGN0;
DRAWTEXT(ISLASTBAR=1 AND 通道极限<-170 ,H,’超卖’),COLORYELLOW,FONTSIZE11,VALIGN0;
DRAWKLINE1(H,O,L,C);
////(1) 求出高点
// 前面第2(N)根K线是最近7(2N+1)根K线的最高价
// 将7(2N+1)根K线的最高价那根K线之后的N根K线设置为1
C1:=BACKSET(B1,N+1),NODRAW;
////(2) 求出低点
// 前面第3(N)根K线是最近7(2N+1)根K线的最低价
A2:=REF(LOW,N)=LLV(LOW,2*N+1);
/* 以上为该指标使用的判断高低的逻辑 */
////(5) 求出最近的3组高低点(多)
////(6) 买点
// (6.1) 均线
MA55:MA(C,55),NODRAW;
MA233:MA(C,233),NODRAW;
多均线 := MA5>MA10&&MA10>MA55&&MA55>MA233&&C>MA233 && C>REF(H,1);
空均线 := MA5<MA10&&MA10<MA55&&MA55<MA233&&C<MA233 && C<REF(L,1);
// (6.2) 形态1
//多形态 := 3DP<3GP && 3D<=2D+30*MINPRICE && 3D>=2D*2-2G && (2G-1D)>1.5*(2G-2D) ;
//空形态 := 3GP<3DP && 3G>=2G-30*MINPRICE && 3G<=2G*2-2D && (1G-2D)>1.5*(2G-2D) ;
QQ:=1;
W1:=BARSLASTCOUNT(ISDOWN=0)>0 AND REFX(ISDOWN,1) AND QQ ;
W3:=BARSLASTCOUNT(ISUP=0)>0 AND REFX(ISUP,1) AND QQ;
DRAWLINE1(W1,H,W3,L,0),RGB(255,255,255),LINETHICK2;
DRAWLINE1(W3,L,W1,H,0),RGB(255,255,255),LINETHICK2;
W1,WORD(1,’小顶’),RGB(255,255,0),VALIGN0,FONTSIZE15;
W3,WORD(0,’小底’),RGB(255,255,0),VALIGN2,ALIGN0,FONTSIZE15;
DRAWSL(W1&&H>REF(VALUEWHEN(W1,H),1),H,0,-SUMBARS(W1,2)+1,0,COLORRED);
DRAWLINE3(W1&&H>REF(VALUEWHEN(W1,H),1),H,SUMBARS(W1,2)-1,1,REF(VALUEWHEN(W1,H),1),SUMBARS(W1,2)-1,0),COLORRED;
DRAWSL(W3&&L<REF(VALUEWHEN(W3,L),1),L,0,-SUMBARS(W3,2)+1,0,COLORCYAN);
DRAWLINE3(W3&&L<REF(VALUEWHEN(W3,L),1),L,SUMBARS(W3,2)-1,1,REF(VALUEWHEN(W3,L),1),SUMBARS(W3,2)-1,0),COLORCYAN;
COND1:=C>HV(H,5) &&ISUP && V>HV(V,4) && OPI>HV(OPI,4);
COND2:=C<LV(L,5) &&ISDOWN && V<LV(V,4) && OPI<LV(OPI,4);
DIFF:=EMA(CLOSE,12) – EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
MLD:=VALUEWHEN(CROSS(DIFF,DEA),LLV(MACD,N2));//上次MACD绿柱期间MACD最小值
MLD2:=VALUEWHEN(CROSS(DIFF,DEA),REF(MLD,1));//上上次MACD绿柱期间MACD最小值
DRAWTEXT(JC,L,’C金’),RGB(255,255,255),FONTSIZE18,VALIGN0;
DRAWTEXT(SC,L,’C死’),RGB(0,128,255),FONTSIZE18,VALIGN2;
MA20:=MA(C,20);
买线:=ZIGZAG(C,1,1);
卖线:=MA(买线,3);
CAPITAL:=GETPRICE1(‘流通股本’);
换手:=V/CAPITAL*100;
基线:=MA(REF(LLV(C,30),1),2),NODRAW;
AMOUNT:=AVPRICE*V;
量能饱和度:=IF((AMOUNT/C)/(HHV(AMOUNT,20)/HHV(C,20))*100>100,100,(AMOUNT/C)/(HHV(AMOUNT,20)/HHV(C,20))*100),NODRAW;
MA8:=MA(C,8),COLORYELLOW;
MA13:=MA(C,13),COLORE66878;
MA50:=MA(C,50),COLORWHITE;
MA144:=MA(C,144),COLORBLUE;
X1:=(C+L+H)/3;
X2:=EMA(X1,6);
X3:=EMA(X2,5);
VARF1:=100-3*SMA((CLOSE-LLV(LOW,75))/(HHV(HIGH,75)-LLV(LOW,75))*100,20,1)+2*SMA(SMA((CLOSE-LLV(LOW,75))/(HHV(HIGH,75)-LLV(LOW,75))*100,20,1),15,1);
VAR101:=100-3*SMA((OPEN-LLV(LOW,75))/(HHV(HIGH,75)-LLV(LOW,75))*100,20,1)+2*SMA(SMA((OPEN-LLV(LOW,75))/(HHV(HIGH,75)-LLV(LOW,75))*100,20,1),15,1);
VAR111:=VARF1<REF(VAR101,1) AND VOL>REF(VOL,1) AND CLOSE>REF(CLOSE,1);
游资:=(VAR111 AND COUNT(VAR111,30)=1 AND 买线>=卖线);
//DRAWTEXT(游资,(基线*0.97),’–游资进’),COLORBLUE;
//STICKLINE(游资,(基线*0.96),(基线+0.2),9,0),COLORBLUE;
VARS1:=(C-LLV(L,36))/(HHV(H,36)-LLV(L,36))*100;
VARS2:=SMA(VARS1,3,1);
VARS3:=SMA(VARS2,3,1);
VARS4:=SMA(VARS3,3,1);
抄底:=((FILTER((CROSS(VARS3,VARS4) AND VARS3<20),10)=1) AND 买线>=卖线);
//DRAWTEXT(抄底,(基线*0.94),’–抄底’),COLORFF00FF;
//STICKLINE(抄底,(基线*0.92),基线,9,0),COLORFF00FF;
FF:=(CROSS(X2,X3) AND (买线>=卖线));
F:=100*(C-REF(C,1))/REF(C,1);
S1:=IF(C<REF(O,1) AND F<0,1,0);
S2:=IF(C<REF(O,2) AND F<0,1,0);
短买点:=((CROSS((SMA(MAX(C-(REF(C,1)),0),4.1,1)/SMA(ABS(C-(REF(C,1))),4.1,1)*100),11)*1) AND S1=0 AND REF(S1,1)=1 AND S2=0 AND REF(S2,1)=1 AND 换手>=3 AND 买线>=卖线);
VAR5:=(3*(SMA(SMA(((C-LLV(L,20))/(HHV(H,20)-LLV(L,20))*100),3,1),3,1)/28.57)-2*(EMA((SMA(SMA(((C-LLV(L,20))/(HHV(H,20)-LLV(L,20))*100),3,1),3,1)/28.57),5)));
奔牛:=(CROSS(VAR5,(SMA(SMA(((C-LLV(L,20))/(HHV(H,20)-LLV(L,20))*100),3,1),3,1)/28.57)) AND 买线>=卖线);
VARQ1:=EMA(CLOSE,3);
VARQ2:=EMA(CLOSE,21);
VARQ3:=BARSLAST(CROSS(VARQ2,VARQ1))>15;
VARQ4:=VOL>MA(VOL,5)*2 AND VOL<MA(VOL,5)*5;
黑马:=((CROSS(VARQ1,VARQ2) AND VARQ4 AND VARQ3) AND 买线>=卖线);
波段买点:=CROSS((ZIGZAG(C,10,1)),(MA((ZIGZAG(C,10,1)),3)));
DRAWTEXT(波段买点,(基线-2*MINPRICE),’●’),RGB(128,0,255),FONTSIZE45;
//STICKLINE1(波段买点,(基线*0.96),基线,9,0),COLORRED;
VARDD:=(ZIGZAG(C,5,1)<REF(ZIGZAG(C,5,1),1)) AND (REF(ZIGZAG(C,5,1),1)>=REF(ZIGZAG(C,5,1),2)) AND (REF(ZIGZAG(C,5,1),2)>=REF(ZIGZAG(C,5,1),3));
DRAWTEXT((VARDD=1),(H+5*MINPRICE),’●’),RGB(255,255,255),VALIGN1,FONTSIZE50;
//STICKLINE1((VARDD=1),(H*1.01),(H*1.03),9,0),COLORWHITE;