通达信MACD常胜副图,红进绿出信号明确源码
DIFF:EMA(CLOSE,7) - EMA(CLOSE,19);
DEA:EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
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));
MACD底背:IF(B1>0,-0.1,0),COLORRED,POINTDOT;
KDJ底背:IF(B2>0,-0.1,0),COLORFF00FF,POINTDOT;
RSI底背:IF(B3>0,-0.1,0),COLORYELLOW,POINTDOT;
MACD顶背:IF(D1>0,0.1,0),COLOR00FF00,POINTDOT;
KDJ顶背:IF(D2>0,0.1,0),COLORFFCC66,POINTDOT;
RSI顶背:IF(D3>0,0.1,0),COLORWHITE,POINTDOT;
STICKLINE(B1>0,-0.1,0,2,0),COLORRED;
STICKLINE(B2>0,-0.1,0,2,0),COLORFF00FF;
STICKLINE(B3>0,-0.1,0,2,0),COLORYELLOW;
STICKLINE(D1>0,0.1,0,2,0),COLOR00FF00;
STICKLINE(D2>0,0.1,0,2,0),COLORFFCC66;
STICKLINE(D3>0,0.1,0,2,0),COLORWHITE;
STICKLINE(MACD>REF(MACD,1) AND MACD>0,0,MACD,0,0),COLORRED;
STICKLINE(MACD<=REF(MACD,1) AND MACD>0,0,MACD,0,0),COLORYELLOW;
STICKLINE(MACD<REF(MACD,1) AND MACD<0,0,MACD,0,0),COLORCYAN;
STICKLINE(MACD>=REF(MACD,1) AND MACD<0,0,MACD,0,0),COLORMAGENTA;
STICKLINE(C>0,0,0,50,1),COLORBLUE;
DIFF,COLORGREEN;
DEA,COLORYELLOW;强:IF(DIFF>MA(DIFF,2),DIFF,DRAWNULL),COLORRED;
弱:IF(DEA>MA(DEA,2),DEA,DRAWNULL),COLORMAGENTA;
来函数检测结果如下:
该公式没有未来函数
解密、编写股票、期货策略请联系QQ或微信同号:88652583
相关股票指标公式
原理解析:
输出DIFF:收盘价的7日指数移动平均 - 收盘价的19日指数移动平均
输出DEA:DIFF的9日指数移动平均
输出MACD:2*(DIFF-DEA),COLORSTICK
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日前的CDIFF AND DEA上穿DIFF
C2赋值:上次REF(CROSS("KDJ.D"(9,3,3距今天数,"KDJ.K"(9,3,3)),1))
D2赋值:C2+1日前的C"KDJ.K"(9,3,3) AND CROSS("KDJ.D"(9,3,3),"KDJ.K"(9,3,3))
C3赋值:上次REF(CROSS("RSI.RSI2"(6,12,24距今天数,"RSI.RSI1"(6,12,24)),1))
D3赋值:C3+1日前的C"RSI.RSI1"(6,12,24) AND CROSS("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24))
如果B1>0返回-0.1否则返回0
如果B2>0返回-0.1否则返回0
如果B3>0返回-0.1否则返回0
如果D1>0返回0.1否则返回0
如果D2>0返回0.1否则返回0
如果D3>0返回0.1否则返回0
当满足条件B1>0时,在-0.1和0之间画柱状线
当满足条件B2>0时,在-0.1和0之间画柱状线
当满足条件B3>0时,在-0.1和0之间画柱状线
当满足条件D1>0时,在0.1和0之间画柱状线
当满足条件D2>0时,在0.1和0之间画柱状线
当满足条件D3>0时,在0.1和0之间画柱状线
STICKLINE(MACD>1日前的MACD AND MACD>0,0,MACD,0,0),画红色
STICKLINE(MACD<=1日前的MACD AND MACD>0,0,MACD,0,0),画黄色
STICKLINE(MACD<1日前的MACD AND MACD<0,0,MACD,0,0),画青色
STICKLINE(MACD>=1日前的MACD AND MACD<0,0,MACD,0,0),画洋红色
当满足条件C>0时,在0和0之间画柱状线
DIFF,画绿色
DEA,画黄色
输出强:IF(DIFF>DIFF的2日简单移动平均,DIFF,DRAWNULL),画红色
输出弱:IF(DEA>DEA的2日简单移动平均,DEA,DRAWNULL),画洋红色