来函数检测结果如下:
该公式没有未来函数
A:=MA(CLOSE,17)+ABS(MA(CLOSE,17)-REF(MA(CLOSE,17),1));
B:=MA(CLOSE,17)+MA(CLOSE,17)-REF(MA(CLOSE,17),1);
分水岭:IF(MA(CLOSE,17)< B,B,MA(CLOSE,17)),COLORFF00FF;
操作线:分水岭-(EMA(C,3)-分水岭),COLOR00FFFF;
PM:MA(C,5),COLORWHITE;
IF(PM> REF(PM,1),PM,DRAWNULL),COLORRED;
IF(PM=REF(PM,1),PM,DRAWNULL),COLORRED;
IF(PM< REF(PM,1),PM,DRAWNULL),COLORFF9900;
S:=(PM> 操作线);
DD11:=分水岭< REF(分水岭,1);
IF(DD11,分水岭,DRAWNULL),COLOR00FF00;
IF(S,分水岭,DRAWNULL),COLOR00FF00;
DRAWICON(CROSS(分水岭,操作线),分水岭-0.1,1);
A1:=BARSLAST(REF(CROSS("MACD.DIF","MACD.DEA"),1));
B1:=REF(C,A1+1)> C AND REF("MACD.DIF",A1+1)< "MACD.DIF" AND CROSS("MACD.DIF","MACD.DEA");
DRAWTEXT(B1> 0,L-0.02,'MACD底背离'),COLOR00FFFF;
A2:=BARSLAST(REF(CROSS("KDJ.K","KDJ.D"),1));
B2:=REF(C,A2+1)> C AND REF("KDJ.K",A2+1)< "KDJ.K" AND CROSS("KDJ.K","KDJ.D");
DRAWTEXT(B2,L-0.10,'KDJ底背离'),COLORFF00FF;
A3:=BARSLAST(REF(CROSS("RSI.RSI1","RSI.RSI2"),1));
B3:=REF(C,A3+1)> C AND REF("RSI.RSI1",A3+1)< "RSI.RSI1" AND CROSS("RSI.RSI1","RSI.RSI2");
DRAWTEXT(B3> 0,L-0.18,'RSI底背离'),COLOR0000FF;
C1:=BARSLAST(REF(CROSS("MACD.DEA","MACD.DIF"),1));
D1:=REF(C,C1+1)< C AND REF("MACD.DIF",C1+1)> "MACD.DIF" AND CROSS("MACD.DEA","MACD.DIF");
DRAWTEXT(D1> 0,H+0.16,'MACD顶背离'),COLOR00FF00;
C2:=BARSLAST(REF(CROSS("KDJ.D","KDJ.K"),1));
D2:=REF(C,C2+1)< C AND REF("KDJ.K",C2+1)> "KDJ.K" AND CROSS("KDJ.D","KDJ.K");
DRAWTEXT(D2> 0,H+0.08,'KDJ顶背离'),COLORFFFFCC;
C3:=BARSLAST(REF(CROSS("RSI.RSI2","RSI.RSI1"),1));
D3:=REF(C,C3+1)< C AND REF("RSI.RSI1",C3+1)> "RSI.RSI1" AND CROSS("RSI.RSI2","RSI.RSI1");
DRAWTEXT(D3> 0,H+0.04,'RSI顶背离'),COLORFF9900;
原理解析:
A赋值:CLOSE的17日简单移动平均+CLOSE的17日简单移动平均-REF(CLOSE的17日简单移动平均,1的绝对值)
B赋值:CLOSE的17日简单移动平均+CLOSE的17日简单移动平均-REF(CLOSE的17日简单移动平均,1)
输出分水岭:IF(CLOSE的17日简单移动平均< B,B,CLOSE的17日简单移动平均),COLORFF00FF
输出操作线:分水岭-(C的3日指数移动平均-分水岭),COLOR00FFFF
输出PM:C的5日简单移动平均,画白色
IF(PM> 1日前的PM,PM,DRAWNULL),画红色
IF(PM=1日前的PM,PM,DRAWNULL),画红色
IF(PM< 1日前的PM,PM,DRAWNULL),COLORFF9900
S赋值:(PM> 操作线)
DD11赋值:分水岭< 1日前的分水岭
如果DD11返回分水岭否则返回DRAWNULL
如果S返回分水岭否则返回DRAWNULL
DRAWICON(分水岭上穿操作线,分水岭-0.1,1)
A1:=上次1日前的"MACD.DIF"上穿"MACD.DEA"距今天数
B1:=A1+1日前的C> C AND A1+1日前的"MACD.DIF"< "MACD.DIF" AND "MACD.DIF"上穿"MACD.DEA"
当满足条件B1> 0时,在L-0.02和'MACD底背离'位置书写文字
A2:=上次1日前的"KDJ.K"上穿"KDJ.D"距今天数
B2:=A2+1日前的C> C AND A2+1日前的"KDJ.K"< "KDJ.K" AND "KDJ.K"上穿"KDJ.D"
当满足条件B2时,在L-0.10和'KDJ底背离'位置书写文字
A3:=上次1日前的"RSI.RSI1"上穿"RSI.RSI2"距今天数
B3:=A3+1日前的C> C AND A3+1日前的"RSI.RSI1"< "RSI.RSI1" AND "RSI.RSI1"上穿"RSI.RSI2"
当满足条件B3> 0时,在L-0.18和'RSI底背离'位置书写文字
C1赋值:上次1日前的"MACD.DEA"上穿"MACD.DIF"距今天数
D1赋值:C1+1日前的C< C AND C1+1日前的"MACD.DIF"> "MACD.DIF" AND "MACD.DEA"上穿"MACD.DIF"
当满足条件D1> 0时,在H+0.16和'MACD顶背离'位置书写文字
C2赋值:上次1日前的"KDJ.D"上穿"KDJ.K"距今天数
D2赋值:C2+1日前的C< C AND C2+1日前的"KDJ.K"> "KDJ.K" AND "KDJ.D"上穿"KDJ.K"
当满足条件D2> 0时,在H+0.08和'KDJ顶背离'位置书写文字
C3赋值:上次1日前的"RSI.RSI2"上穿"RSI.RSI1"距今天数
D3赋值:C3+1日前的C< C AND C3+1日前的"RSI.RSI1"> "RSI.RSI1" AND "RSI.RSI2"上穿"RSI.RSI1"
当满足条件D3> 0时,在H+0.04和'RSI顶背离'位置书写文字