未来函数检测结果如下:
该公式包含未来函数:#MONTH
该公式包含未来函数:#WEEK
指标源码:
原理解析:
N赋值:3
M赋值:9
M1:=3
输出DIF:收盘价的N日指数移动平均-收盘价的M日指数移动平均,NODRAW
输出DEA:DIF的M1日指数移动平均,NODRAW
MACD:(DIF-DEA)*2,COLORSTICK
输出{多周期统计}
当红:IF(上次MACD<0距今天数,上次MACD<0距今天数,0),NODRAW,画红色
输出当绿:IF(上次MACD>0距今天数,上次MACD>0距今天数,0),NODRAW,COLORGREEN
{MACD周值}
周DIF赋值:"MACD.DIF#WEEK"
周DEA赋值:"MACD.DEA#WEEK"
周MACD:=(周DIF-周DEA)*2
输出周红:IF(周MACD>0,上次周MACD上穿0距今天数,DRAWNULL)+1,画黄色,NODRAW
输出周绿:IF(周MACD<0,上次0上穿周MACD距今天数,DRAWNULL)+1,COLORCYAN,NODRAW
{MACD月值}
月DIF赋值:"MACD.DIF#MONTH"
月DEA赋值:"MACD.DEA#MONTH"
月MACD:=(月DIF-月DEA)*2
输出月红:IF(月MACD>0,上次月MACD上穿0距今天数,DRAWNULL)+1,画红色,NODRAW
输出月绿:IF(月MACD<0,上次0上穿月MACD距今天数,DRAWNULL)+1,COLORGREEN,NODRAW
STICKLINE(MACD>1日前的MACD AND MACD>0,0,MACD,1,0),画红色
STICKLINE(MACD<1日前的MACD AND MACD>0,0,MACD,1,-1),画红色
STICKLINE(MACD>1日前的MACD AND MACD<0,0,MACD,1,0),COLORGREEN
STICKLINE(MACD<1日前的MACD AND MACD<0,0,MACD,1,-1),COLORGREEN
ZM赋值:REF(MACD,上次周红=1距今天数)
当满足条件MACD>ZM AND ZM>0时,在ZM和ZM之间画柱状线
DRAWBAND(DEA,RGB(250,250,0),DEA,RGB(0,0,0))
如果D>DEA返回DIF否则返回DRAWNULL
如果周红<1返回DEA否则返回DRAWNULL
当满足条件周红=1时,在0和'周'位置书写文字
低位金叉赋值:DIF上穿DEA AND DIF<-0.1
JCCOUNT:=COUNT(DIF上穿DEA,上次DEA>=0距今天数)
二次金叉赋值:DIF上穿DEA AND DEA<0 AND 统计21日满足JC=2的天数=1
当满足条件二次金叉时,在DEA*0.2和'二金'位置书写文字
三次金叉赋值:DIF上穿DEA AND DEA<0 AND 统计60日满足JC=3的天数=1
当满足条件三次金叉时,在DEA*0.2和'三金'位置书写文字
四次金叉赋值:DIF上穿DEA AND DEA<0 AND 统计90日满足JC=4的天数=1
当满足条件四次金叉时,在DEA*0.2和'四金'位置书写文字
五次金叉赋值:DIF上穿DEA AND DEA<0 AND 统计120日满足JC=5的天数=1
当满足条件五次金叉时,在DEA*0.2和'五金'位置书写文字
六次金叉赋值:DIF上穿DEA AND DEA<0 AND 统计150日满足JC=6的天数=1
当满足条件六次金叉时,在DEA*0.2和'六金'位置书写文字
{MACD日线底背离}
A1:=上次1日前的DIF上穿DEA距今天数
底背离赋值:A1+1日前的收盘价>收盘价 AND DIF>A1+1日前的DIF AND DIF上穿DEA
当满足条件底背离时,在DIF*0.5和'底背'位置书写文字
输出{日底背画线:DRAWLINE(A1=0,DEA,底背离,DEA,0),画红色,DOTLINE
}
{MACD日线顶背离}
A2:=上次1日前的DEA上穿DIF距今天数
顶背离赋值:A2+1日前的收盘价<收盘价 AND A2+1日前的DIF>DIF AND DEA上穿DIF
当满足条件顶背离时,在DIF*1.12和'顶背'位置书写文字
输出{日顶背画线:DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORGREEN,DOTLINE
}
{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 绿柱面积的绝对值
当满足条件底背驰时,在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 红柱面积的绝对值
当满足条件顶背驰时,在DEA*0.8和'积顶背'位置书写文字
周K赋值:"KDJ.K#WEEK"
周D赋值:"KDJ.D#WEEK"
DRAWTEXT(周K上穿周D,0,'KDJ周'),画黄色
当满足条件1时,在横轴0.02纵轴0.06位置书写文字