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


MACD2:=2*(MACD.DIF-MACD.DEA);

STICKLINE(MACD2>=0 AND MACD2>REF(MACD2,1),0,MACD2,1.2,0),COLOR0000A5;

STICKLINE(MACD2>=0 AND MACD2<REF(MACD2,1),0,MACD2,1.2,0),COLORAA7800;

STICKLINE(MACD2<0 AND MACD2<REF(MACD2,1),0,MACD2,1.2,0),COLOR00A500;

STICKLINE(MACD2<0 AND MACD2>REF(MACD2,1),0,MACD2,1.2,0),COLORA500A5;

DIF:EMA(CLOSE,12)-EMA(CLOSE,26);

DEA:EMA(DIF,9);

MACD:(DIF-DEA)*2,NODRAW;

 

{MACD日线二次金叉}

JCCOUNT:=COUNT(CROSS(DIF,DEA),BARSLAST(DEA>=0));

二次金叉:=CROSS(DIF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1;

DRAWTEXT(二次金叉,DEA*1.25,'零下二金'),COLORWHITE;

{MACD日线底背离}

A1:=BARSLAST(REF(CROSS(DIF,DEA),1));

底背离:=REF(CLOSE,A1+1)>CLOSE AND DIF>REF(DIF,A1+1) AND CROSS(DIF,DEA);

DRAWTEXT(底背离,DIF*0.5,'日底背'),COLORRED;

{日底背画线:DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED,DOTLINE;}

{MACD日线顶背离}

A2:=BARSLAST(REF(CROSS(DEA,DIF),1));

顶背离:=REF(CLOSE,A2+1)<CLOSE AND REF(DIF,A2+1)>DIF AND CROSS(DEA,DIF);

DRAWTEXT(顶背离,DIF*1.12,'日顶背'),COLORGREEN;

{日顶背画线:DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORGREEN,DOTLINE;}

{MACD_KDJ的金叉.,共振}

{DIF:EMA(CLOSE,12)-EMA(CLOSE,26);DEA:EMA(DIF,9);}

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9));

K:=SMA(RSV,9,3),NODRAW;

D:=SMA(K,9,3),NODRAW;

J:=3*K-2*D,NODRAW;{}

M&K金共:=CROSS(DIF,DEA) AND CROSS(K,D) AND CROSS(J,D);

DRAWTEXT(M&K金共,DEA*1.12,'金叉.,共振'),COLORYELLOW;

{MACD柱背离}

MACD高:=HHV(MACD,5);

C1:=BARSLAST(REF(CROSS(DEA,DIF),1));

E:=REF(C,C1+1)>C AND DEA>0 AND REF(MACD高,C1+1)<MACD高 AND CROSS(DEA,DIF) ;

DRAWTEXT(E>0,-0.5,'柱顶背'),COLORCYAN;

F:=REF(C,A1+1)>C AND DEA<0 AND REF(MACD高,A1+1)<MACD高 AND CROSS(DIF,DEA);

DRAWTEXT(F>0,0.5,'柱底背'),COLORLIRED;

{MACD积背离

}

JC:= DEA-DIF;

绿柱面积:=IF(MACD<0,SUM(MACD,BARSLAST(JC<0)),0);

红柱面积:=IF(MACD>0,SUM(MACD,BARSLAST(JC>0)),0);

本次最低价:=LLV(L,BARSLAST(JC<0));

本次最高价:=HHV(H,BARSLAST(JC>0));

X1:=IF (MACD<0,BARSLAST(CROSS(DIF,DEA)),0);

前次绿柱面积:=REF(绿柱面积,X1+1);

前次最低价:=REF(本次最低价,X1+1);

Y1:=IF((绿柱面积<0 AND ABS(绿柱面积)<ABS(前次绿柱面积) AND 本次最低价<前次最低价 ),1,0);

RS1:= MACD<0 AND REF(MACD,1)<0 AND C<前次最低价

AND ABS(绿柱面积)<ABS(前次绿柱面积) AND ABS(MACD)<ABS(REF(MACD,1));

底背驰:= IF (CROSS(DIF,DEA),REF(Y1,1),0);

DRAWTEXT(底背驰,DEA*0.8,'积底背'),COLORFF80FF;

X2:=IF (MACD>0,BARSLAST(CROSS(DEA,DIF)),0);

前次红柱面积:=REF(红柱面积,X2+1);

前次最高价:=REF(本次最高价,X2+1);

Y2:=IF((红柱面积>0 AND 红柱面积<前次红柱面积 AND 本次最高价>前次最高价 ),1,0);

RS2:= MACD>0 AND REF(MACD,1)>0 AND C>前次最高价 AND ABS(红柱面积)<ABS(前次红柱面积) AND ABS(MACD)<ABS(REF(MACD,1));

顶背驰:= IF (CROSS(DEA,DIF),REF(Y2,1),0);

DRAWTEXT(顶背驰,DEA*0.8,'积顶背'),COLORCYAN;

 


原理解析:
MACD2赋值:2*(MACD.DIF-MACD.DEA)
STICKLINE(MACD2>=0 AND MACD2>1日前的MACD2,0,MACD2,1.2,0),COLOR0000A5
STICKLINE(MACD2>=0 AND MACD2<1日前的MACD2,0,MACD2,1.2,0),COLORAA7800
STICKLINE(MACD2<0 AND MACD2<1日前的MACD2,0,MACD2,1.2,0),COLOR00A500
STICKLINE(MACD2<0 AND MACD2>1日前的MACD2,0,MACD2,1.2,0),COLORA500A5
输出DIF:CLOSE的12日指数移动平均-CLOSE的26日指数移动平均
输出DEA:DIF的9日指数移动平均
输出MACD:(DIF-DEA)*2,NODRAW
 
{MACD日线二次金叉}
JCCOUNT:=COUNT(DIF上穿DEA,上次DEA>=0距今天数)
二次金叉赋值:DIF上穿DEA AND DEA<0 AND 统计21日满足JC=2的天数=1
当满足条件二次金叉时,在DEA*1.25和'零下二金'位置书写文字
{MACD日线底背离}
A1:=上次1日前的DIF上穿DEA距今天数
底背离赋值:A1+1日前的CLOSE>CLOSE AND DIF>A1+1日前的DIF AND DIF上穿DEA
当满足条件底背离时,在DIF*0.5和'日底背'位置书写文字
输出{日底背画线:DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED,DOTLINE
}
{MACD日线顶背离}
A2:=上次1日前的DEA上穿DIF距今天数
顶背离赋值:A2+1日前的CLOSEDIF AND DEA上穿DIF
当满足条件顶背离时,在DIF*1.12和'日顶背'位置书写文字
输出{日顶背画线:DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORGREEN,DOTLINE
}
{MACD_KDJ的金叉.,共振}
{输出DIF:CLOSE的12日指数移动平均-CLOSE的26日指数移动平均
输出DEA:DIF的9日指数移动平均
}
RSV赋值:(CLOSE-9日内最低价最低值)/(9日内最高价最高值-9日内最低价最低值)
RSV的9日[3日权重]移动平均
K的9日[3日权重]移动平均
J赋值:3*K-2*D,NODRAW
{}
M&K金共:=DIF上穿DEA AND K上穿D AND J上穿D
当满足条件M&K金共时,在DEA*1.12和'金叉.位置书写文字
{MACD柱背离}
MACD高:=5日内MACD最高值
C1赋值:上次1日前的DEA上穿DIF距今天数
E赋值:C1+1日前的C>C AND DEA>0 AND C1+1日前的MACD高当满足条件E>0时,在-0.5和'柱顶背'位置书写文字
F赋值:A1+1日前的C>C AND DEA<0 AND A1+1日前的MACD高当满足条件F>0时,在0.5和'柱底背'位置书写文字
{MACD积背离
}
JC:= DEA-DIF
绿柱面积赋值:IF(MACD<0,SUM(MACD,上次JC<0距今天数),0)
红柱面积赋值:IF(MACD>0,SUM(MACD,上次JC>0距今天数),0)
本次最低价赋值:LLV(L,上次JC<0距今天数)
本次最高价赋值:HHV(H,上次JC>0距今天数)
X1赋值:IF (MACD<0,上次DIF上穿DEA距今天数,0)
前次绿柱面积赋值:X1+1日前的绿柱面积
前次最低价赋值:X1+1日前的本次最低价
Y1赋值:IF((绿柱面积<0 AND 绿柱面积的绝对值 RS1赋值: MACD<0 AND 1日前的MACD<0 AND C<前次最低价 AND 绿柱面积的绝对值 底背驰赋值: IF (DIF上穿DEA,1日前的Y1,0)
当满足条件底背驰时,在DEA*0.8和'积底背'位置书写文字
X2赋值:IF (MACD>0,上次DEA上穿DIF距今天数,0)
前次红柱面积赋值:X2+1日前的红柱面积
前次最高价赋值:X2+1日前的本次最高价
Y2赋值:IF((红柱面积>0 AND 红柱面积<前次红柱面积 AND 本次最高价>前次最高价 ),1,0)
RS2赋值: MACD>0 AND 1日前的MACD>0 AND C>前次最高价 AND 红柱面积的绝对值 顶背驰赋值: IF (DEA上穿DIF,1日前的Y2,0)
当满足条件顶背驰时,在DEA*0.8和'积顶背'位置书写文字
 

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