1楼源码中的X没有定义需要在以下源码中添加对应的定义
此外加载后不显示K线说明您属性选择有误,参考下图位置选择“K线附属指标”就可以
长期多空线:(20*X+19*REF(X,1)+18*REF(X,2)+17*REF(X,3)+16*REF(X,4)+15*REF(X,5)+14*REF(X,6)
+13*REF(X,7)+12*REF(X,8)+11*REF(X,9)+10*REF(X,10)+9*REF(X,11)+8*REF(X,12)
+7*REF(X,13)+6*REF(X,14)+5*REF(X,15)+4*REF(X,16)+3*REF(X,17)+2*REF(X,18)+
REF(X,20))/210,COLORFF00FF,LINETHICK2;
MA50:MA(C,50);
G:=MA(C,4);
D:=MA(C,10);
NNH:=BARSLAST(H=HHV(H,7)) ,NODRAW;
NNL:=BARSLAST(L=LLV(L,7)) ,NODRAW;
//PD:=REF(G,NNH)>REF(D,NNH) ,NODRAW;
NN:=IF(REF(G,NNH)>REF(D,NNH) AND NNH<=3,NNH,IF(REF(G,NNL)<REF(D,NNL) AND NNL<=3,NNL,4)) ,NODRAW;
N:=IF(ISLASTBAR AND NN>0,NN,4) ,NODRAW;
HH:=REF(H,N)=HHV(H,5);
LL:=REF(L,N)=LLV(L,5);
FG01:BACKSET(HH,N+1)>BACKSET(HH,N),NODRAW;//只设置前面第5个
FD01:BACKSET(LL,N+1)>BACKSET(LL,N) ,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,7))>=4,4,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,7))>=4,4,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,7)))>REF(D,BARSLAST(L=LLV(L,7))),BARSLAST(L=LLV(L,7))<4,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,7)))<REF(D,BARSLAST(H=HHV(H,7))),BARSLAST(H=HHV(H,7))<4,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<2 AND GT1-DT1<3 AND REF(L,DT1)>LLV(L,GT1+4),DT1+1),NODRAW;
FG2A:BACKSET(REFX(GT1,1)=0 AND DT1<2 AND GT1-DT1<3 AND REF(L,DT1)<=LLV(L,GT1+4) AND REF(H,GT1)>HHV(H,GT1+4),GT1+1),NODRAW;
FG2B:IF(GT1=0 AND DT1<3 AND REF(GT1,1)-DT1<3 AND REF(L,DT1)<=LLV(L,REF(GT1,1)+5) AND H>HHV(H,REF(GT1,1)+5),1,0),NODRAW;
FG2:BACKSET(REFX(DT1,1)=0 AND GT1<2 AND DT1-GT1<3 AND REF(H,GT1)<HHV(H,DT1+4),GT1+1),NODRAW;
FD2A:BACKSET(REFX(DT1,1)=0 AND GT1<2 AND DT1-GT1<3 AND REF(H,GT1)>=HHV(L,DT1+4) AND REF(L,DT1)>LLV(L,DT1+4),DT1+1),NODRAW;
FD2B:IF(DT1=0 AND GT1<3 AND REF(DT1,1)-GT1<3 AND REF(H,GT1)>=HHV(H,REF(DT1,1)+5) AND L>LLV(L,REF(DT1,1)+5),1,0),NODRAW;
TTTTTT: H<REF(H,REF(GT1,1)+1) AND DT1<3,NODRAW;
HHHHHH:REF(LLV(L,10),DT1),NODRAW;
//前长后短;
FG21:IF(GT1=0 AND DT1<3 AND H<=REF(H,REF(GT1,1)+1) ,1,0),NODRAW;
FD21:IF(DT1=0 AND GT1<3 AND L>=REF(L,REF(DT1,1)+1) ,1,0),NODRAW;
//前短后长,前低后高(去低);
FD221:BACKSET(REFX(GT1,1)=0 AND DT1>2 AND GT1>DT1 AND GT1-DT1<3 AND REFX(H,1)>REF(H,GT1) AND REF(L,DT1)>REF(LLV(L,10),DT1),DT1+1),NODRAW;
FG22:BACKSET(REFX(GT1,1)=0 AND DT1>2 AND GT1>DT1 AND GT1-DT1<3 AND REFX(H,1)>REF(H,GT1) AND (REF(H,GT1)<REF(HHV(H,12),GT1) OR REF(FD221,DT1)=0),GT1+1),NODRAW;
//前短后长,前高后低(去高);
//NNN:REF(H,GT1)>=REF(HHV(H,8),GT1),NODRAW;
//前短后长,去2;
FG221:BACKSET(REFX(DT1,1)=0 AND GT1>2 AND DT1>GT1 AND DT1-GT1<3 AND REFX(L,1)<REF(L,DT1) AND REF(H,GT1)<REF(HHV(H,10),GT1) ,GT1+1),NODRAW;
FD22:BACKSET(REFX(DT1,1)=0 AND GT1>2 AND DT1>GT1 AND DT1-GT1<3 AND REFX(L,1)<REF(L,DT1) AND ( REF(L,DT1)>REF(LLV(L,12),DT1) OR REF(FG221,GT1)=0),DT1+1),NODRAW;
FDD22:REF(H,GT1)<REF(HHV(H,10),GT1) OR REF(FD22,DT1)=0,NODRAW;
FD23:BACKSET(REFX(GT1,1)=0 AND DT1>2 AND GT1>DT1 AND GT1-DT1<3 AND REFX(H,1)<HHV(H,GT1+2) AND REF(L,DT1)>LLV(L,DT1+4),DT1+1),NODRAW;
FG23:BACKSET(REFX(DT1,1)=0 AND GT1>2 AND DT1>GT1 AND DT1-GT1<3 AND REFX(L,1)>LLV(L,DT1+2) AND REF(H,GT1)<HHV(H,GT1+4),GT1+1),NODRAW;
//做两次高低点间多余的点
GT2:BARSLAST(FG21<>1 AND FG22<>1 AND FG221<>1 AND FG23<>1 AND FG2<>1 AND FG2A<>1 AND FG2B<>1 AND GT1=0),NODRAW;
DT2:BARSLAST(FD21<>1 AND FD22<>1 AND FD221<>1 AND FD23<>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;
//HHX:REF(H,GT2),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 FG2<>1 AND FG21<>1 ),NODRAW;
DT3:BARSLAST(DT2=0 AND FD2<>1 AND FD21<>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),COLORWHITE,DOT;
DRAWLINE1(LLL,L,HHH ,H,0),COLORWHITE,DOT;
PARTLINE(FG0 ,H,COLORYELLOW),POINTDOT,LINETHICK2;
PARTLINE(FD0 ,L,COLORCYAN),CIRCLEDOT,LINETHICK2;