来函数检测结果如下:
该公式没有未来函数


DIFF:EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:EMA(DIFF,9);
MACD:(DIFF-DEA)*2,COLORSTICK;
STICKLINE(MACD>=0,MACD,0,2,1),COLORF00FF0;
STICKLINE(MACD<0,MACD,0,2,1),COLORWHITE;
黄柱:=MACD<REF(MACD,1)AND MACD>0;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,4,0 ),COLOR00AAFF;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,3.3,0 ),COLOR00BBFF;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,2.2,0 ),COLOR00CCFF;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,1.65,0 ),COLOR00DDFF;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,1.1,0 ),COLOR00EEFF;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,0.55,0 ),COLOR00FFFF;
红柱:=MACD>=REF(MACD,1)AND MACD>0;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,4 ,0 ),COLOR0000AA;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,3.3 ,0 ),COLOR0011BB;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,2.2,0 ),COLOR0022CC;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,1.65 ,0 ),COLOR0033DD;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,1.1 ,0 ),COLOR0044EE;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,0.55 ,0 ),COLOR0055FF;
玫红柱:=MACD>REF(MACD,1)AND MACD<0;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,4,0 ),COLORAA00BB;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,3.3 ,0 ),COLORBB11BB;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,2.2,0 ),COLORCC22BB;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,1.65,0 ),COLORDD33BB;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,1.1,0 ),COLOREE44BB;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,0.55 ,0 ),COLORFF55BB;
蓝柱:=MACD<=REF(MACD,1)AND MACD<0;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,4,0 ),COLORFFAA00;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,3.3 ,0 ),COLORFFBB11;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,2.2,0 ),COLORFFCC22;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,1.65 ,0 ),COLORFFDD33;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,1.1 ,0 ),COLORFFEE44;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,0.55 ,0 ),COLORFFFF55;

IF(DIFF<0,DIFF,0),COLORRED,LINETHICK1;
IF(DIFF<0,0,DIFF),COLORYELLOW,LINETHICK1;
IF(DIFF<DEA,DIFF,DEA),COLOR00FF00,LINETHICK1;
IF(DIFF>DEA,DEA,DEA),COLORWHITE,LINETHICK1;

低位金叉:=CROSS(DIFF,DEA) AND DIFF<-0.1;
STICKLINE(低位金叉,0,-0.18,1,0),COLORYELLOW;
DRAWTEXT(低位金叉,DEA*0.3,'低金'),COLORYELLOW;
JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));
二次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1;
STICKLINE(二次金叉,0,-0.18,1,0),COLORRED;
DRAWICON(二次金叉,DEA*1.04,13) ;
DRAWTEXT(二次金叉,DIFF*0.6,'二金'),COLORRED;
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
底背离:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA);
STICKLINE(底背离,0,0.13,2,0),COLORBROWN;
STICKLINE(A1=0,DEA,底背离,DEA,0),COLORBROWN,LINETHICK1;
DRAWTEXT(底背离,DEA*0.5,'底背离'),COLORBROWN;
A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));
顶背离:=REF(CLOSE,A2+1)<CLOSE AND REF(DIFF,A2+1)>DIFF AND CROSS(DEA,DIFF);
STICKLINE(顶背离,0,0.13,2,0),COLORBLUE;
STICKLINE(A2=0,DEA,顶背离,DEA,0),COLORBLUE,LINETHICK1;
DRAWTEXT(顶背离,DEA*0.5,'顶背离'),COLORBLUE;
DRAWICON(CROSS(DIFF,DEA),DEA,1);
DRAWICON(CROSS(DEA,DIFF),DEA,2);
DRAWICON((玫红柱 AND REF(蓝柱,1)) OR (红柱 AND REF(黄柱,1)) ,0,1);
DRAWICON((黄柱 AND REF(红柱,1)) OR (蓝柱 AND REF(玫红柱,1)),0,2);

{底部结构预警}
死叉:=CROSS(DEA,DIFF);
N1:=BARSLAST(死叉),NODRAW;{最近一次死叉的位置}
N2:=REF(BARSLAST(死叉),N1+1),NODRAW;{倒数第二次死叉与倒数第一次死叉的区间}
N3:=REF(BARSLAST(死叉),N2+N1+2),NODRAW;{倒数第三次死叉与倒数第二次死叉的区间}
CL1:=LLV(C,N1+1),NODRAW;{最近一次死叉后,最低收盘价}
DIFL1:=LLV(DIFF,N1+1),NODRAW;
CL2:=REF(CL1,N1+1),NODRAW;{倒数第二次死叉与倒数第一次死叉之间的最低收盘价}
DIFL2:=REF(DIFL1,N1+1),NODRAW;
CL3:=REF(CL2,N1+1),NODRAW;{倒数第三次死叉与倒数第二次死叉之间的最低收盘价}
DIFL3:=REF(DIFL2,N1+1),NODRAW;
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(DIFF/POW(10,PDIFL2));
MDIFB3:=INTPART(DIFF/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 隔峰底背离,NODRAW;
BG:((MDIFB2>REF(MDIFB2,1))*REF(直接底背离,1)) OR ((MDIFB3>REF(MDIFB3,1))*REF(隔峰底背离,1)),NODRAW;
底背离消失:=(REF(直接底背离,1) AND DIFL1<=DIFL2 ) OR (REF(隔峰底背离,1) AND DIFL1<=DIFL3);
DRAWTEXT(TFILTER(B,MACD>0,1),(DIFF+MACD),'钝化'),COLORRED;
STICKLINE(B OR BG,DIFF,DEA,1,0),COLORRED,LINETHICK1;
DRAWTEXT(TFILTER(底背离消失,B,1),(DIFF*1.05),'消失'),COLORYELLOW;
DRAWTEXT(TFILTER(BG,MACD>0,1),DIFF*1.1,'结构形成'),COLORMAGENTA;
{顶部结构预警}
金叉:=CROSS(DIFF,DEA);
M1:=BARSLAST(金叉),NODRAW;{最近一次金叉的位置}
M2:=REF(BARSLAST(金叉),M1+1),NODRAW;{倒数第二次金叉与倒数第一次金叉的区间}
M3:=REF(BARSLAST(金叉),M2+M1+2),NODRAW;{倒数第三次金叉与倒数第二次金叉的区间}
CH1:=HHV(C,M1+1),NODRAW;{最近一次金叉后,最高收盘价}
DIFH1:=HHV(DIFF,M1+1),NODRAW;
CH2:=REF(CH1,M1+1),NODRAW;{倒数第二次金叉与倒数第一次金叉之间的最高收盘价}
DIFH2:=REF(DIFH1,M1+1),NODRAW;
CH3:=REF(CH2,M1+1),NODRAW;{倒数第三次金叉与倒数第二次金叉之间的最高收盘价}
DIFH3:=REF(DIFH2,M1+1),NODRAW;
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(DIFF/POW(10,PDIFH2));
MDIFT3:=INTPART(DIFF/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 隔峰顶背离,NODRAW;
TG:((MDIFT2<REF(MDIFT2,1))*REF(直接顶背离,1)) OR ((MDIFT3<REF(MDIFT3,1))*REF(隔峰顶背离,1)),NODRAW;
顶背离消失:=(REF(直接顶背离,1) AND DIFH1>=DIFH2 ) OR (REF(隔峰顶背离,1) AND DIFH1>=DIFH3);
DRAWTEXT(TFILTER(T,MACD<0,1),(DIFF+MACD),'钝化'),COLORGREEN;
DRAWTEXT(TFILTER(顶背离消失,T,1),(DIFF*1.05),'消失'),COLORYELLOW;
STICKLINE(T OR TG,DIFF,DEA,1,0),COLORGREEN,LINETHICK1;
DRAWTEXT(TFILTER(TG,MACD<0,1),DIFF*1.02,'结构形成'),COLORMAGENTA;

原理解析:
输出DIFF:收盘价的12日指数移动平均-收盘价的26日指数移动平均
输出DEA:DIFF的9日指数移动平均
输出MACD:(DIFF-DEA)*2,COLORSTICK
当满足条件MACD>=0时,在MACD和0之间画柱状线
当满足条件MACD<0时,在MACD和0之间画柱状线
黄柱赋值:MACD<1日前的MACDAND MACD>0
STICKLINE(MACD<1日前的MACDAND MACD>0,0,MACD,4,0 ),COLOR00AAFF
STICKLINE(MACD<1日前的MACDAND MACD>0,0,MACD,3.3,0 ),COLOR00BBFF
STICKLINE(MACD<1日前的MACDAND MACD>0,0,MACD,2.2,0 ),COLOR00CCFF
STICKLINE(MACD<1日前的MACDAND MACD>0,0,MACD,1.65,0 ),COLOR00DDFF
STICKLINE(MACD<1日前的MACDAND MACD>0,0,MACD,1.1,0 ),COLOR00EEFF
STICKLINE(MACD<1日前的MACDAND MACD>0,0,MACD,0.55,0 ),COLOR00FFFF
红柱赋值:MACD>=1日前的MACDAND MACD>0
STICKLINE(MACD>=1日前的MACDAND MACD>0,0,MACD,4 ,0 ),COLOR0000AA
STICKLINE(MACD>=1日前的MACDAND MACD>0,0,MACD,3.3 ,0 ),COLOR0011BB
STICKLINE(MACD>=1日前的MACDAND MACD>0,0,MACD,2.2,0 ),COLOR0022CC
STICKLINE(MACD>=1日前的MACDAND MACD>0,0,MACD,1.65 ,0 ),COLOR0033DD
STICKLINE(MACD>=1日前的MACDAND MACD>0,0,MACD,1.1 ,0 ),COLOR0044EE
STICKLINE(MACD>=1日前的MACDAND MACD>0,0,MACD,0.55 ,0 ),COLOR0055FF
玫红柱赋值:MACD>1日前的MACDAND MACD<0
STICKLINE(MACD>1日前的MACDAND MACD<0,0,MACD,4,0 ),COLORAA00BB
STICKLINE(MACD>1日前的MACDAND MACD<0,0,MACD,3.3 ,0 ),COLORBB11BB
STICKLINE(MACD>1日前的MACDAND MACD<0,0,MACD,2.2,0 ),COLORCC22BB
STICKLINE(MACD>1日前的MACDAND MACD<0,0,MACD,1.65,0 ),COLORDD33BB
STICKLINE(MACD>1日前的MACDAND MACD<0,0,MACD,1.1,0 ),COLOREE44BB
STICKLINE(MACD>1日前的MACDAND MACD<0,0,MACD,0.55 ,0 ),COLORFF55BB
蓝柱赋值:MACD<=1日前的MACDAND MACD<0
STICKLINE(MACD<=1日前的MACDAND MACD<0,0,MACD,4,0 ),COLORFFAA00
STICKLINE(MACD<=1日前的MACDAND MACD<0,0,MACD,3.3 ,0 ),COLORFFBB11
STICKLINE(MACD<=1日前的MACDAND MACD<0,0,MACD,2.2,0 ),COLORFFCC22
STICKLINE(MACD<=1日前的MACDAND MACD<0,0,MACD,1.65 ,0 ),COLORFFDD33
STICKLINE(MACD<=1日前的MACDAND MACD<0,0,MACD,1.1 ,0 ),COLORFFEE44
STICKLINE(MACD<=1日前的MACDAND MACD<0,0,MACD,0.55 ,0 ),COLORFFFF55
如果DF<0返回DIFF否则返回0
如果DF<0返回0否则返回DIFF
如果DF如果DF>DEA返回DEA否则返回DEA

低位金叉赋值:DIFF上穿DEA AND DIFF<-0.1
当满足条件低位金叉时,在0和-0.18之间画柱状线
当满足条件低位金叉时,在DEA*0.3和'低金'位置书写文字
JCCOUNT赋值:COUNT(DIFF上穿DEA,上次DEA>=0距今天数)
二次金叉赋值:DIFF上穿DEA AND DEA<0 AND 统计21日满足JC=2的天数=1
当满足条件二次金叉时,在0和-0.18之间画柱状线
当满足条件二次金叉时,在DEA*1.04和13之间画图标
当满足条件二次金叉时,在DIFF*0.6和'二金'位置书写文字
A1赋值:上次1日前的DIFF上穿DEA距今天数
底背离赋值:A1+1日前的收盘价>收盘价 AND DIFF>A1+1日前的DIFF AND DIFF上穿DEA
当满足条件底背离时,在0和0.13之间画柱状线
当满足条件A1=0时,在DEA和底背离之间画柱状线
当满足条件底背离时,在DEA*0.5和'底背离'位置书写文字
A2赋值:上次1日前的DEA上穿DIFF距今天数
顶背离赋值:A2+1日前的收盘价<收盘价 AND A2+1日前的DIFF>DIFF AND DEA上穿DIFF
当满足条件顶背离时,在0和0.13之间画柱状线
当满足条件A2=0时,在DEA和顶背离之间画柱状线
当满足条件顶背离时,在DEA*0.5和'顶背离'位置书写文字
DRAWICON(DIFF上穿DEA,DEA,1)
DRAWICON(DEA上穿DIFF,DEA,2)
DRAWICON((玫红柱 AND 1日前的蓝柱) OR (红柱 AND 1日前的黄柱) ,0,1)
DRAWICON((黄柱 AND 1日前的红柱) OR (蓝柱 AND 1日前的玫红柱),0,2)

{底部结构预警}
死叉赋值:DEA上穿DIFF
N1赋值:上次死叉距今天数,NODRAW
{最近一次死叉的位置}
N2赋值:REF(上次死叉距今天数,N1+1),NODRAW
{倒数第二次死叉与倒数第一次死叉的区间}
N3赋值:REF(上次死叉距今天数,N2+N1+2),NODRAW
{倒数第三次死叉与倒数第二次死叉的区间}
CL1赋值:N1+1日内C最低值,NODRAW
{最近一次死叉后,最低收盘价}
DIFL1赋值:N1+1日内DIFF最低值,NODRAW
CL2赋值:N1+1日前的CL1,NODRAW
{倒数第二次死叉与倒数第一次死叉之间的最低收盘价}
DIFL2赋值:N1+1日前的DIFL1,NODRAW
CL3赋值:N1+1日前的CL2,NODRAW
{倒数第三次死叉与倒数第二次死叉之间的最低收盘价}
DIFL3赋值:N1+1日前的DIFL2,NODRAW
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(DIFF/POW(10,PDIFL2))
MDIFB3赋值:INTPART(DIFF/POW(10,PDIFL3))
直接底背离赋值:(CL1MDIFL2) AND (MACD<0 AND 1日前的MACD<0) AND MDIFB2<=1日前的MDIFB2
隔峰底背离赋值:(CL1MDIFL3) AND (MACD<0 AND 1日前的MACD<0) AND MDIFB3<=1日前的MDIFB3
输出B:直接底背离 OR 隔峰底背离,NODRAW
BG:((MDIFB2>1日前的MDIFB2)*1日前的直接底背离) OR ((MDIFB3>1日前的MDIFB3)*1日前的隔峰底背离),NODRAW
底背离消失:=(1日前的直接底背离 AND DIFL1<=DIFL2 ) OR (1日前的隔峰底背离 AND DIFL1<=DIFL3)
DRAWTEXT(TFILTER(B,MACD>0,1),(DIFF+MACD),'钝化'),画红色
当满足条件B OR BG时,在DIFF和DEA之间画柱状线
DRAWTEXT(TFILTER(底背离消失,B,1),(DIFF*1.05),'消失'),画黄色
DRAWTEXT(TFILTER(BG,MACD>0,1),DIFF*1.1,'结构形成'),COLORMAGENTA
{顶部结构预警}
金叉赋值:DIFF上穿DEA
M1赋值:上次金叉距今天数,NODRAW
{最近一次金叉的位置}
M2赋值:REF(上次金叉距今天数,M1+1),NODRAW
{倒数第二次金叉与倒数第一次金叉的区间}
M3:=REF(上次金叉距今天数,M2+M1+2),NODRAW
{倒数第三次金叉与倒数第二次金叉的区间}
CH1:=M1+1日内C最高值,NODRAW
{最近一次金叉后,最高收盘价}
DIFH1赋值:M1+1日内DIFF最高值,NODRAW
CH2赋值:M1+1日前的CH1,NODRAW
{倒数第二次金叉与倒数第一次金叉之间的最高收盘价}
DIFH2:=M1+1日前的DIFH1,NODRAW
CH3赋值:M1+1日前的CH2,NODRAW
{倒数第三次金叉与倒数第二次金叉之间的最高收盘价}
DIFH3:=M1+1日前的DIFH2,NODRAW
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(DIFF/POW(10,PDIFH2))
MDIFT3赋值:INTPART(DIFF/POW(10,PDIFH3))
{}
直接顶背离赋值:(CH1>CH2 ) AND (MDIFT20 AND 1日前的MACD>0) AND MDIFT2>=1日前的MDIFT2
隔峰顶背离赋值:(CH1>CH3 AND CH3>CH2 ) AND (MDIFT30 AND 1日前的MACD>0) AND MDIFT3>=1日前的MDIFT3
输出T:直接顶背离 OR 隔峰顶背离,NODRAW
TG:((MDIFT2<1日前的MDIFT2)*1日前的直接顶背离) OR ((MDIFT3<1日前的MDIFT3)*1日前的隔峰顶背离),NODRAW
顶背离消失:=(1日前的直接顶背离 AND DIFH1>=DIFH2 ) OR (1日前的隔峰顶背离 AND DIFH1>=DIFH3)
DRAWTEXT(TFILTER(T,MACD<0,1),(DIFF+MACD),'钝化'),画绿色
DRAWTEXT(TFILTER(顶背离消失,T,1),(DIFF*1.05),'消失'),画黄色
当满足条件T OR TG时,在DIFF和DEA之间画柱状线
DRAWTEXT(TFILTER(TG,MACD<0,1),DIFF*1.02,'结构形成'),COLORMAGENTA

声明:本站所有资源,均为用户自主上传,仅作为学习交流之用,其版权归原作者或原出版社所有,本站不对所涉及的版权问题负法律责任。如有侵权,请联系我们删除!