来函数检测结果如下:
该公式没有未来函数
DIFF1:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA1:=EMA(DIFF1,9);
DRAWBAND(DEA1,DRAWNULL,DIFF1,RGB(250,0,0));
DIFF:EMA(CLOSE,12)-EMA(CLOSE,26),COLORYELLOW;
DEA:EMA(DIFF,9),COLORCYAN;
MACD:2*(DIFF-DEA),COLORSTICK;
TR1:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD:=HIGH-REF(HIGH,1);
LD:=REF(LOW,1)-LOW;
PDM:=SUM(IF(HD>0 AND HD>LD,HD,0),14);
MDM:=SUM(IF(LD>0 AND LD>HD,LD,0),14);
PDI:=PDM*100/TR;
MDI:=MDM*100/TR;
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
B1:=REF(C,A1+1)>C AND REF(DIFF,A1+1)<DIFF AND CROSS(DIFF,DEA);
A2:=BARSLAST(REF(CROSS("KDJ.K"(9,3,3),"KDJ.D"(9,3,3)),1));
B2:=REF(C,A2+1)>C AND REF("KDJ.K"(9,3,3),A2+1)<"KDJ.K"(9,3,3) AND CROSS("KDJ.K"(9,3,3),"KDJ.D"(9,3,3));
A3:=BARSLAST(REF(CROSS("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24)),1));
B3:=REF(C,A3+1)>C AND REF("RSI.RSI1"(6,12,24),A3+1)<"RSI.RSI1"(6,12,24) AND CROSS("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24));
C1:=BARSLAST(REF(CROSS(DEA,DIFF),1));
D1:=REF(C,C1+1)<C AND REF(DIFF,C1+1)>DIFF AND CROSS(DEA,DIFF);
C2:=BARSLAST(REF(CROSS("KDJ.D"(9,3,3),"KDJ.K"(9,3,3)),1));
D2:=REF(C,C2+1)<C AND REF("KDJ.K"(9,3,3),C2+1)>"KDJ.K"(9,3,3) AND CROSS("KDJ.D"(9,3,3),"KDJ.K"(9,3,3));
C3:=BARSLAST(REF(CROSS("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24)),1));
D3:=REF(C,C3+1)<C AND REF("RSI.RSI1"(6,12,24),C3+1)>"RSI.RSI1"(6,12,24) AND CROSS("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24));
C4:=BARSLAST(REF(CROSS(MDI,PDI),1));
D4:=REF(C,C+1)<C AND REF(MDI,C4+1)>MDI AND CROSS(MDI,PDI);
A4:=BARSLAST(REF(CROSS(PDI,MDI),1));
B4:=REF(C,A4+1)>C AND REF(PDI,A4+1)<PDI AND CROSS(PDI,MDI);
MACD底背:IF(B1>0,1,0),COLORRED,NODRAW;
KDJ底背:IF(B2>0,1,0),COLORFF00FF,NODRAW;
RSI底背:IF(B3>0,1,0),COLORYELLOW,NODRAW;
DMI底背:IF(B4>0,1,0),COLORBROWN,NODRAW;
MACD顶背:IF(D1>0,1,0),COLOR00FF00,NODRAW;
KDJ顶背:IF(D2>0,1,0),COLORFFCC66,NODRAW;
RSI顶背:IF(D3>0,1,0),COLORWHITE,NODRAW;
DMI顶背:IF(D4>0,1,0),COLORLIRED,NODRAW;
{DRAWLINE(A1=0,DEA,MACD底背,DEA,0),COLORRED,LINETHICK2;
DRAWLINE(A2=0,DEA,MACD顶背,DEA,0),COLOR00FF00,LINETHICK2;}
STICKLINE(B1>0,-0.1,0,2,0),COLORRED;
STICKLINE(B2>0,-0.1,-0.2,2,0),COLORFF00FF;
STICKLINE(B3>0,-0.1,0,2,0),COLORYELLOW;
STICKLINE(B4>0,-0.1,-0.2,2,0),COLORBROWN;
STICKLINE(D1>0,0.1,0,2,0),COLOR00FF00;
STICKLINE(D2>0,0.1,0.2,2,0),COLORFFCC66;
STICKLINE(D3>0,0.1,0,2,0),COLORWHITE;
STICKLINE(D4>0,0.1,0.2,2,0),COLORLIRED;
{
选股公式:
DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIFF,9),;
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
XG:REF(C,A1+1)>C AND REF(DIFF,A1+1)<DIFF AND CROSS(DIFF,DEA);
}
原理解析:
DIFF1赋值:收盘价的12日指数移动平均-收盘价的26日指数移动平均
DEA1赋值:DIFF1的9日指数移动平均
DRAWBAND(DEA1,DRAWNULL,DIFF1,RGB(250,0,0))
输出
DIFF:收盘价的12日指数移动平均-收盘价的26日指数移动平均,画黄色
输出
DEA:DIFF的9日指数移动平均,画青色
输出
MACD:2*(DIFF-DEA),COLORSTICK
TR1赋值:SUM(MAX(MAX(最高价-最低价,最高价-1日前的收盘价的绝对值),ABS(最低价-1日前的收盘价)),14)
HD赋值:最高价-1日前的最高价
LD赋值:1日前的最低价-最低价
如果HD>0 AND HD>LD返回HD否则返回0
如果LD>0 AND LD>HD返回LD否则返回0
PDI赋值:PDM*100/TR
MDI赋值:MDM*100/TR
A1赋值:上次1日前的DIFF上穿DEA距今天数
B1赋值:A1+1日前的C>C AND A1+1日前的DIFF
A2赋值:上次REF(CROSS("KDJ.K"(9,3,3距今天数,"KDJ.D"(9,3,3)),1))
B2赋值:A2+1日前的C>C AND REF("KDJ.K"(9,3,3),A2+1)<"KDJ.K"(9,3,3) AND CROSS("KDJ.K"(9,3,3),"KDJ.D"(9,3,3))
A3赋值:上次REF(CROSS("RSI.RSI1"(6,12,24距今天数,"RSI.RSI2"(6,12,24)),1))
B3赋值:A3+1日前的C>C AND REF("RSI.RSI1"(6,12,24),A3+1)<"RSI.RSI1"(6,12,24) AND CROSS("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24))
C1赋值:上次1日前的DEA上穿DIFF距今天数
D1赋值:C1+1日前的C
C2赋值:上次REF(CROSS("KDJ.D"(9,3,3距今天数,"KDJ.K"(9,3,3)),1))
D2赋值:C2+1日前的C
C3赋值:上次REF(CROSS("RSI.RSI2"(6,12,24距今天数,"RSI.RSI1"(6,12,24)),1))
D3赋值:C3+1日前的C
C4赋值:上次1日前的MDI上穿PDI距今天数
D4赋值:C+1日前的C
A4赋值:上次1日前的PDI上穿MDI距今天数
B4赋值:A4+1日前的C>C AND A4+1日前的PDI
如果B2>0返回1否则返回0
如果B3>0返回1否则返回0
如果B4>0返回1否则返回0
如果D1>0返回1否则返回0
如果D2>0返回1否则返回0
如果D3>0返回1否则返回0
如果D4>0返回1否则返回0
{DRAWLINE(A1=0,DEA,MACD底背,DEA,0),画红色, 线宽为2
DRAWLINE(A2=0,DEA,MACD顶背,DEA,0),COLOR00FF00, 线宽为2
当满足条件B1>0时,在-0.1和0之间画柱状线
当满足条件B2>0时,在-0.1和-0.2之间画柱状线
当满足条件B3>0时,在-0.1和0之间画柱状线
当满足条件B4>0时,在-0.1和-0.2之间画柱状线
当满足条件D1>0时,在0.1和0之间画柱状线
当满足条件D2>0时,在0.1和0.2之间画柱状线
当满足条件D3>0时,在0.1和0之间画柱状线
当满足条件D4>0时,在0.1和0.2之间画柱状线
{
选股公式:
DIFF:=收盘价的12日指数移动平均-收盘价的26日指数移动平均
DEA赋值:DIFF的9日指数移动平均,
A1赋值:上次1日前的DIFF上穿DEA距今天数
输出
XG:A1+1日前的C>C AND A1+1日前的DIFF
}