G:=MA(C,5);
D:=EMA2(C,5);
//求上一个满足7个周期高低点
NNH:=BARSLAST(H=HHV(H,10)) ,NODRAW,NOTEXT;
NNL:=BARSLAST(L=LLV(L,10)) ,NODRAW,NOTEXT;
NN:=IF(REF(G,NNH)>REF(D,NNH) AND NNH<=4,NNH,IF(REF(G,NNL)<REF(D,NNL) AND NNL<=4,NNL,5)) ,NODRAW,NOTEXT;
N:=IF(ISLASTBAR AND NN>0,NN,5),NODRAW,NOTEXT;
HH_1:=REF(H,N)=HHV(H,6);
LL_1:=REF(L,N)=LLV(L,6);
FG01:BACKSET(HH_1,N+1)>BACKSET(HH_1,N),NODRAW,NOTEXT;//只设置前面第6个
FD01:BACKSET(LL_1,N+1)>BACKSET(LL_1,N) ,NODRAW,NOTEXT;
FG02:=FG01=FD01 AND G>D,NODRAW,NOTEXT;
FD02:FG01=FD01 AND G<D,NODRAW,NOTEXT;
TTTT:BARSLAST(FD01),NODRAW,NOTEXT;
FG0:=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,NOTEXT;
FD0:=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,NOTEXT;
//高低点间周期
GT:BARSLAST(FG0),NODRAW,NOTEXT;
DT:BARSLAST(FD0),NODRAW,NOTEXT;
//第一次处理高低点间多余的点
LLLL:DT=0 AND REF(DT,1)<GT AND L>REF(L,REF(DT,1)+1),NODRAW,NOTEXT;
FG1:BACKSET(REFX(GT,1)=0 AND GT<DT AND REFX(H,1)>=REF(H,GT),GT+1),NODRAW,NOTEXT;
FD1:BACKSET(REFX(DT,1)=0 AND DT<GT AND REFX(L,1)<=REF(L,DT),DT+1),NODRAW,NOTEXT;
FG11:IF(GT=0 AND REF(GT,1)<DT AND IF(REF(G,BARSLAST(L=LLV(L,7)))>REF(D,BARSLAST(L=LLV(L,7))),BARSLAST(L=LLV(L,7))<5,1) AND H<REF(H,REF(GT,1)+1),1,0),NODRAW,NOTEXT;
FD11:IF(DT=0 AND REF(DT,1)<GT AND IF(REF(G,BARSLAST(H=HHV(H,7)))<REF(D,BARSLAST(H=HHV(H,7))),BARSLAST(H=HHV(H,7))<5,1) AND L>REF(L,REF(DT,1)+1),1,0),NODRAW,NOTEXT;
//再次周期
GT1:BARSLAST(FG11<>1 AND FG1<>1 AND FG0),NODRAW,NOTEXT;
DT1:BARSLAST(FD11<>1 AND FD1<>1 AND FD0),NODRAW,NOTEXT;
FD2:BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)>LLV(L,GT1+5),DT1+1),NODRAW,NOTEXT;
FG2A:BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)<=LLV(L,GT1+5) AND REF(H,GT1)>HHV(H,GT1+5),GT1+1),NODRAW,NOTEXT;
FG2B:IF(GT1=0 AND DT1<4 AND REF(GT1,1)-DT1<4 AND REF(L,DT1)<=LLV(L,REF(GT1,1)+6) AND H>HHV(H,REF(GT1,1)+6),1,0),NODRAW,NOTEXT;
FG2:BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)<HHV(H,DT1+5),GT1+1),NODRAW,NOTEXT;
FD2A:BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)>=HHV(L,DT1+5) AND REF(L,DT1)>LLV(L,DT1+5),DT1+1),NODRAW,NOTEXT;
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)+6),1,0),NODRAW,NOTEXT;
TTTTTT: H<REF(H,REF(GT1,1)+1) AND DT1<4,NODRAW,NOTEXT;
HHHHHH:REF(LLV(L,10),DT1),NODRAW,NOTEXT;
//前长后短;
FG21:IF(GT1=0 AND DT1<4 AND H<=REF(H,REF(GT1,1)+1) ,1,0),NODRAW,NOTEXT;
FD21:IF(DT1=0 AND GT1<4 AND L>=REF(L,REF(DT1,1)+1) ,1,0),NODRAW,NOTEXT;
//前短后长,前低后高(去低);
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,NOTEXT;
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,NOTEXT;
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,NOTEXT;
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,NOTEXT;
FDD23:REF(H,GT1)<REF(HHV(H,10),GT1) OR REF(FD23,DT1)=0,NODRAW,NOTEXT;
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,NOTEXT;
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,NOTEXT;
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,NOTEXT;
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,NOTEXT;
FG3:BACKSET(REFX(GT2,1)=0 AND GT2<DT2 AND REFX(H,1)>=REF(H,GT2),GT2+1),NODRAW,NOTEXT;
FD3:BACKSET(REFX(DT2,1)=0 AND DT2<GT2 AND REFX(L,1)<=REF(L,DT2),DT2+1),NODRAW,NOTEXT;
FG31:IF(GT2=0 AND REF(GT2,1)<DT2 AND H<REF(H,REF(GT2,1)+1),1,0),NODRAW,NOTEXT;
FD31:IF(DT2=0 AND REF(DT2,1)<GT2 AND L>REF(L,REF(DT2,1)+1),1,0),NODRAW,NOTEXT;
GT3:BARSLAST(GT2=0 AND FG3<>1 AND FG31<>1 ),NODRAW,NOTEXT;
DT3:BARSLAST(DT2=0 AND FD3<>1 AND FD31<>1),NODRAW,NOTEXT;
FG4:BACKSET(REFX(GT3,1)=0 AND GT3<DT3 AND REFX(H,1)>=REF(H,GT3),GT3+1),NODRAW,NOTEXT;
FD4:BACKSET(REFX(DT3,1)=0 AND DT3<GT3 AND REFX(L,1)<=REF(L,DT3),DT3+1),NODRAW,NOTEXT;
FG41:IF(GT3=0 AND REF(GT3,1)<DT3 AND H<REF(H,REF(GT3,1)+1),1,0),NODRAW,NOTEXT;
FD41:IF(DT3=0 AND REF(DT3,1)<GT3 AND L>REF(L,REF(DT3,1)+1),1,0),NODRAW,NOTEXT;
HHH:=GT3=0 AND FG31<>1 AND FG3<>1,NODRAW,NOTEXT;
LLL:=DT3=0 AND FD31<>1 AND FD3<>1,NODRAW,NOTEXT;
DRAWCOLORKLINE( HHH ,COLORMAGENTA,0);//绘制;K线
DRAWCOLORKLINE(LLL,COLORGREEN,0);//绘制;K线
//DRAWCOLORKLINE(HHH,COLORBLUE,0);//绘制;K线
DRAWCOLORKLINE(LLL,COLORGREEN,0); //绘制;K线
//--------------------------------高低点
// {笔底分型 选股 预警 确保向下笔成立后的底分型}
V00:=HIGH<REF(HIGH,1) AND LOW<REF(LOW,1);
V01:=HIGH<REF(HIGH,1) AND LOW>REF(LOW,1);
V02:=HIGH>REF(HIGH,1) AND LOW<REF(LOW,1);
V03:=HIGH>REF(HIGH,1) AND LOW>REF(LOW,1);
V04:=REF(HIGH,2) < HIGH AND REF(LOW,2) < LOW AND REF(HIGH,2) > REF(HIGH,1) AND REF(LOW,2) < REF(LOW,1);
V1:= COUNT(V00,6)>=3 AND COUNT(V01 OR V02,5)=0 AND LLVBARS(LOW,6) = 1 AND HHVBARS(HIGH,6) >= 5 AND V03;
V2:= COUNT(V00,7)>=3 AND COUNT(V01 OR V02,6)=1 AND LLVBARS(LOW,7) = 2 AND HHVBARS(HIGH,7) >= 6 AND V04;
V3:= COUNT(V00,7)>=3 AND COUNT(V01 OR V02,6)=1 AND LLVBARS(LOW,7) = 1 AND HHVBARS(HIGH,7) >= 6 AND V03;
V4:= COUNT(V00,8)>=3 AND COUNT(V01 OR V02,7)<=2 AND LLVBARS(LOW,8) = 2 AND HHVBARS(HIGH,8) >= 7 AND V04;
V5:= COUNT(V00,8)>=3 AND COUNT(V01 OR V02,7)<=2 AND LLVBARS(LOW,8) = 1 AND HHVBARS(HIGH,8) >= 7 AND V03;
V6:= COUNT(V00,9)>=3 AND COUNT(V01 OR V02,8)<=3 AND LLVBARS(LOW,9) = 2 AND HHVBARS(HIGH,9) >= 8 AND V04;
V7:= COUNT(V00,9)>=3 AND COUNT(V01 OR V02,8)<=3 AND LLVBARS(LOW,9) = 1 AND HHVBARS(HIGH,9) >= 8 AND V03;
V8:= COUNT(V00,10)>=3 AND COUNT(V01 OR V02,9)<=4 AND LLVBARS(LOW,10) = 2 AND HHVBARS(HIGH,10) >= 9 AND V04;
V9:= COUNT(V00,10)>=3 AND COUNT(V01 OR V02,9)<=4 AND LLVBARS(LOW,10) = 1 AND HHVBARS(HIGH,10) >= 9 AND V03;
V10:=COUNT(V00,11)>=3 AND COUNT(V01 OR V02,10)<=5 AND LLVBARS(LOW,11) = 2 AND HHVBARS(HIGH,11) >= 10 AND V04;
XG:= V1 OR V2 OR V3 OR V4 OR V5 OR V6 OR V7 OR V8 OR V9 OR V10;
//DRAWICON(FILTER(XG=1,5),L*1,4),VALIGN0;//绘制;图标
{底分型}
{笔顶分型 选股 预警 确保向上笔成立后的顶分型}
HV00:=HIGH>REF(HIGH,1) AND LOW>REF(LOW,1);
HV01:=HIGH<REF(HIGH,1) AND LOW>REF(LOW,1);
HV02:=HIGH>REF(HIGH,1) AND LOW<REF(LOW,1);
HV03:=HIGH<REF(HIGH,1) AND LOW<REF(LOW,1);
HV04:=REF(HIGH,2) > HIGH AND REF(LOW,2) > LOW AND REF(HIGH,2) > REF(HIGH,1) AND REF(LOW,2) < REF(LOW,1);
HV1:= COUNT(HV00,6)>=3 AND COUNT(HV01 OR HV02,5)=0 AND HHVBARS(HIGH,6) = 1 AND LLVBARS(LOW,6) >= 5 AND HV03;
HV2:= COUNT(HV00,7)>=3 AND COUNT(HV01 OR HV02,6)=1 AND HHVBARS(HIGH,7) = 2 AND LLVBARS(LOW,7) >= 6 AND HV04;
HV3:= COUNT(HV00,7)>=3 AND COUNT(HV01 OR HV02,6)=1 AND HHVBARS(HIGH,7) = 1 AND LLVBARS(LOW,7) >= 6 AND HV03;
HV4:= COUNT(HV00,8)>=3 AND COUNT(HV01 OR HV02,7)<=2 AND HHVBARS(HIGH,8) = 2 AND LLVBARS(LOW,8) >= 7 AND HV04;
HV5:= COUNT(HV00,8)>=3 AND COUNT(HV01 OR HV02,7)<=2 AND HHVBARS(HIGH,8) = 1 AND LLVBARS(LOW,8) >= 7 AND HV03;
HV6:= COUNT(HV00,9)>=3 AND COUNT(HV01 OR HV02,8)<=3 AND HHVBARS(HIGH,9) = 2 AND LLVBARS(LOW,9) >= 8 AND HV04;
HV7:= COUNT(HV00,9)>=3 AND COUNT(HV01 OR HV02,8)<=3 AND HHVBARS(HIGH,9) = 1 AND LLVBARS(LOW,9) >= 8 AND HV03;
HV8:= COUNT(HV00,10)>=3 AND COUNT(HV01 OR HV02,9)<=4 AND HHVBARS(HIGH,10) = 2 AND LLVBARS(LOW,10) >= 9 AND HV04;
HV9:= COUNT(HV00,10)>=3 AND COUNT(HV01 OR HV02,9)<=4 AND HHVBARS(HIGH,10) = 1 AND LLVBARS(LOW,10) >= 9 AND HV03;
HV10:=COUNT(HV00,11)>=3 AND COUNT(HV01 OR HV02,10)<=5 AND HHVBARS(HIGH,11) = 2 AND LLVBARS(LOW,11) >= 10 AND HV04;
HXG:= HV1 OR HV2 OR HV3 OR HV4 OR HV5 OR HV6 OR HV7 OR HV8 OR HV9 OR HV10;
//DRAWICON(FILTER(HXG=1,3),H*1,5),VALIGN2;//绘制;图标
//DRAWTEXT(HXG,H,'顶分型');
//DRAWTEXT(XG,L,'底分型'),VALIGN0; //------------------------------------分型
DRAWTEXT(HXG&&BARSLAST(HHH)<=2,H,'卖'),RGB(255,255,255),FONTSIZE16;
DRAWTEXT(XG&&BARSLAST(LLL)<=2,L,'买'),RGB(255,255,255),FONTSIZE16,VALIGN0; // ------------------------------------分型
缠论线开关:=1;//笔中枢;
展F:=10;
MA8:=1;
HH展BDD:=(H>HV(H,展F))*缠论线开关*MA8;
NH展BDD:=(BARSLAST(HH展BDD)+1)*缠论线开关*MA8;
LL展BDD:=(L<LV(L,展F))*缠论线开关*MA8;
NL展BDD:=(BARSLAST(LL展BDD)+1)*缠论线开关*MA8;
AH展BDD:=(BACKSET(COUNT(LL展BDD,NH展BDD)&&LL展BDD,NH展BDD))*缠论线开关*MA8;
AL展BDD:=(BACKSET(COUNT(HH展BDD,NL展BDD)&&HH展BDD,NL展BDD))*缠论线开关*MA8;
DRAWLINE1(CROSS(AH展BDD=1,0.5),H,CROSS(AL展BDD=1,0.5),L,0),RGB(200,200,200),LINETHICK3;//波峰波谷 ;斜线一笔↘↘↘
DRAWLINE1(CROSS(AL展BDD=1,0.5),L,CROSS(AH展BDD=1,0.5),H,0),RGB(230,230,230),LINETHICK3;//波峰波谷 ;斜线一笔↗↗↗
//DRAWNUMBER(CROSS(AH展BDD=1,0.5),H+0*MINPRICE,H-VALUEWHEN(CROSS(AL展BDD=1,0.5),L),1,COLORYELLOW),ALIGN0,VALIGN2,FONTSIZE16;//波峰波谷 点位标记
//DRAWNUMBER(CROSS(AL展BDD=1,0.5),L-0*MINPRICE,L-VALUEWHEN(CROSS(AH展BDD=1,0.5),H),1,COLORGREEN),ALIGN0,VALIGN0,FONTSIZE16;//波峰波谷 点位标记
LX:=AL展BDD, NOTEXT;
HX:=AH展BDD, NOTEXT;
笔:=1;
//1、本级别 (BOLL26)笔:
//DRAWLINE1(笔*CROSS(LX=1,0.5),L,CROSS(HX=1,0.5),H,0),RGB(168,168,168),DOT;//画笔,虚线;
//DRAWLINE1(笔*CROSS(HX=1,0.5),H,CROSS(LX=1,0.5),L,0),RGB(168,168,168),DOT;//画笔,虚线;
//BOLL26最后一笔(未完成);
//HH:=CROSS(HX=1,0.5);
//LL:=CROSS(LX=1,0.5);
HH:CROSS(AH展BDD=1,0.5), NOTEXT;
LL:CROSS(AL展BDD=1,0.5), NOTEXT;
DRAWLINE3(笔*ISLASTBAR&&BARSLAST(HH)<BARSLAST(LL),笔*VALUEWHEN(HH,H),笔*BARSLAST(HH),1,LLV(L,BARSLAST(HH)),LLVBARS(L,BARSLAST(HH)),0),RGB(255,255,255),LINETHICK1;//BOLL26最后一笔(未完成),向下笔;↘↘↘
DRAWLINE3(笔*ISLASTBAR&&BARSLAST(HH)>BARSLAST(LL),笔*VALUEWHEN(LL,L),笔*BARSLAST(LL),1,HHV(H,BARSLAST(LL)),HHVBARS(H,BARSLAST(LL)),0),RGB(255,255,255),LINETHICK1;//BOLL26最后一笔(未完成),向上笔;↗↗↗
//3.3、倒数第3笔(已完成);
BADS3:=BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5)||CROSS(HX=1,0.5),3));
BBDS3:=BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5)||CROSS(HX=1,0.5),4));
//DRAWLINE1(笔*CROSS(LX=1,0.5)&&BBDS3=1&&BADS3=0,L,CROSS(HX=1,0.5),H,0),COLORGREEN,LINETHICK3;//向上笔(倒数3),紫红色;↘↘
//DRAWLINE1(笔*CROSS(HX=1,0.5)&&BBDS3=1&&BADS3=0,H,CROSS(LX=1,0.5),L,0),COLORGREEN,LINETHICK3;//向下笔(倒数3),紫红色;↗↗
//2.2、倒数第2笔(已完成);
BADS2:=BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5)||CROSS(HX=1,0.5),2));
BBDS2:=BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5)||CROSS(HX=1,0.5),3));
//DRAWLINE1(笔*CROSS(LX=1,0.5)&&BBDS2=1&&BADS2=0,L,CROSS(HX=1,0.5),H,0),RGB(0,250,0),LINETHICK3;//向上笔(倒数2),紫红色;↘↘
//DRAWLINE1(笔*CROSS(HX=1,0.5)&&BBDS2=1&&BADS2=0,H,CROSS(LX=1,0.5),L,0),RGB(0,250,0),LINETHICK3;//向下笔(倒数2),紫红色;↗↗
//1.1、倒数第1笔(已完成);
BADS1:=BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5)||CROSS(HX=1,0.5),1));
BBDS1:=BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5)||CROSS(HX=1,0.5),2));
//DRAWLINE1(笔*CROSS(LX=1,0.5)&&BBDS1=1&&BADS1=0,L,CROSS(HX=1,0.5),H,0),RGB(0,250,0),LINETHICK3;//向上笔(倒数1),紫红色;↘↘
//DRAWLINE1(笔*CROSS(HX=1,0.5)&&BBDS1=1&&BADS1=0,H,CROSS(LX=1,0.5),L,0),RGB(0,250,0),LINETHICK3;//向下笔(倒数1),紫红色;↗↗
//3.1、BOLL26笔(已完成)的每笔长度;【涨跌?;点数】
//DRAWNUMBER1(笔*REFX(CROSS(LX=1,0.5),5),REFX(L,5),REFX((L-VALUEWHEN(CROSS(HX=1,0.5),H)),5),2),ALIGN1,VALIGN1,RGB(0,128,128);//向下笔(已完成)长度,保留2位小数;ⅩⅩⅩ
//DRAWNUMBER1(笔*REFX(CROSS(HX=1,0.5),5),REFX(H,5),REFX((H-VALUEWHEN(CROSS(LX=1,0.5),L)),5),2),ALIGN1,VALIGN1,RGB(0,128,128);//向上笔(已完成)长度,保留2位小数;ⅩⅩⅩ
//BOLL26最后一笔(未完成)长度;【涨跌?;点数】
BX1:=CROSS(BACKSET(ISLASTBAR&&BARSLAST(HH)<BARSLAST(LL),LLVBARS(L,BARSLAST(HH))+1),0.5);
BX2:=CROSS(BACKSET(ISLASTBAR&&BARSLAST(HH)>BARSLAST(LL),HHVBARS(H,BARSLAST(LL))+1),0.5);
//DRAWNUMBER1(笔*REFX(BX1,5),REFX(L,5),REFX((L-VALUEWHEN(CROSS(HX=1,0.5),H)),5),2),ALIGN1,VALIGN2,RGB(230,230,230);//向下笔(未完成)长度,保留2位小数;ⅩⅩⅩ
//DRAWNUMBER1(笔*REFX(BX2,5),REFX(H,5),REFX((H-VALUEWHEN(CROSS(LX=1,0.5),L)),5),2),ALIGN1,VALIGN0,RGB(230,230,230);//向上笔(未完成)长度,保留2位小数;ⅩⅩⅩ
//DRAWSHIFTNUMBER(CROSS(HX=1,0.5),H,H,0,RGB(0,200,0),1,+2),FONTSIZE17,ALIGN0;//点位标记﹩﹩【波峰 波谷点位】
//DRAWSHIFTNUMBER(CROSS(LX=1,0.5),L,L,0,RGB(250,150,0),1,+2),FONTSIZE17,ALIGN0,VALIGN0;//点位标记﹩﹩【波峰 波谷点位】
BAA:=IF(CROSS(LX=1,0.5),L,H);
BBB:=BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5)||CROSS(HX=1,0.5),4));
//DRAWTEXT(笔*BBB&&CROSS(HX=1,0.5)&&COUNT(CROSS(HX=1,0.5),BARSLASTCOUNT(BBB))=1,H,' H2 '),ALIGN0,FONTSIZE18,RGB(255,0,255);//倒数第2个高点标注文字;H2
//DRAWTEXT(笔*BBB&&CROSS(HX=1,0.5)&&COUNT(CROSS(HX=1,0.5),BARSLASTCOUNT(BBB))=2,H,' H1 '),ALIGN0,FONTSIZE18,RGB(255,0,255);//倒数第1个高点标注文字;H1
//DRAWTEXT(笔*BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=1,L,' L2 '),ALIGN0,VALIGN0,FONTSIZE18,COLORMAGENTA;//倒数第2个低点标注文字;L2
//DRAWTEXT(笔*BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=2,L,' L1 '),ALIGN0,VALIGN0,FONTSIZE18,COLORMAGENTA;//倒数第1个低点标注文字;L1
//DRAWTEXT(笔*BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=2&&L>REF(L,BARSLAST(笔*BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=1)),L*0.9985,' 底'),ALIGN0,VALIGN0,FONTSIZE20,RGB(230,230,0);//倒数第1个低点标注文字;
BAA0:=BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5)||CROSS(HX=1,0.5),5));
//DRAWTEXT(笔*CROSS(BAA0>=1,0.5) && CROSS(LX=1,0.5),L,' L3 '),ALIGN0,VALIGN0,FONTSIZE18,COLORMAGENTA;//倒数第3个低点标注文字;L3
//DRAWTEXT(笔*CROSS(BAA0>=1,0.5) && CROSS(HX=1,0.5),H,' H3 '),ALIGN0,FONTSIZE18,RGB(255,0,255);//倒数第3个高点标注文字;H3
//DRAWLINE1(笔*CROSS(BAA0>=1,0.5) && CROSS(LX=1,0.5),L,笔*BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=2,L,0),RGB(255,255,0),DASH;//底底;黄色连线↘↘↘
//DRAWLINE1(笔*CROSS(BAA0>=1,0.5) && CROSS(HX=1,0.5),H,笔*BBB&&CROSS(HX=1,0.5)&&COUNT(CROSS(HX=1,0.5),BARSLASTCOUNT(BBB))=2,H,0),RGB(255,255,0),DASH;//顶顶;黄色连线↘↘↘
BAA1:=BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5)||CROSS(HX=1,0.5),6));
//DRAWTEXT(笔*CROSS(BAA1>=1,0.5) && CROSS(LX=1,0.5),L,' L4 '),ALIGN0,VALIGN0,FONTSIZE18,COLORMAGENTA;//倒数第4个低点标注文字;L4
//DRAWTEXT(笔*CROSS(BAA1>=1,0.5) && CROSS(HX=1,0.5),H,' H4 '),ALIGN0,FONTSIZE18,RGB(255,0,255);//倒数第4个高点标注文字;H4
AM26:=BACKSET(ISLASTBAR&&BARSLAST(HH)>BARSLAST(LL),HHVBARS(H,BARSLAST(LL))+1);
BM26:=BACKSET(ISLASTBAR&&BARSLAST(HH)<BARSLAST(LL),LLVBARS(L,BARSLAST(HH))+1);
DRAWTEXT(笔*CROSS(AM26,0.5),H,'H0 ? '),FONTSIZE18,RGB(250,250,0),ALIGN2;//最后一笔(未完成)标注文字;
DRAWTEXT(笔*CROSS(BM26,0.5),L,'L0 ? '),VALIGN0,FONTSIZE18,RGB(250,250,0),ALIGN2;//最后一笔(未完成)标注文字;
笔中枢:=1;
HH2:=VALUEWHEN(BBB&&CROSS(HX=1,0.5)&&COUNT(CROSS(HX=1,0.5),BARSLASTCOUNT(BBB))=1,H),DOT;
HH1:=VALUEWHEN(BBB&&CROSS(HX=1,0.5)&&COUNT(CROSS(HX=1,0.5),BARSLASTCOUNT(BBB))=2,H),DOT;
LL2:=VALUEWHEN(BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=1,L),DOT;
LL1:=VALUEWHEN(BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=2,L),DOT;
//画笔中枢框; 【H2和L1; L2和H1;确定、连线画出中枢上下轨】 ____-----▕▕▕▕▕▕
NG:=BARSLASTCOUNT(HH2>0 || HH1>0 || LL2>0 || LL1>0)=1,DOT;
NGG:=BARSLASTCOUNT(HH2>0 && HH1>0 && LL2>0 && LL1>0)=1,DOT;
//画笔中枢框延伸部分;
L1缠:=CROSS(BACKSET(ISLASTBAR,BARSLAST(CROSS(LX=1,0.5))+1),0.5),DOT;
L2缠:=CROSS(BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5),2)),0.5),DOT;
L3缠:=CROSS(BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5),3)),0.5),DOT;
L4缠:=CROSS(BACKSET(ISLASTBAR,SUMBARS(CROSS(LX=1,0.5),4)),0.5),DOT;
H1缠:=CROSS(BACKSET(ISLASTBAR,BARSLAST(CROSS(HX=1,0.5))+1),0.5),DOT;
H2缠:=CROSS(BACKSET(ISLASTBAR,SUMBARS(CROSS(HX=1,0.5),2)),0.5),DOT;
H3缠:=CROSS(BACKSET(ISLASTBAR,SUMBARS(CROSS(HX=1,0.5),3)),0.5),DOT;
H4缠:=CROSS(BACKSET(ISLASTBAR,SUMBARS(CROSS(HX=1,0.5),4)),0.5),DOT;
周期:=BARSLAST(CROSS(BBB,0.5)),RGB(255,0,255),DOT;
//VERTLINE(周期=1,COLORRED);
//中枢下轨;横线-------
DRAWLINE3(ISLASTBAR&&VALUEWHEN(L1缠,L)>=VALUEWHEN(L2缠,L),VALUEWHEN(L1缠,L),0,1,VALUEWHEN(L1缠,L),BARSLAST(CROSS(BBB,0.5)),0),COLORBLUE,DOT;//中枢下轨;横线-------高于前低;次低
DRAWLINE3(ISLASTBAR&&VALUEWHEN(L1缠,L)<=VALUEWHEN(L2缠,L),VALUEWHEN(L2缠,L),0,1,VALUEWHEN(L2缠,L),BARSLAST(CROSS(BBB,0.5)),0),COLORBLUE,DOT;//中枢下轨;横线--------低于前低;新低
//DRAWNUMBER(周期=1&&REFX1(VALUEWHEN(L1缠,L)>=VALUEWHEN(L2缠,L),10000),REFX1(VALUEWHEN(L1缠,L),10000),REFX1(VALUEWHEN(L1缠,L)*(-1),10000),2,RGB(255,255,255)),ALIGN2,FONTSIZE16,VALIGN1;//中枢下轨;点位标记﹩﹩﹩
//DRAWNUMBER(周期=1&&REFX1(VALUEWHEN(L1缠,L)<=VALUEWHEN(L2缠,L),10000),REFX1(VALUEWHEN(L2缠,L),10000),REFX1(VALUEWHEN(L2缠,L)*(-1),10000),2,RGB(255,255,255)),ALIGN2,FONTSIZE16,VALIGN1;//中枢下轨;点位标记﹩﹩﹩
//FILLRGN(BACKSET(ISLASTBAR,BARSLAST(周期=1)+1),REFX1(VALUEWHEN(L1缠,L),10000),REFX1(VALUEWHEN(L2缠,L),10000),RGB(40,40,40));//中枢区间;填充色
DRAWSL(ISLASTBAR,(MIN(VALUEWHEN(H2缠,H),VALUEWHEN(H1缠,H))+MAX(VALUEWHEN(L1缠,L),VALUEWHEN(L2缠,L)) )/2 ,0,-周期,0,RGB(200,200,0) ),DOT;//中枢;中线;黄色-------
//中枢上轨;横线-------
DRAWLINE3(ISLASTBAR&&VALUEWHEN(H1缠,H)>=VALUEWHEN(H2缠,H),VALUEWHEN(H2缠,H),0,1,VALUEWHEN(H2缠,H),BARSLAST(CROSS(BBB,0.5)),0),COLORRED,DOT;//中枢上轨;横线-------高于前高;新高
DRAWLINE3(ISLASTBAR&&VALUEWHEN(H1缠,H)<=VALUEWHEN(H2缠,H),VALUEWHEN(H1缠,H),0,1,VALUEWHEN(H1缠,H),BARSLAST(CROSS(BBB,0.5)),0),COLORRED,DOT;//中枢上轨;横线--------低于前高;次高
//DRAWNUMBER(周期=1&&REFX1(VALUEWHEN(H1缠,H)>=VALUEWHEN(H2缠,H),10000),REFX1(VALUEWHEN(H2缠,H),10000),REFX1(VALUEWHEN(H2缠,H)*(-1),10000),2,RGB(255,255,255)),ALIGN2,FONTSIZE16,VALIGN1;//中枢上轨;点位标记﹩﹩﹩
//DRAWNUMBER(周期=1&&REFX1(VALUEWHEN(H1缠,H)<=VALUEWHEN(H2缠,H),10000),REFX1(VALUEWHEN(H1缠,H),10000),REFX1(VALUEWHEN(H1缠,H)*(-1),10000),2,RGB(255,255,255)),ALIGN2,FONTSIZE16,VALIGN1;//中枢上轨;点位标记﹩﹩﹩
//FILLRGN(BACKSET(ISLASTBAR,BARSLAST(周期=1)+1),MAX(REFX1(VALUEWHEN(L1缠,L),10000),REFX1(VALUEWHEN(L2缠,L),10000)),MIN(REFX1(VALUEWHEN(H1缠,H),10000),REFX1(VALUEWHEN(H2缠,H),10000)),RGB(0,30,30)); //中枢区间;填充色
//波峰;波谷;标记;H L
//DRAWTEXT(笔*BBB&&CROSS(HX=1,0.5)&&COUNT(CROSS(HX=1,0.5),BARSLASTCOUNT(BBB))=1,H,'H2 '),ALIGN2,FONTSIZE18,RGB(0,160,0);//倒数第2个高点标注文字;
//DRAWTEXT(笔*BBB&&CROSS(HX=1,0.5)&&COUNT(CROSS(HX=1,0.5),BARSLASTCOUNT(BBB))=2,H,'H1 '),ALIGN2,FONTSIZE18,RGB(0,160,0);//倒数第1个高点标注文字;
//DRAWTEXT(笔*BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=1,L,'L2 '),ALIGN2,VALIGN0,FONTSIZE18,COLORMAGENTA;//倒数第2个低点标注文字;
L2:=VALUEWHEN(笔*BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=1,L);
//DRAWTEXT(笔*BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=2,L,'L1 '),ALIGN2,VALIGN0,FONTSIZE18,COLORMAGENTA;//倒数第1个低点标注文字;
//DRAWTEXT(笔*CROSS(BAA0>=1,0.5) && CROSS(LX=1,0.5),L,'L3 '),ALIGN2,VALIGN0,FONTSIZE18,RGB(155,155,155);//倒数第3个低点标注文字;
L3:=VALUEWHEN(笔*CROSS(BAA0>=1,0.5) && CROSS(LX=1,0.5),L);
//DRAWTEXT(笔*CROSS(BAA0>=1,0.5) && CROSS(HX=1,0.5),H,'H3 '),ALIGN2,FONTSIZE18,RGB(155,155,155);//倒数第3个高点标注文字;
HL3L2:笔*BBB&&CROSS(LX=1,0.5)&&COUNT(CROSS(LX=1,0.5),BARSLASTCOUNT(BBB))=1;
DRAWKLINE1(H,O,L,C);//K线;绘制
//趋势划线
D0:VALUEWHEN(LL,L),COLORLIGHTGREEN,PRECIS0,NODRAW;//近低
D1:REF(L,SUMBARS(LL,2)-1),PRECIS0,NODRAW;
D2:REF(L,SUMBARS(LL,3)-1),PRECIS0,NODRAW;
D3:REF(L,SUMBARS(LL,4)-1),PRECIS0,NODRAW;
D4:REF(L,SUMBARS(LL,5)-1),PRECIS0,NODRAW;
D5:REF(L,SUMBARS(LL,6)-1),PRECIS0,NODRAW;
前波低:MIN1(D1,D2,D3,D4,D5),COLORLIGHTGREEN,PRECIS0,NODRAW;//缠论前5波的最低点
H0:VALUEWHEN(HH,H),COLORRED,PRECIS0,NODRAW;//近高
H1X:REF(H,SUMBARS(HH,2)-1),PRECIS0,NODRAW;
H2:REF(H,SUMBARS(HH,3)-1),PRECIS0,NODRAW;
H3:REF(H,SUMBARS(HH,4)-1),PRECIS0,NODRAW;
H4:REF(H,SUMBARS(HH,5)-1),PRECIS0,NODRAW;
H5:REF(H,SUMBARS(HH,6)-1),PRECIS0,NODRAW;
前波高:MAX1(H1X,H2,H3,H4,H5),COLORRED,PRECIS0,NODRAW;//缠论前5波的最高点
DRAWLINE3(ISLASTBAR,REF(HHV(IF(HH,H,0),SUMBARS(HH,5)),SUMBARS(HH,2)-1),REF(HHVBARS(IF(HH,H,0),SUMBARS(HH,5)),SUMBARS(HH,2)-1)+SUMBARS(HH,2)-1,1,H0,BARSLAST(HH),1),COLORGREEN,LINETHICK2;//趋势线
DRAWLINE3(ISLASTBAR,REF(LLV(IF(LL,L,100000),SUMBARS(LL,5)),SUMBARS(LL,2)-1),REF(LLVBARS(IF(LL,L,100000),SUMBARS(LL,5)),SUMBARS(LL,2)-1)+SUMBARS(LL,2)-1,1,D0,BARSLAST(LL),1),COLORRED,LINETHICK2;//趋势线
NNNN:=BACKSET(ISLASTBAR,REF(HHVBARS(IF(HH,H,0),SUMBARS(HH,5)),SUMBARS(HH,2)-1)+SUMBARS(HH,2));
MMMM:=BACKSET(ISLASTBAR,REF(LLVBARS(IF(LL,L,100000),SUMBARS(LL,5)),SUMBARS(LL,2)-1)+SUMBARS(LL,2));
TTTT1:=HH||LL;
DRAWNUMBER(HH&&TTTT1&&COUNT(TTTT1,SUMBARS(CROSSUP(NNNN,0.5),1))<=5,H,COUNT(TTTT1,SUMBARS(CROSSUP(NNNN,0.5),1)),0,COLORGREEN),ALIGN0,FONTSIZE30;
DRAWNUMBER(LL&&TTTT1&&COUNT(TTTT1,SUMBARS(CROSSUP(NNNN,0.5),1))<=5,L,COUNT(TTTT1,SUMBARS(CROSSUP(NNNN,0.5),1)),0,COLORGREEN),ALIGN0,VALIGN0,FONTSIZE30;
DRAWNUMBER(HH&&TTTT1&&COUNT(TTTT1,SUMBARS(CROSSUP(MMMM,0.5),1))<=5,H,COUNT(TTTT1,SUMBARS(CROSSUP(MMMM,0.5),1)),0,COLORRED),ALIGN0,FONTSIZE30;
DRAWNUMBER(LL&&TTTT1&&COUNT(TTTT1,SUMBARS(CROSSUP(MMMM,0.5),1))<=5,L,COUNT(TTTT1,SUMBARS(CROSSUP(MMMM,0.5),1)),0,COLORRED),ALIGN0,VALIGN0,FONTSIZE30;
DRAWCOLORKLINE(BARSLAST(CROSS(AH展BDD=1,0.5))<BARSLAST(CROSS(AL展BDD=1,0.5)),COLORGREEN,1);
DRAWCOLORKLINE(BARSLAST(CROSS(AH展BDD=1,0.5))<BARSLAST(CROSS(AL展BDD=1,0.5))&&ISDOWN,COLORGREEN,0);
DRAWCOLORKLINE(BARSLAST(CROSS(AH展BDD=1,0.5))>BARSLAST(CROSS(AL展BDD=1,0.5)),COLORRED,1);
DRAWCOLORKLINE(BARSLAST(CROSS(AH展BDD=1,0.5))>BARSLAST(CROSS(AL展BDD=1,0.5))&&ISDOWN,COLORRED,0);