M:11;//M值需要大于等于11;
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:=G01=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;
PP:=H REF(HHV(H,5),5) H REFX(HHV(H,5),5);
LL:=L REF(LLV(L,5),5) L REFX(LLV(L,5),5);
DRAWICON(CROSS(PP,0.5),H,5),VALIGN0;//画图标
DRAWICON(CROSS(LL,0.5),L,4),VALIGN0;//画图标
DRAWLINE1(HHH ,H,LLL,L,0),COLORGREEN,DASHDOTDOT;//绿色
DRAWLINE1(LLL,L,HHH ,H,0),COLORRED,DASHDOTDOT;//红色