感谢一位读者朋友(LIXUQI)的打赏,因为是他提醒了我把指标代码提出来,就算是他给大家的福利。这里既是分享,也欢迎交流。
多空通道:

XA_1:=MA((IF(CLOSE>OPEN,HIGH-CLOSE,HIGH-OPEN)+IF(CLOSE>OPEN,OPEN-LOW,CLOSE-LOW))/2,60)*1.5;
短上轨:IF(Z=0,EMA(HIGH,T),WMA(HIGH,T)),COLORRED;
短下轨:IF(Z=0,EMA(LOW,T),WMA(LOW,T)),COLORGREEN;
NOTEXT短下轨0:IF(CLOSE>短下轨,短下轨,DRAWNULL),COLORRED;
NOTEXT短下轨1:IF(CLOSE<短下轨,短下轨,DRAWNULL),COLORGREEN;
NOTEXT短上轨0:IF(CLOSE>短上轨,短上轨,DRAWNULL),COLORRED;
NOTEXT短上轨1:IF(CLOSE<短上轨,短上轨,DRAWNULL),COLORGREEN;
STICKLINE(CLOSE>短上轨,短上轨,短下轨,0,0),COLORRED;
STICKLINE(CLOSE<短下轨,短上轨,短下轨,0,0),COLORGREEN;
长上轨:IF(Z=0,EMA(HIGH,TT),WMA(HIGH,TT)),COLORMAGENTA;
长下轨:IF(Z=0,EMA(LOW,TT),WMA(LOW,TT)),COLORBLUE;
NOTEXT长下轨0:IF(CLOSE>长下轨,长下轨,DRAWNULL),COLORMAGENTA;
NOTEXT长下轨1:IF(CLOSE<长下轨,长下轨,DRAWNULL),COLORBLUE;
NOTEXT长上轨0:IF(CLOSE>长上轨,长上轨,DRAWNULL),COLORMAGENTA;
NOTEXT长上轨1:IF(CLOSE<长上轨,长上轨,DRAWNULL),COLORBLUE;
STICKLINE(CLOSE>长上轨,长上轨,长下轨,0,0),COLORMAGENTA;
STICKLINE(CLOSE<长下轨,长上轨,长下轨,0,0),COLORBLUE;
DRAWKLINE(HIGH,OPEN,LOW,CLOSE);
XA_2:=CROSS(CLOSE,短上轨);
XA_3:=CROSS(短下轨,CLOSE);
XA_4:=BARSLAST(XA_2)+1;
XA_5:=BARSLAST(XA_3)+1;
XA_6:=CROSS(SUM(XA_2,XA_5),0.5);
XA_7:=CROSS(SUM(XA_3,XA_4),0.5);
XA_8:=CROSS(CLOSE,长上轨);
XA_9:=CROSS(长下轨,CLOSE);
XA_10:=BARSLAST(XA_8)+1;
XA_11:=BARSLAST(XA_9)+1;
XA_12:=CROSS(SUM(XA_8,XA_11),0.5);
XA_13:=CROSS(SUM(XA_9,XA_10),0.5);
XA_14:=IF(XA_13 AND XA_7,0,IF(XA_13,0,IF(XA_7,6,1)));
DRAWNUMBER(XA_14=6 AND 短下轨>长下轨,HIGH+XA_1*3,6),COLORMAGENTA;
DRAWNUMBER(XA_14=0 AND 短下轨>长下轨,HIGH+XA_1*3,0),COLORMAGENTA;
DRAWNUMBER(XA_6 AND 短下轨>长下轨,LOW-XA_1*3,10),COLORMAGENTA;
XA_15:=IF(XA_12 AND XA_6,10,IF(XA_12,10,IF(XA_6,4,1)));
DRAWNUMBER(XA_15=4 AND 短上轨<长上轨,LOW-XA_1*3,4),COLORMAGENTA;
DRAWNUMBER(XA_15=10 AND 短上轨<长上轨,LOW-XA_1*3,10),COLORMAGENTA;
DRAWNUMBER(XA_7 AND 短上轨<长上轨,HIGH+XA_1*3,0),COLORMAGENTA;
DRAWKLINE(HIGH,OPEN,LOW,CLOSE);
XA_16:=CLOSE>REF(CLOSE,4);
XA_17:=BARSLASTCOUNT(XA_16);
XA_18:=XA_17=9;
XA_19:=ISLASTBAR AND BETWEEN(XA_17,1,8);
XA_20:=(BACKSET(XA_18>0,9) OR BACKSET(XA_19>0,XA_17))*XA_17;
DRAWNUMBER(XA_20>0,HIGH+XA_1*2,XA_20),COLOR0080FF;
DRAWNUMBER(XA_17=9 AND HIGH>REF(HIGH,2),HIGH+XA_1*2,9),COLORGREEN;
DRAWNUMBER(XA_17=18,HIGH+XA_1*2,18),COLORYELLOW;
TD支撑线:IF(Z=1,DRAWLINE(XA_17=1,LOW,XA_17=9,REF(LOW,8),(-1)),DRAWNULL),DOTLINE,COLORMAGENTA;
XA_21:=CLOSE<REF(CLOSE,4);
XA_22:=BARSLASTCOUNT(XA_21);
XA_23:=XA_22=9;
XA_24:=ISLASTBAR AND BETWEEN(XA_22,1,8);
XA_25:=(BACKSET(XA_23>0,9) OR BACKSET(XA_24>0,XA_22))*XA_22;
DRAWNUMBER(XA_25>0,LOW-XA_1*2,XA_25),COLOR0080FF;
DRAWNUMBER(XA_22=9 AND LOW<REF(LOW,2),LOW-XA_1*2,9),COLORGREEN;
{DRAWNUMBER(XA_22=18,LOW-XA_1*2,18),COLORYELLOW;}
TD阻力线:IF(Z=1,DRAWLINE(XA_22=1,HIGH,XA_22=9,REF(HIGH,8),(-1)),DRAWNULL),DOTLINE,COLORGREEN;
DRAWICON(XA_17=9 AND (HIGH<REF(HHV(HIGH,8),1) OR CLOSE<OPEN),HIGH+XA_1*4,8);
STICKLINE(C/REF(C,1)>=1.0985 AND PERIOD==5,C,O,2,0),COLORRED;
STICKLINE(REF(CLOSE,1)/CLOSE>=1.0985 AND PERIOD==5,C,O,2,0),COLORLICYAN;
钝化结构:
DIF:100*(EMA(CLOSE,12)-EMA(CLOSE,26));
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;
{底部结构预警}
死叉:=CROSS(DEA,DIF);
N1:=BARSLAST(死叉);{最近一次死叉的位置}
N2:=REF(BARSLAST(死叉),N1+1);{倒数第二次死叉与倒数第一次死叉的区间}
N3:=REF(BARSLAST(死叉),N2+N1+2);{倒数第三次死叉与倒数第二次死叉的区间}
CL1:=LLV(C,N1+1);{最近一次死叉后,最低收盘价}
DIFL1:=LLV(DIF,N1+1);
CL2:=REF(CL1,N1+1);{倒数第二次死叉与倒数第一次死叉之间的最低收盘价}
DIFL2:=REF(DIFL1,N1+1);
CL3:=REF(CL2,N1+1);{倒数第三次死叉与倒数第二次死叉之间的最低收盘价}
DIFL3:=REF(DIFL2,N1+1);
PDIFL2:=IF(DIFL2>0,INTPART(LOG(DIFL2))-1,INTPART(LOG(-DIFL2))-1);
MDIFL2:=INTPART(DIFL2/POW(10,PDIFL2));
PDIFL3:=IF(DIFL3>0,INTPART(LOG(DIFL3))-1,INTPART(LOG(-DIFL3))-1);
MDIFL3:=INTPART(DIFL3/POW(10,PDIFL3));
MDIFB2:=INTPART(DIF/POW(10,PDIFL2));
MDIFB3:=INTPART(DIF/POW(10,PDIFL3));
直接底背离:=(CL1<CL2 ) AND (MDIFB2>MDIFL2) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB2<=REF(MDIFB2,1);
隔峰底背离:=(CL1<CL3 AND CL3<CL2 ) AND (MDIFB3>MDIFL3) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB3<=REF(MDIFB3,1);
B:直接底背离 OR 隔峰底背离,LINETHICK0;
BG:((MDIFB2>REF(MDIFB2,1))*REF(直接底背离,1)) OR ((MDIFB3>REF(MDIFB3,1))*REF(隔峰底背离,1)),LINETHICK0;
底背离消失:=(REF(直接底背离,1) AND DIFL1<=DIFL2 ) OR (REF(隔峰底背离,1) AND DIFL1<=DIFL3);
DRAWTEXT(FILTER(B,9),(DIF+MACD),'钝化'),COLORRED;
STICKLINE(B OR BG,DIF,DEA,1,0),COLORRED;
DRAWTEXT(FILTER(底背离消失,B),(DIF+MACD),'消失'),COLORYELLOW;
DRAWTEXT(FILTER(BG,MACD>0),DIF*1.1,'结构形成'),COLORMAGENTA;
{顶部结构预警}
金叉:=CROSS(DIF,DEA);
M1:=BARSLAST(金叉);{最近一次金叉的位置}
M2:=REF(BARSLAST(金叉),M1+1);{倒数第二次金叉与倒数第一次金叉的区间}
M3:=REF(BARSLAST(金叉),M2+M1+2);{倒数第三次金叉与倒数第二次金叉的区间}
CH1:=HHV(C,M1+1);{最近一次金叉后,最高收盘价}
DIFH1:=HHV(DIF,M1+1);
CH2:=REF(CH1,M1+1);{倒数第二次金叉与倒数第一次金叉之间的最高收盘价}
DIFH2:=REF(DIFH1,M1+1);
CH3:=REF(CH2,M1+1);{倒数第三次金叉与倒数第二次金叉之间的最高收盘价}
DIFH3:=REF(DIFH2,M1+1);
PDIFH2:=IF(DIFH2>0,INTPART(LOG(DIFH2))-1,INTPART(LOG(-DIFH2))-1);
MDIFH2:=INTPART(DIFH2/POW(10,PDIFH2));
PDIFH3:=IF(DIFH3>0,INTPART(LOG(DIFH3))-1,INTPART(LOG(-DIFH3))-1);
MDIFH3:=INTPART(DIFH3/POW(10,PDIFH3));
MDIFT2:=INTPART(DIF/POW(10,PDIFH2));
MDIFT3:=INTPART(DIF/POW(10,PDIFH3));
直接顶背离:=(CH1>CH2 ) AND (MDIFT2<MDIFH2) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT2>=REF(MDIFT2,1);
隔峰顶背离:=(CH1>CH3 AND CH3>CH2 ) AND (MDIFT3<MDIFH3) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT3>=REF(MDIFT3,1);
T:直接顶背离 OR 隔峰顶背离,LINETHICK0;
TG:((MDIFT2<REF(MDIFT2,1))*REF(直接顶背离,1)) OR ((MDIFT3<REF(MDIFT3,1))*REF(隔峰顶背离,1)),LINETHICK0;
顶背离消失:=(REF(直接顶背离,1) AND DIFH1>=DIFH2 ) OR (REF(隔峰顶背离,1) AND DIFH1>=DIFH3);
DRAWTEXT(FILTER(T,9),(DIF+MACD),'钝化'),COLORGREEN;
DRAWTEXT(FILTER(顶背离消失,T),(DIF+MACD),'消失'),COLORYELLOW;
STICKLINE(T OR TG,DIF,DEA,1,0),COLORGREEN;
DRAWTEXT(FILTER(TG,MACD<0),DIF*1.02,'结构形成'),COLORGREEN;
夜雨聆风