在MACD的用法中,常有“新手看金叉死叉,老手看水上水下,高手看顶底背离”的说法,“MACD能量背离”副图技术指标是基于它的顶背离和底背离的其中一种用法“面积背离”研发而来,有较强的实战价值。
图片
我们先看几个“MACD能量背离”副图技术指标的成功案例图形:
图片
奥飞数据 2025年1月21日
图片
大位科技 2025年2月6日
图片
信隆健康 2025年1月15日
一、MACD能量背离副图技术指标的条件要求MACD能量背离副图技术指标的编写条件如下:
1、计算并显示MACD的黄白线和红绿能量柱,参数默认用12、26和9,红色能量柱变长时显示空心,红色能量柱缩短时显示实心,绿色能量柱变长时显示实心,绿色能量柱缩短时显示空心。
2、计算黄白线金叉与死叉之间区域的能量柱面积,能量柱的面积以累加能量柱的数值的方式计算。如果红色能量柱变成则取正值,表示多方能量主导;如果红色能量柱缩短则取负值,表示空方能量主导;如果绿色能量柱缩短则取正值,表示多方能量主导;如果绿色能量柱变成则取负值,表示空方能量主导。
3、能量柱的数量代表了多方或空方主导的时间周期数量,用区域内能量柱累加数值除以相应区域的能量柱数量求得平均能量,显然,平均能量既考虑了多空双方累计的能量即空间问题,也考虑了时间周期即时间问题,更能代表多空双方的做多或做空的动能。
4、计算黄白线金叉和死叉之间区域内的最高收盘价或最低收盘价;对比前后两次金叉-死叉区域内的做多动能和最高收盘价,如果最高收盘价变大,但是做多动能减弱,则表示出现了能量的顶背离,在后一次死叉处显示做“空”信号;对比前后两次死叉-金叉区域内的做多动能和最低收盘价,如果最低收盘价变小,但是做空能量减弱,则表示出现了能量的底背离,在后一次金叉处显示做“多”信号。
以上是“MACD能量背离”副图技术指标的技术逻辑,说实在话,对于不太喜欢看文字的粉丝们来讲,理解起来是有点儿痛苦的。所以下面用一幅图标注解释一下,希望大家能从中学会一些对交易有帮助的逻辑和理念。
图片
在红色圆圈1和红色圆圈2这两段上涨中,对应的价格最高收盘价有所上涨,但是经过计算,红色圆圈2中的做多动能(能量柱数值累加/能量柱数量)有所减弱,因此在红色圆圈2之后出现死叉的位置画上做“空”信号;同理,在绿色圆圈3和绿色圆圈4这两段下跌中,对应的价格最低收盘价有所下跌,但是经过计算,绿色圆圈4中的做空动能(能量柱数值累加/能量柱数量)有所减弱,因此在绿色圆圈4之后出现金叉的位置画上做“多”信号。
二、编写MACD能量背离副图技术指标源代码代码段1:
DIF:(EMA(CLOSE,12)-EMA(CLOSE,26))*50;DEA:EMA(DIF,9);能量柱:(DIF-DEA)*2,NODRAW;CD:=能量柱;STICKLINE(CD>0 AND CD>REF(CD,1),0,CD,2,1),COLORRED;STICKLINE(CD>0 AND CD<REF(CD,1),0,CD,2,0),COLORRED;STICKLINE(CD<0 AND CD>REF(CD,1),0,CD,2,1),COLORCYAN;STICKLINE(CD<0 AND CD<REF(CD,1),0,CD,2,0),COLORCYAN;第1行代码是赋值并输出DIF即12日指数移动平均线与26日指数移动平均线的差的50倍的数值,默认显示白色;这里之所以乘以50倍而不是保留MACD指标源代码直接计算差值的方式,是为了将数字变大,利于观察对比相应的数值,不影响黄白线和能量柱的比例关系的视觉协调性。
第2行代码是赋值并输出DIF的9日指数移动平均线,默认显示黄色。
第3行代码是赋值输出能量柱的数字,但不显示能量柱的画线,其数值是DIF与DEA差值的2倍;NODRAW是系统自带无参函数,表示不画线。
第4行代码是将能量柱的数值赋值给用户自定义变量CD,这里“多此一举”的目的是为了接下来的代码看上去简洁一些,所以没有直接使用能量柱这个变量。
第5行代码是将能量值大于0且能量值变大的能量柱绘制成红色空心柱子。
第6行代码是将能量值大于0且能量值减小的能量柱绘制成红色实心柱子。
第7行代码是将能量值小于0且能量值变大的能量柱绘制成绿色空心柱子。
第8行代码是将能量值小于0且能量值减小的能量柱绘制成绿色实心柱子。
代码段2:
BARS_GOLD_1:=BARSLAST(CROSS(DIF,DEA));BARS_DEAD_1:=BARSLAST(CROSS(DEA,DIF));BARS_GOLD_2:=BARSLASTS(CROSS(DIF,DEA),2);BARS_DEAD_2:=BARSLASTS(CROSS(DEA,DIF),2);SUM_BARS:=ABS(BARS_DEAD_1-BARS_GOLD_1);SUM_CD:=IF(CD>REF(CD,1),ABS(CD),-CD);
第1行代码是取得最近一次金叉到当前的周期数,系统自带函数BARSLAST(X)已经多次讲解,不再赘述。
第2行代码是取得最近一次死叉到当前的周期数。
第3行代码是取得倒数第二次金叉到当前的周期数,也就是最近一次金叉之前的那一次金叉到当前的周期数,BARSLASTS(X,N)表示X倒数第N满足到现在的周期数,这也是一个系统自待函数。
第4行代码是取得倒数第二次死叉到当前的周期数,也就是最近一次死叉之前的那一次死叉到当前的周期数,BARSLASTS已经讲过,不再赘述。
第5行代码是计算最近一次金叉和最近一次死叉之间的周期数,也等于最近一次金叉与最近一次死叉之间能量柱的数量,ABS(X)是系统自带函数,它返回X的绝对值。
第6行代码是将能量柱的数值标准化,当能量柱变长的时候,数值取正,能量柱缩短的时候,能量柱数值取反;系统自带函数IF的用法之前也讲过,IF(X,A,B)的意思是,若X不为0则返回A,否则返回B。
代码段3:
AREA_GOLD:=SUM(SUM_CD,BARS_GOLD_1+1);AREA_DEAD:=SUM(SUM_CD,BARS_DEAD_1+1);AREA_SUM:=IF(CD>0,REF(AREA_DEAD,BARS_GOLD_1+1),REF(AREA_GOLD,BARS_GOLD_1+1));AREA_DEAD_2:=REF(AREA_DEAD,BARS_GOLD_2+1)/SUM_BARS;AREA_DEAD_1:=REF(AREA_DEAD,BARS_GOLD_1+1)/SUM_BARS;AREA_GOLD_2:=REF(AREA_GOLD,BARS_DEAD_2+1)/SUM_BARS;AREA_GOLD_1:=REF(AREA_GOLD,BARS_DEAD_1+1)/SUM_BARS;第1-3行代码计算金叉-死叉区域或死叉-金叉之间的能量柱累加之和。
第4行代码是计算倒数第二次金叉-死叉区域内的平均做多能量。
第5行代码是计算最近一次金叉-死叉区域内的平均做多能量。
第6行代码是计算倒数第二次死叉-金叉区域内的平均做空能量。
第7行代码是计算最近一次死叉-金叉区域内的平均做空能量。
代码段4:
LC1:=REF(LLV(C,BARS_DEAD_1+1),BARS_GOLD_1+1);LC2:=REF(LLV(C,BARS_DEAD_1+1),BARS_GOLD_2+1);DRAWICON(BARS_GOLD_1=0 AND AREA_DEAD_1>=AREA_DEAD_2 AND LC1<=LC2,DIF*1.1,42);HC1:=REF(HHV(C,BARS_GOLD_1+1),BARS_DEAD_1+1);HC2:=REF(HHV(C,BARS_GOLD_1+1),BARS_DEAD_2+1);DRAWICON(BARS_DEAD_1=0 AND AREA_GOLD_1<=AREA_GOLD_2 AND HC1>=HC2,DIF*1.1,43);
第1行代码是计算最近一次死叉-金叉区域内的最低收盘价。
第2行代码是计算倒是第二次死叉-金叉区域内的最低收盘价。
第3行代码是在金叉处绘制底背离做“多”信号,条件是价格创了新低,但是做空能量减弱了。
第4行代码是计算最近一次金叉-死叉区域内的最高收盘价。
第5行代码是计算倒数第二次金叉-死叉区域内的最高收盘价。
第6行代码是在死叉处绘制顶背离做“空”信号,条件是价格创了新高,但是做多能量减弱了。
至此,“MACD能量背离”副图技术指标的所有代码都已经编写完成,并给大家做了详细的解释,最后我们将上述代码段整合为完整的源代码供粉丝们学习和使用。
三、“MACD能量背离”副图技术指标的完整源代码DIF:(EMA(CLOSE,12)-EMA(CLOSE,26))*50;DEA:EMA(DIF,9);能量柱:(DIF-DEA)*2,NODRAW;CD:=能量柱;STICKLINE(CD>0 AND CD>REF(CD,1),0,CD,2,1),COLORRED;STICKLINE(CD>0 AND CD<REF(CD,1),0,CD,2,0),COLORRED;STICKLINE(CD<0 AND CD>REF(CD,1),0,CD,2,1),COLORCYAN;STICKLINE(CD<0 AND CD<REF(CD,1),0,CD,2,0),COLORCYAN;BARS_GOLD_1:=BARSLAST(CROSS(DIF,DEA));BARS_DEAD_1:=BARSLAST(CROSS(DEA,DIF));BARS_GOLD_2:=BARSLASTS(CROSS(DIF,DEA),2);BARS_DEAD_2:=BARSLASTS(CROSS(DEA,DIF),2);SUM_BARS:=ABS(BARS_DEAD_1-BARS_GOLD_1);SUM_CD:=IF(CD>REF(CD,1),CD,-CD)*IF(CD>0,1,-1);AREA_GOLD:=SUM(SUM_CD,BARS_GOLD_1+1);AREA_DEAD:=SUM(SUM_CD,BARS_DEAD_1+1);AREA_SUM:=IF(CD>0,REF(AREA_DEAD,BARS_GOLD_1+1),REF(AREA_GOLD,BARS_GOLD_1+1));AREA_DEAD_2:=REF(AREA_DEAD,BARS_GOLD_2+1)/SUM_BARS;AREA_DEAD_1:=REF(AREA_DEAD,BARS_GOLD_1+1)/SUM_BARS;AREA_GOLD_2:=REF(AREA_GOLD,BARS_DEAD_2+1)/SUM_BARS;AREA_GOLD_1:=REF(AREA_GOLD,BARS_DEAD_1+1)/SUM_BARS;LC1:=REF(LLV(C,BARS_DEAD_1+1),BARS_GOLD_1+1);LC2:=REF(LLV(C,BARS_DEAD_1+1),BARS_GOLD_2+1);DRAWICON(BARS_GOLD_1=0 AND AREA_DEAD_1>=AREA_DEAD_2 AND LC1<=LC2,DIF,42);HC1:=REF(HHV(C,BARS_GOLD_1+1),BARS_DEAD_1+1);HC2:=REF(HHV(C,BARS_GOLD_1+1),BARS_DEAD_2+1);DRAWICON(BARS_DEAD_1=0 AND AREA_GOLD_1<=AREA_GOLD_2 AND HC1>=HC2,DIF,43);完整源代码复制到通达信指标公式编辑器中时,画线方法选择副图,因为这是一个副图技术指标,参考下面的截图看一下。图片
关于MACD能量背离副图指标的讲解就到这里,这个副图指标的选股公式(选股器)会和副图技术指标有一些优化修改,能更接近于在快速拉升段出现信号。欢迎并感谢大家关注盟主的实盘编指标公众号,文章基本上都是原创,码字不易,希望粉丝们多多点赞、评论、收藏和转发盟主的系列文章,你们的热情和支持是盟主持续输出高质量内容的动力源泉! 本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。常盈配资-股票杠杆下载-股票配资杠杆-上杠杆炒股提示:文章来自网络,不代表本站观点。