MACD背离买卖决策指标源码

291
  • 低频研究员

    副图指标 通达信

    MACD背离买卖决策指标源码

    MACD背离买卖决策指标源码MACD动能背离原理的主图趋势辅助决策系统。它跳出了传统MACD仅看快慢线金叉死叉的滞后性,通过深度量化“价格位置”与“涨跌动能”的矛盾,来提前捕捉趋势反转信号。

    其核心逻辑可以概括为以下三个层次:

    1. 基础框架:经典MACD动能计算

    公式以经典的MACD算法为底层地基,计算12日与26日指数移动平均线的差离值(DIFF),以及其9日平滑线(DEA),并通过红绿柱(MACD柱状图)的伸缩来直观反映市场多空动能的强弱变化。

    2. 核心算法:多维度的背离量化

    这是公式的灵魂所在。它通过对比当前波段与前一个波段的价格极值(股价高点/低点)与MACD动能极值(红绿柱峰值、动能累计面积),精准识别出“价格创新高但动能跟不上”的顶背离,以及“价格创新低但下跌动能衰竭”的底背离。

    3. 信号输出:可视化的趋势预警

    公式将复杂的背离计算转化为直观的主图视觉信号:

    底背离(抄底预警): 当下跌趋势中出现动能衰竭的底背离结构时,会在副图对应位置绘制特定图标与文字,提示空头力量耗尽,潜在的反转买入机会出现。

    顶背离(逃顶预警): 当上涨趋势中出现动能衰减的顶背离结构时,同样会给出明确的视觉标记,提示多头力量难以为继,需警惕趋势见顶回落。

    一句话总结:

    该公式通过量化MACD红绿柱与价格波段的背离关系,在主图上直观提示“底背离抄底”与“顶背离逃顶”信号,帮助交易者摆脱金叉死叉的滞后陷阱,提前识别趋势拐点。

    DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26) COLORFF00FF;
    DEA1:=EMA(DIFF,9) COLORFF0000;
    MACD:(DIFF-DEA1)*2 NODRAW;
    STICKLINE(MACD>0 AND MACD>REF(MACD,1),0,MACD,2,0) COLOR0000FF;
    STICKLINE(MACD>0 AND MACD0 AND MACD>REF(MACD,1) AND REF(MACD,1)0 AND REF(MACD,2)>0 AND REF(MACD,3)>0 AND REF(MACD,4)>0,0,MACD,2,0) COLORFF00FF;
    STICKLINE(MACD<0 AND MACD>REF(MACD,1),0,MACD,2,0) COLOR008000;
    STICKLINE(MACD<0 AND MACD0)),0);
    HCMJ:=IF(MACD>0,SUM(MACD,BARSLAST(MACD<0)),0);
    BCLC:=IF(MACD<0,LLV(MACD,BARSLAST(MACD>0)),0);
    BCZC:=IF(MACD>0,HHV(MACD,BARSLAST(MACD<0)),0);
    BCZD:=LLV(L,BARSLAST(MACD>0)),NODRAW;
    BCZG:=HHV(H,BARSLAST(MACD<0));
    X1:=IF(MACD<0,BARSLAST(CROSS(DIFF,DEA)),0),NODRAW;
    QCLCMJ:=REF(LCMJ,X1+1),NODRAW;
    QCBZD:=REF(BCZD,X1+1),NODRAW;
    QCBLC:=REF(BCLC,X1+1);
    Y1:=IF(LCMJ<0 AND ABS(LCMJ)1,(N1-1)*MACD/2,0),0);
    Y1B:=IF(LCMJ<0 AND ABS(LCMJ+BCLCMJ)0,BARSLAST(CROSS(DEA,DIFF)),0);
    QCHCMJ:=REF(HCMJ,X2+1);
    QCBZG:=REF(BCZG,X2+1);
    QBCZC:=REF(BCZC,X2+1);
    Y2:=IF(HCMJ>0 AND HCMJQCBZG,1,0);
    Y22:=IF(HCMJ>0 AND ABS(BCZC)QCBZG,1,0),NODRAW;
    RS2:=MACD>0 AND REF(MACD,1)>0 AND C>QCBZG AND ABS(HCMJ)1,(N2-1)*MACD/2,0),0);
    Y2B:=IF(HCMJ>0 AND ABS(HCMJ+BCHCMJ)QCBZG,1,0);
    TJJB:=IF(DOWN3,Y2B,0),NODRAW;
    TZJB:=IF(DOWN3,Y22,0),NODRAW;
    TJBL:=IF(CROSS(DEA,DIFF),REF(Y2,1),0),NODRAW;
    TZBL:=IF(CROSS(DEA,DIFF),REF(Y22,1),0),NODRAW;
    TBL:TJBL AND TZBL,NODRAW;
    TBCD:=IF(TJJB OR TJBL,ABS(QCHCMJ)/ABS(HCMJ+BCHCMJ)*BCZG/QCBZG,0),NODRAW;
    DRAWTEXT_FIX(1,0.52,0,0,'WWW.GUSHI.IN '),COLORRED;
    TZCD:=IF(TZJB OR TZBL,ABS(QBCZC)/ABS(BCZC)*BCZG/QCBZG,0),NODRAW;
    STICKLINE(TJJB,PT,PT-MIN(TBCD,5)*HRULER/(4*5),2,0),COLORFFFF00;
    DRAWICON(TJJB,PT-MIN(TBCD,5)*HRULER/(4*5)-HRULER/20,39),COLORYELLOW;
    STICKLINE(TZJB,PT1,PT1+MIN(TZCD,5)*HRULER/(4*5),2,0),COLORFFFF00;
    DRAWICON(TZJB,PT1+MIN(TZCD,5)*HRULER/(4*5)+HRULER/10,2),COLORYELLOW;
    DRAWTEXT(TZBL,PT1+HRULER/8,' 柱背'),COLOR00FFFF;
    STICKLINE(TZBL,PT1,PT1+MIN(TZCD,5)*HRULER/(4*5),2,0),COLOR00FF00;
    DRAWICON(TZBL,PT1+MIN(TZCD,5)*HRULER/(4*5)+HRULER/10,35),COLORYELLOW;
    DRAWTEXT(TJBL,PT-HRULER/8,' 积背'),COLOR00FFFF;
    STICKLINE(TJBL,PT,PT-MIN(TBCD,5)*HRULER/(4*5),2,0),COLOR00FF00;
    DRAWICON(TJBL,PT-MIN(TBCD,5)*HRULER/(4*5)-HRULER/20,45),COLORYELLOW;
    NOTEXTSDIFF:DIFF,COLORWHITE;
    NOTEXTSDEA:DEA,COLORYELLOW;
    NOTEXTMACDDRAW:MACD,COLORSTICK;
    STICKLINE(MACD>0 AND MACD>REF(MACD,1) AND C>MA(C,25) AND REF(MACD,1)
  • mathon
    #1

    尝试一下

发表回复

登录后回复