一、MACD柱状线
MACD柱状线可以分为四部分:
a、零轴之上,红色柱状线逐渐变长;
b、零轴之上,红色柱状线逐渐缩短;
c、零轴之下,绿色柱状线逐渐变长;
d、零轴之下,绿色柱状线逐渐缩短。
通过改良MACD指标公式,可以给这四部分分别涂上不同的颜色,方便查看行情情况。(如下图)
二、改良MACD变色指标公式
思路:用IF函数对这四部分进行判断,获得的值并不能直接显示为柱状线,因此还需要用STICKLINE来画出柱状线。
先上源码,独家改良MACD变色指标公式源码如下:
DIF1:=EMA(C,12)-EMA(C,26);
DEA1:=EMA(DIF1,9);
MACD:=(DIF1-DEA1)*2;
MACD1:=IF(MACD>0 AND MACD>=REF(MACD,1),MACD,DRAWNULL);
MACD2:=IF(MACD>0 AND MACD<REF(MACD,1),MACD,DRAWNULL);
MACD3:=IF(MACD<0 AND MACD<REF(MACD,1),MACD,DRAWNULL);
MACD4:=IF(MACD<0 AND MACD>=REF(MACD,1),MACD,DRAWNULL);
STICKLINE(MACD1>0,0,MACD,2,0),COLORLIRED;
STICKLINE(MACD2>0,0,MACD,2,0),COLORYELLOW;
STICKLINE(MACD3<0,MACD,0,2,0),COLORGREEN;
STICKLINE(MACD4<0,MACD,0,2,0),COLORLIBLUE;
DIF:DIF1;
DEA:DEA1;
三、指标公式解析
1、MACD的计算公式,没什么好说的,至于为什么用“:=”,而不是用“:”直接画出快线和慢线,后面会介绍。
DIF1:=EMA(C,12)-EMA(C,26);
DEA1:=EMA(DIF1,9);
MACD:=(DIF1-DEA1)*2;
2、对MACD四部分进行分段,用IF函数分别判断,满足条件结果为MACD的值,不满足条件结果就是DRAWNULL无效数。
MACD1:=IF(MACD>0 AND MACD>=REF(MACD,1),MACD,DRAWNULL);{零轴之上,柱状线变长}
MACD2:=IF(MACD>0 AND MACD<REF(MACD,1),MACD,DRAWNULL);{零轴之上,柱状线缩短}
MACD3:=IF(MACD<0 AND MACD<REF(MACD,1),MACD,DRAWNULL);{零轴之下,柱状线变长}
MACD4:=IF(MACD<0 AND MACD>=REF(MACD,1),MACD,DRAWNULL);{零轴之下,柱状线缩短}
3、画出MACD柱状线
STICKLINE(MACD1>0,0,MACD,2,0),COLORLIRED;{当满足条件MACD1>0时,在0和MACD位置之间画宽度为2的淡红色实心柱状线}
STICKLINE(MACD2>0,0,MACD,2,0),COLORYELLOW;{当满足条件MACD2>0时,在0和MACD位置之间画宽度为2的黄色实心柱状线}
STICKLINE(MACD3<0,MACD,0,2,0),COLORGREEN;{当满足条件MACD3<0时,在MACD和0位置之间画宽度为2的绿色实心柱状线}
STICKLINE(MACD4<0,MACD,0,2,0),COLORLIBLUE;{当满足条件MACD4<0时,在MACD和0位置之间画宽度为2的淡蓝色实心柱状线}
4、画出快线DIF和慢线DEA
DIF:DIF1;
DEA:DEA1;
在前一篇文章《通达信一根均线变色主图指标公式,实现均线向上向下变色》中介绍了通达信指标公式执行逻辑,语句从上往下之后,后面的语句画图会覆盖之前的图形。如果在公式开头就画出快线和慢线,后面再画出柱状线,柱状线会覆盖快线DIF和慢线DEA,看起来有点不自然。(如下图第一个红圈)为了美观,在公式最后画快线DIF和慢性DEA,可以使快线慢线显示在柱状线之上。(如下图中第二个红圈)
如果不介意快线慢线被柱状线覆盖,公式源码可以少两句:
DIF:EMA(C,12)-EMA(C,26);
DEA:EMA(DIF,9);
MACD:=(DIF-DEA)*2;
MACD1:=IF(MACD>0 AND MACD>=REF(MACD,1),MACD,DRAWNULL);
MACD2:=IF(MACD>0 AND MACD<REF(MACD,1),MACD,DRAWNULL);
MACD3:=IF(MACD<0 AND MACD<REF(MACD,1),MACD,DRAWNULL);
MACD4:=IF(MACD<0 AND MACD>=REF(MACD,1),MACD,DRAWNULL);
STICKLINE(MACD1>0,0,MACD,2,0),COLORLIRED;
STICKLINE(MACD2>0,0,MACD,2,0),COLORYELLOW;
STICKLINE(MACD3<0,MACD,0,2,0),COLORGREEN;
STICKLINE(MACD4<0,MACD,0,2,0),COLORLIBLUE;
提前祝大家兔年大吉,财源广进,身体健康,万事如意,阖家幸福!
咱们明年见!
关注技术Pie,学习更多通达信指标公式编写知识。
如果觉得《独家改良MACD变色指标公式 红柱绿柱变长缩短变色》对你有帮助,请点赞、收藏,并留下你的观点哦!