核心逻辑
这是一个基于MACD指标的改进型指标,可称为“微分MACD”或“变色MACD”。其核心原理是: 1. 先计算标准MACD的DIF和DEA(DIF12、DEA12) 2. 对MACD柱状图进行3倍放大得到KDIF12,再对其进行SMA平滑得到KDEA12 3. 最终形成“微分DIF”(黄线)和“微分DEA”(灰线),以及“微分MACD”(蓝柱) 4. 通过变色机制(红、黄、绿)来标识不同的市场状态
买卖信号
**买入信号:** - **B11信号**:连续3根递增的红柱(MACD连续上升),代表上涨动能在积累 - **B121信号**:B11之后出现回落(B12),且满足特定时间条件,代表回调后的再次启动买点 - **抄底信号**:微分DIF上穿微分DEA,且微分DEA≤-0.07,代表超跌反弹买点 **卖出信号:** - 微分MACD开始回落(从红柱变为黄柱)时考虑减仓
用法
1. **B11信号**出现时表示上涨动能积聚,可关注 2. **B121信号**是B11之后的回调结束点,是较好的买入时机 3. **抄底信号**用于捕捉超跌反弹机会 4. 红柱表示上涨中继,黄柱(下跌中)和B11位置(黄色粗线)表示关键节点,绿柱(B121位置)表示特殊买入点 5. 可结合“买卖力道”指标判断力度强弱
公式源码
DIF12:=(EMA(CLOSE,12)-EMA(CLOSE,26))/((EMA(CLOSE,12)+EMA(CLOSE,26))/2)*1000;
DEA12:=EMA(DIF12,9);
{相对macd:2*(DIF12-DEA12),STICK,COLORRED;}
kdIF12:=3*(DIF12-DEA12);{KDIF12:=2*(DIF12-DEA12)};
KDEA12:=SMA(KDIF12,5,2);
买卖力道:2*(KDIF12-KDEA12),COLORLIRED,LINETHICK1;
{相对DIF:DIF12,COLORMAGENTA,LINETHICK2;
相对DEA:DEA12,COLORGREEN,LINETHICK2;}
微分DIF:KDIF12,COLORYELLOW,LINETHICK2;
微分DEA:KDEA12,COLORLIGRAY,LINETHICK1;
微分MACD:2*(KDIF12-KDEA12),STICK,,LINETHICK2,COLORBLUE;
B11:微分MACD>REF(微分MACD,1) AND 微分MACD>REF(微分MACD,2) AND
REF(微分MACD,2)>REF(微分MACD,1) AND REF(微分MACD,2)/REF(微分MACD,1)>0,NODRAW;
B12:=EXIST(B11,15)=1 AND 微分MACD<REF(微分MACD,1) AND REF(微分MACD,1)>REF(微分MACD,2);
B121:B12 AND BARSLAST(B11)>BARSLAST(B12) AND COUNT(B12,BARSLAST(B11))=1,NODRAW;
{以下为MACD变色的代码}
_红柱:IF(微分MACD>REF(微分MACD,1),微分MACD,DRAWNULL),STICK,COLORRED;
IF(B11,微分MACD,DRAWNULL),STICK,COLORYELLOW,LINETHICK7;
IF(B121,微分MACD,DRAWNULL),STICK,COLORGREEN,LINETHICK7;
绿柱:IF(微分MACD<REF(微分MACD,1),微分MACD,DRAWNULL),STICK,COLORYELLOW;
_抄底:=((crOSS(微分DIF,微分DEA)
&&微分DEA<=-0.07)*微分DIF)*1.50,COLORLIMAGENTA;
_DIF:=微分DIF,COLORWHITE;
_DEA:=微分DEA,COLORYELLOW;
__强度:=IF(_DIF>_DEA,_DIF,DRAWNULL),COLORRED,LINETHICK2;
_强度:=IF(_DEA<_DIF,_DEA,DRAWNULL),COLORMAGENTA,LINETHICK2;
0;
{统计买入后涨幅};
ZF:=C/(REF(C,BARSLAST(B11)))*100-100,NODRAW;
本轮涨幅1:=IF(B121=1,ZF,DRAWNULL);
本轮涨幅:IF(C/(REF(C,BARSLAST(B11)))=0,1,本轮涨幅1);
涨跌算术和1:SUM(本轮涨幅,0);
{ZFF:=1*本轮涨幅/100;
首轮涨后:1*(1+REF(ZFF,BARSSINCE(B121)) );
N1轮涨:首轮涨后*REF(本轮涨幅,BARSSINCEN(B121,COUNT(B121,0)-1));
总涨倍率1:=(本轮涨幅*REF(本轮涨幅,BARSLAST(B121)))/10000,NODRAW;
总涨倍率:IF(B121=1,总涨倍率1,DRAWNULL);};