核心逻辑
这是一个基于MACD(移动平均收敛发散指标)的优化版本。计算原理: - **DIFF**:12日EMA(指数移动平均)减去27日EMA,反映短期与中期趋势的差值 - **DEA**:DIFF的9日EMA,作为信号线 - **MACD柱**:2倍*(DIFF-DEA),放大显示多空动能 该指标在标准MACD基础上增加了: - 红绿色彩渐变显示MACD变化 - 金叉/死叉信号标注 - 底背离/顶背离判断 - 多转空/空转多的动能转换识别
买卖信号
**买入信号:** 1. **低位金叉**:DIFF上穿DEA,且DIFF<-0.1 2. **二次金叉**:DIFF上穿DEA且DEA<0,同时21日内出现过一次金叉 3. **底背离**:股价创新低但MACD未创新低,随后金叉 4. **空转多**:MACD从负值转为上升,且呈现多头排列 **卖出信号:** 1. **顶背离**:股价创新高但MACD未创新高,随后死叉 2. **多转空**:MACD从正值转为下降,且呈现空头排列
用法
1. **基本用法**:DIFF上穿DEA为金叉(买入),下穿为死叉(卖出) 2. **二次金叉**:在低位二次金叉时买入,信号更可靠 3. **背离信号**:底背离是较强的买入信号,顶背离是较强的卖出信号 4. **动能观察**:红柱表示多头力量增强,绿柱表示空头力量增强 5. **多空转换**:关注"多转空"和"空转多"图标,作为趋势转折提示
公式源码
DIFF1:=EMA(CLOSE,12)-EMA(CLOSE,27); DEA1:=EMA(DIFF1,9); macd:=2*(DIFF1-DEA1),STICK; STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,3.2,0),COLORB20000; STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,2.7,0),COLOREC0000; STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,2.1,0),COLORFF4600; STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,1.5,0),COLORFF6300; STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,0.9,0),COLORFF8B00; STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,0.3,0),COLORFFAB00; STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,3.2,0),COLOR000055; STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,2.7,0),COLOR000077; STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,2.1,0),COLOR000099; STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,1.5,0),COLOR0000BB; STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,0.9,0),COLOR0000DD; STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,0.3,0),COLOR0000FF; STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,3.2,0),COLOR555555; STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,2.7,0),COLOR777777; STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,2.1,0),COLOR999999; STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,1.5,0),COLORBBBBBB; STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,0.9,0),COLORDDDDDD; STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,0.3,0),COLORFFFFFF; STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,3.2,0),COLORB20000; STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,2.7,0),COLOREC0000; STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,2.1,0),COLORFF4600; STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,1.5,0),COLORFF6300; STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,0.9,0),COLORFF8B00; STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,0.3,0),COLORFFAB00; STICKLINE(MACD>=0 OR MACD<=0,0,0,50,2),COLORWHITE; DIFF:DIFF1,COLOR33FF33; DEA:DEA1,COLORYELLOW; 强度:IF(DIFF>=DEA,DIFF,DRAWNULL),COLORRED; 低位金叉:=crOSS(DIFF,DEA) AND DIFF<-0.1; DRAWTEXT(低位金叉,-0.1,'^ 低位金叉'),COLORYELLOW; JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0)); 二次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1; DRAWICON(二次金叉,DEA*1.04,13) ; DRAWTEXT(二次金叉,-0.1,' 二次金叉'),COLORFF00FF; A1:=BARSLAST(REF(CROSS(DIFF,DEA),1)); 底背离:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA); 底背:DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED,POINTDOT; DRAWTEXT(底背离,0.1,'底背离'),COLORMAGENTA; A2:=BARSLAST(REF(CROSS(DEA,DIFF),1)); 顶背离:=REF(CLOSE,A2+1)<CLOSE AND REF(DIFF,A2+1)>DIFF AND CROSS(DEA,DIFF); 顶背:DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORGREEN,POINTDOT; DRAWTEXT(顶背离,DIFF,'顶背离'),COLORGREEN; 多转空:=((((LLV(MACD,4)>0) AND (MACD<REF(MACD,1))) AND (REF(MACD,1)>REF(MACD,2))) AND (REF(MACD,2)>REF(MACD,3))); 空转多:=((((HHV(MACD,4)<0) AND (MACD>REF(MACD,1))) AND (REF(MACD,1)<REF(MACD,2))) AND (REF(MACD,2)<REF(MACD,3))); DRAWICON(多转空,MACD,2); DRAWICON(空转多,MACD,1); STICKLINE(二次金叉,0,0.2,2,0),COLORFF00FF; DRAWTEXT(二次金叉,DEA*1.06,'二次金叉'),COLORRED;