RSI、CCI、MACD、KDJ四背离指标源码,虽是底部指标,需要放量信号 
  
N:=60; 
K值:="KDJ.K";  
DD:=C=LLV(C,N);{60日最低点} 
DDSJ:=BARSLAST(REF(DD,1));{上一低点时间} 
DDGJ:=REF(CLOSE,DDSJ+1)>CLOSE;{股价趋势} 
KDZB:=REF(K值,DDSJ+1)<K值;{KDJ.K指标趋势} 
K底背离:=DDGJ AND KDZB; 
GD:=C=HHV(C,N);{60日最高点} 
GDSJ:=BARSLAST(REF(GD,1));{上一高点时间} 
GDGJ:=REF(CLOSE,GDSJ+1)<CLOSE;{股价趋势} 
KGZB:=REF(K值,GDSJ+1)>K值; 
K顶背离:=GDGJ AND KGZB; 
MACD:="MACD.MACD";  
MDZB:=REF(MACD,DDSJ+1)<MACD;{MACD指标趋势} 
M底背离:=DDGJ AND MDZB; 
MGZB:=REF(MACD,GDSJ+1)>MACD; 
M顶背离:=GDGJ AND MGZB; 
RSI:="RSI.RSI1";  
RDZB:=REF(RSI,DDSJ+1)<RSI;{RSI指标趋势} 
R底背离:=DDGJ AND RDZB; 
RGZB:=REF(RSI,GDSJ+1)>RSI; 
R顶背离:=GDGJ AND RGZB; 
TYP:=(HIGH + LOW + CLOSE)/3; 
CCI:=(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N)); 
CDZB:=REF(CCI,DDSJ+1)<CCI;{CCI指标趋势} 
C底背离:=DDGJ AND CDZB; 
CGZB:=REF(CCI,GDSJ+1)>CCI; 
C顶背离:=GDGJ AND CGZB; 
REFLINE: -5,15,30,COLORBLACK; 
DRAWTEXT(ISLASTBAR,29,'KDJ顶背离'),LINETHICK2,COLORRED; 
DRAWTEXT(K顶背离,IF(ISLASTBAR,27.5,29),'(×)'),LINETHICK2,COLORRED; 
DRAWTEXT(ISLASTBAR,26,'MACD顶背离'),LINETHICK2,COLORMAGENTA; 
DRAWTEXT(M顶背离,(ISLASTBAR,24.5,26),'(×)'),LINETHICK2,COLORMAGENTA,; 
DRAWTEXT(ISLASTBAR,22.1,'RSI顶背离'),LINETHICK2,COLORBLUE; 
DRAWTEXT(R顶背离,(ISLASTBAR,20.5,22.1),'(×)'),LINETHICK2,COLORBLUE; 
DRAWTEXT(ISLASTBAR,18.1,'CCI顶背离'),LINETHICK2,COLORGREEN; 
DRAWTEXT(C顶背离,(ISLASTBAR,16.6,18.1),'(×)'),LINETHICK2,COLORGREEN,; 
DRAWTEXT(ISLASTBAR,14.2,'CCI底背离'),LINETHICK2,COLORGREEN; 
DRAWTEXT(C底背离,IF(ISLASTBAR,12,14.2),'(√)'),LINETHICK2,COLORGREEN; 
DRAWTEXT(ISLASTBAR,10,'RSI底背离'),LINETHICK2,COLORBLUE; 
DRAWTEXT(R底背离,IF(ISLASTBAR,8.5,10),'(√)'),LINETHICK2,COLORBLUE; 
DRAWTEXT(ISLASTBAR,6,'MACD底背离'),LINETHICK2,COLORMAGENTA; 
DRAWTEXT(M底背离,IF(ISLASTBAR,4.5,6),'(√)'),LINETHICK2,COLORMAGENTA; 
DRAWTEXT(ISLASTBAR,3,'KDJ底背离'),LINETHICK2,COLORRED; 
DRAWTEXT(K底背离,IF(ISLASTBAR,1.5,3),'(√)'),LINETHICK2,COLORRED; 
   
 
  |