参考:
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26),LINETHICK2;
DEA:EMA(DIFF,9),LINETHICK2;
MACD:2*(DIFF-DEA),COLORSTICK,NODRAW;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;
MA5:=MA(C,5),NODRAW;
HHX:=VALUEWHEN(CROSSDOWN(DIFF,DEA),DIFF),NODRAW;//B点DIFF值
HHM:=VALUEWHEN(CROSSDOWN(DIFF,DEA),MA5),NODRAW;//B叉点5均线值
HHC:=VALUEWHEN(CROSSDOWN(DIFF,DEA),C),NODRAW;//B叉点K收盘价
HH2:=REF(HHX,N2),NODRAW;//A点DIFF值
HHM2:=REF(HHM,N2),NODRAW;//A点5均线值
HHC2:=REF(HHC,N2),NODRAW;//A点K收盘价
CON:=HH2>HHX&&(HHM2<HHM||HHC2<HHC);
BB:=BACKSET(CON&&SC,HHVBARS(DIFF,N1)+1);
AA:=BACKSET(CON&&SC,REF(HHVBARS(DIFF,N1),N1)+N1+1);
DRAWLINE1(CROSS(AA=1,0.5),DIFF,CROSS(BB=1,0.5),DIFF,0),COLORGREEN;
DRAWTEXT(CROSS(BB=1,0.5),DIFF,'背离'),VALIGN0,COLORGREEN;
LLX:=VALUEWHEN(CROSS(DIFF,DEA),DIFF),NODRAW;//B点DIFF值
LLM:=VALUEWHEN(CROSS(DIFF,DEA),MA5),NODRAW;//B叉点5均线值
LLC:=VALUEWHEN(CROSS(DIFF,DEA),C),NODRAW;//B叉点K收盘价
LL2:=REF(LLX,N1),NODRAW;//A点DIFF值
LLM2:=REF(LLM,N1),NODRAW;//A点5均线值
LLC2:=REF(LLC,N1),NODRAW;//A点K收盘价
COM:=LL2<LLX&&(LLM2>LLM||LLC2>LLC);
CC:=BACKSET(COM&&JC,LLVBARS(DIFF,N2)+1);
DD:=BACKSET(COM&&JC,REF(LLVBARS(DIFF,N2),N2)+N2+1);
DRAWLINE1(CROSS(DD=1,0.5),DIFF,CROSS(CC=1,0.5),DIFF,0),COLORRED;
DRAWTEXT(CROSS(CC=1,0.5),DIFF,'背离'),VALIGN0,COLORRED;
LC := REF(CLOSE,1);
BACKGROUNDSTYLE(1);
RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;
HWAVE:H>REF(H,1) && H>REF(H,2) && H>REFX(H,1) && H>REFX(H,2),NODRAW;
LWAVE:L<REF(L,1) && L<REF(L,2) && L<REFX(L,1) && L<REFX(L,2),NODRAW;
NH1:=SUMBARS(HWAVE,2)-1;
LH2:=SUMBARS(LWAVE,2)-1;
HH1:=REF(H,NH1);
LL1:=REF(L,LH2);
R1:=REF(RSI1,NH1);
S1:=REF(RSI1,LH2);
顶背离:HWAVE && H>HH1 && RSI1<R1,NODRAW;
底背离:LWAVE && L<LL1 && RSI1>S1,NODRAW;
DRAWTEXT(CROSS(顶背离,0.5),RSI1,'顶背离');
DRAWTEXT(CROSSDOWN(底背离,0.5),RSI1,'底背离');
G:=MA(C,5);
D1:=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(D1,NNH) AND NNH<=4,NNH,IF(REF(G,NNL)<REF(D1,NNL) AND NNL<=4,NNL,5)) ,NODRAW;
N:=IF(ISLASTBAR AND NN>0,NN,5) ,NODRAW;
HH:=REF(H,N)=HHV(H,6);
LL:=REF(L,N)=LLV(L,6);
FG01:BACKSET(HH,N+1)>BACKSET(HH,N),NODRAW;//只设置前面第6个
FD01:BACKSET(LL,N+1)>BACKSET(LL,N) ,NODRAW;
FG02:=FG01=FD01 AND G>D1,NODRAW;
FD02:FG01=FD01 AND G<D1,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))>=5,5,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))>=5,5,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(D1,BARSLAST(L=LLV(L,7))),BARSLAST(L=LLV(L,7))<5,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(D1,BARSLAST(H=HHV(H,7))),BARSLAST(H=HHV(H,7))<5,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+5),DT1+1),NODRAW;
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;
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;
FG2:BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)<HHV(H,DT1+5),GT1+1),NODRAW;
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;
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;
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;
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;
//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 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;
//HHH:=FG0 AND FG11<>1 AND FG1<>1 AND FG2<>1 AND FG21<>1 AND FG31<>1 AND FG3<>1;
//LLL:=FD0 AND FD11<>1 AND FD1<>1 AND FD2<>1 AND FD21<>1 AND FD31<>1 AND FD3<>1;
DRAWICON(HHH,H,2),VALIGN2;
DRAWICON(LLL,L,1),VALIGN0;
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:=SMA(RSV,3,1);//RSV的移动平均值
D:=SMA(K,3,1);//K的移动平均值
J:=3*K-2*D;
VAR2:=REF(HIGH,1);
VAR3:=SMA(ABS(HIGH-VAR2),3,1)/SMA(MIN(HIGH-VAR2,0),3,1)*100;
VAR4:=EMA(VAR3/10,3);
洗盘:=VAR4,LINETHICK1;
STICKLINE(VAR4<-50,VAR4/10,0,4,1);
STICKLINE(VAR4<1 AND J>REF(J,1) AND REF(J,1)>REF(J,2),VAR4/10,0,3,0),COLORBLUE;
VAR22:=REF(LOW,1);
VAR33:=SMA(ABS(LOW-VAR22),3,1)/SMA(MAX(LOW-VAR22,0),3,1)*100;
VAR44:=EMA(VAR33*10,3);
VAR55:=LLV(LOW,13);
VAR66:=HHV(VAR44,13);
VAR77:=IF(BARSCOUNT(CLOSE) >34,1,0);
VAR88:=EMA(IF(LOW<=VAR55,(VAR44+VAR66*2)/2,0),3)/618*VAR77;
VAR99:=IF(VAR88>100,100,VAR88);
吸筹2:=VAR99,LINETHICK1;
STICKLINE(VAR99>-120,0,VAR99,4,1);
STICKLINE(VAR99>1 AND J>REF(J,1) AND REF(J,1)<REF(J,2),0,VAR99,4,0),COLORRED;
STICKLINE(VAR99>0.1 AND VAR99<1 AND J>REF(J,1) AND REF(J,1)<REF(J,2),0,VAR99,4,0),COLOR00FFFF;