来函数检测结果如下:
该公式没有未来函数
SHORT:=12;
LONG:=26;
MID:=9;
DIFF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIFF,MID);
MACD:(DIFF-DEA)*2,COLORFFFF00,COLORSTICK;
A1:=BARSLAST(REF(CROSS(0, DEA),1));
A2:= BARSLAST(REF(COUNT(DEA<=0,A1+1)=A1+1 AND LLV(DIFF,5)=LLV(DIFF,A1+1) AND CROSS(DIFF,DEA),1));
A3:= BARSLAST(REF(CROSS(DIFF,DEA),1));
金叉:=IF(CROSS(DIFF,DEA) AND DEA<=0,0,DEA),COLORYELLOW;
低位多次金叉:IF(CROSS(DIFF,DEA) AND COUNT(A2>=1,A2+1)>=1 AND COUNT(DEA <=0,A2+1)=A2+1,0,DEA),COLORYELLOW;
DIBL1:= LLV(CLOSE,A3+1)=LLV(CLOSE,A1+1) AND NOT(LLV(DIFF,A3+1)=LLV(DIFF,A1+1)) AND CROSS(DIFF,DEA) AND COUNT(A2>=1,A2+1)>=1 AND COUNT(DEA <=0,A2+1)=A2+1;
底背离:=IF(DIBL1,0,DEA);
DRAWLINE(A2=0,DEA,DIBL1=1,DEA,0),COLORRED,LINETHICK3;
B1:=BARSLAST(REF(CROSS(DEA,0),1));
B2:=BARSLAST(REF(COUNT(DEA>=0,B1+1)=B1+1 AND HHV(DIFF,5)=HHV(DIFF,A1+1) AND CROSS(DEA,DIFF),1));{股票指标网}
B3:=BARSLAST(REF(CROSS(DEA,DIFF),1));
死叉:=IF(CROSS(DEA,DIFF) AND DEA>=0,0,DEA),COLORFFFF00;
高位多次死叉:IF(CROSS(DEA,DIFF) AND COUNT(B2>=1,B2+1)>=1 AND REF(COUNT(DEA >=0,B2+1)=B2+1,1),0,DEA),COLORFFFF00;
DINGBL1:= HHV(CLOSE,B3+1)=HHV(CLOSE,B1+1) AND NOT(HHV(DIFF,B3+1)=HHV(DIFF,B1+1)) AND CROSS(DEA,DIFF) AND COUNT(B2>=1,B2+1)>=1 AND COUNT(DEA >=0,B2+1)=B2+1;
顶背离:=IF(DINGBL1,0,DEA);{}
DRAWLINE(B2=0,DEA,DINGBL1,DEA,0),COLOR00FF00,LINETHICK3;
STICKLINE(DIFF>DEA,MACD,0,1,0),COLORRED;
STICKLINE(DEA>DIFF,MACD,0,1,0),COLORFFFF00;
原理解析:
SHORT赋值:12
LONG赋值:26
MID赋值:9
输出
DIFF:收盘价的SHORT日指数移动平均-收盘价的LONG日指数移动平均
输出
DEA:DIFF的MID日指数移动平均
输出
MACD:(DIFF-DEA)*2,COLORFFFF00,COLORSTICK
A1赋值:上次1日前的0上穿 DEA距今天数
A2赋值: 上次REF(统计A1+1日满足DEA<=0的天数=A1+1 AND 5日内DIFF最低值=A1+1日内DIFF最低值 AND DIFF上穿DEA,1距今天数)
A3赋值: 上次1日前的DIFF上穿DEA距今天数
金叉赋值:IF(DIFF上穿DEA AND DEA<=0,0,DEA),画黄色
输出
低位多次金叉:IF(DIFF上穿DEA AND 统计A2+1日满足A2>=1的天数>=1 AND 统计A2+1日满足DEA <=0的天数=A2+1,0,DEA),画黄色
DIBL1赋值: A3+1日内收盘价最低值=A1+1日内收盘价最低值 AND NOT(A3+1日内DIFF最低值=A1+1日内DIFF最低值) AND DIFF上穿DEA AND 统计A2+1日满足A2>=1的天数>=1 AND 统计A2+1日满足DEA <=0的天数=A2+1
如果DIBL1返回0否则返回DEA
DRAWLINE(A2=0,DEA,DIBL1=1,DEA,0),画红色, 线宽为3
B1赋值:上次1日前的DEA上穿0距今天数
B2赋值:上次REF(统计B1+1日满足DEA>=0的天数=B1+1 AND 5日内DIFF最高值=A1+1日内DIFF最高值 AND DEA上穿DIFF,1距今天数)
{股票指标网}
B3赋值:上次1日前的DEA上穿DIFF距今天数
死叉赋值:IF(DEA上穿DIFF AND DEA>=0,0,DEA),COLORFFFF00
输出
高位多次死叉:IF(DEA上穿DIFF AND 统计B2+1日满足B2>=1的天数>=1 AND 1日前的统计B2+1日满足DEA >=0的天数=B2+1,0,DEA),COLORFFFF00
DINGBL1赋值: B3+1日内收盘价最高值=B1+1日内收盘价最高值 AND NOT(B3+1日内DIFF最高值=B1+1日内DIFF最高值) AND DEA上穿DIFF AND 统计B2+1日满足B2>=1的天数>=1 AND 统计B2+1日满足DEA >=0的天数=B2+1
如果DINGBL1返回0否则返回DEA
{}
DRAWLINE(B2=0,DEA,DINGBL1,DEA,0),COLOR00FF00, 线宽为3
当满足条件DIFF>DEA时,在MACD和0之间画柱状线
当满足条件DEA>DIFF时,在MACD和0之间画柱状线