通达信发一个简单的MACD公式
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9),COLOR33CCFF;
DRAWBAND(DIF,RGB(155,50,50),DEA,RGB(0,100,50));
MACD:(DIF-DEA)*2,COLORSTICK,COLORMAGENTA;
K1:=BACKSET(DIF>REF(DIF,1),2);
持仓:IF(K1,DIF,DRAWNULL),COLORRED,LINETHICK1;
K2:=BACKSET(DIF<REF(DIF,1),2);
空仓:IF(K2,DIF,DRAWNULL),COLOR33FF33,LINETHICK1;
STICKLINE(持仓,0,0,2,0),COLORRED;
STICKLINE(空仓,0,0,2,0),COLORGREEN;
STICKLINE(MACD>=0 AND MACD>=REF(MACD,1),0,MACD,0,1),COLORRED;
STICKLINE(MACD>=0 AND MACD< REF(MACD,1),0,MACD,0,1),COLORMAGENTA;
STICKLINE(MACD<0 AND MACD>=REF(MACD,1),0,MACD,0,1),COLOR33CCFF;
STICKLINE(MACD<0 AND MACD< REF(MACD,1),0,MACD,0,1),COLOR33FF33;
多头趋势:=IF(DIF>=0 AND MACD>=0 OR (DIF<0 AND MACD>=0),1,0);
空头趋势:=DIF<0 AND MACD<0 OR (DIF>=0 AND MACD<0);
缩头:=IF(MACD>0 AND REF(MACD,1)>REF(MACD,2) AND MACD< REF(MACD,1),1,0);
缩脚:=IF(MACD<0 AND REF(MACD,1)< REF(MACD,2) AND MACD>REF(MACD,1),1,0);
阻力:=IF(CROSS(C,MA(C,20)) OR CROSS(C,MA(C,60)),1,0);
支撑:=IF(CROSS(MA(C,20),C) OR CROSS(MA(C,60),C),1,0);
做多:=IF(CROSS(DEA,DIF) AND DIF>0 AND DEA>0,1,0);
放空:=IF(CROSS(DIF,DEA) AND DIF<0 AND DEA<0,1,0);
趋势:IF(DEA<1000,DEA,DRAWNULL),COLOR33CCFF,LINETHICK1;
低位金叉:=CROSS(DIF,DEA) AND DIF<-0.1;
STICKLINE(低位金叉,0,0.1,2,0),COLORYELLOW;
JCCOUNT:=COUNT(CROSS(DIF,DEA),BARSLAST(DEA>=0));
二次金叉:=CROSS(DIF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1;
STICKLINE(二次金叉,0,0.2,2,0),COLORFF80FF;
A1:=BARSLAST(REF(CROSS(DIF,DEA),1));
底背离:=REF(CLOSE,A1+1)>CLOSE AND DIF>REF(DIF,A1+1) AND CROSS(DIF,DEA);
STICKLINE(底背离,0,0.1,2,0),COLORRED;
底背:DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED;
A2:=BARSLAST(REF(CROSS(DEA,DIF),1));
顶背离:=REF(CLOSE,A2+1)<CLOSE AND REF(DIF,A2+1)>DIF AND CROSS(DEA,DIF);
顶背:DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORGREEN,LINETHICK2;
未来函数检测结果如下:
该公式包含未来函数:BACKSET
解密、编写股票、期货策略请联系QQ或微信同号:88652583
相关股票指标公式
原理解析:
DIF赋值:收盘价的12日指数移动平均-收盘价的26日指数移动平均
DEA赋值:DIF的9日指数移动平均,COLOR33CCFF
DRAWBAND(DIF,RGB(155,50,50),DEA,RGB(0,100,50))
输出MACD:(DIF-DEA)*2,COLORSTICK,画洋红色
K1赋值:BACKSET(DIF>1日前的DIF,2)
如果K1返回DIF否则返回DRAWNULL
K2赋值:BACKSET(DIF<1日前的DIF,2)
如果K2返回DIF否则返回DRAWNULL
当满足条件持仓时,在0和0之间画柱状线
当满足条件空仓时,在0和0之间画柱状线
STICKLINE(MACD>=0 AND MACD>=1日前的MACD,0,MACD,0,1),画红色
STICKLINE(MACD>=0 AND MACD< 1日前的MACD,0,MACD,0,1),画洋红色
STICKLINE(MACD<0 AND MACD>=1日前的MACD,0,MACD,0,1),COLOR33CCFF
STICKLINE(MACD<0 AND MACD< 1日前的MACD,0,MACD,0,1),COLOR33FF33
多头趋势赋值:IF(DIF>=0 AND MACD>=0 OR (DIF<0 AND MACD>=0),1,0)
空头趋势赋值:DIF<0 AND MACD<0 OR (DIF>=0 AND MACD<0)
缩头赋值:IF(MACD>0 AND 1日前的MACD>2日前的MACD AND MACD< 1日前的MACD,1,0)
缩脚赋值:IF(MACD<0 AND 1日前的MACD< 2日前的MACD AND MACD>1日前的MACD,1,0)
阻力赋值:IF(CROSS(C,C的20日简单移动平均) OR CROSS(C,C的60日简单移动平均),1,0)
支撑赋值:IF(CROSS(C的20日简单移动平均,C) OR CROSS(C的60日简单移动平均,C),1,0)
做多赋值:IF(DEA上穿DIF AND DIF>0 AND DEA>0,1,0)
放空赋值:IF(DIF上穿DEA AND DIF<0 AND DEA<0,1,0)
如果DEA<1000返回DEA否则返回DRAWNULL
低位金叉赋值:DIF上穿DEA AND DIF<-0.1
当满足条件低位金叉时,在0和0.1之间画柱状线
JCCOUNT赋值:COUNT(DIF上穿DEA,上次DEA>=0距今天数)
二次金叉赋值:DIF上穿DEA AND DEA<0 AND 统计21日满足JC=2的天数=1
当满足条件二次金叉时,在0和0.2之间画柱状线
A1赋值:上次1日前的DIF上穿DEA距今天数
底背离赋值:A1+1日前的收盘价>收盘价 AND DIF>A1+1日前的DIF AND DIF上穿DEA
当满足条件底背离时,在0和0.1之间画柱状线
输出底背:DRAWLINE(A1=0,DEA,底背离,DEA,0),画红色
A2赋值:上次1日前的DEA上穿DIF距今天数
顶背离赋值:A2+1日前的收盘价<收盘价 AND A2+1日前的DIF>DIF AND DEA上穿DIF
输出顶背:DRAWLINE(A2=0,DEA,顶背离,DEA,0),画绿色,LINETHICK2