乐于分享
好东西不私藏

【小镰刀MACD】指标源码-可在手机端实现MACD日、周、月三周期同屏显示

【小镰刀MACD】指标源码-可在手机端实现MACD日、周、月三周期同屏显示

一、MACD概述与原理
    MACD全称为 Moving Average Convergence Divergence(指数平滑异同移动平均线),由美国技术分析大师杰拉尔德·阿佩尔(Gerald Appel)于1979年发明,被广泛誉为“技术指标之王”。它是一个结合了趋势跟踪动量分析的综合性技术指标,主要通过量化短期与长期指数移动平均线(EMA)之间的差值关系,来揭示价格运动的方向、强度与潜在转折点

    MACD的核心思想在于:趋势的延续需要动能的支持当短期均线远离长期均线时,意味着趋势加速(动能增强);当两者靠近时,意味着动能衰减(趋势可能反转)

二、MACD的三大核心构成

一个完整的MACD系统由三个基本元件构成:

1. DIF线(快线/Difference)

    DIF = EMA(12) – EMA(26)

    DIF线是12日指数移动平均线与26日指数移动平均线的差值,直接反映了短期趋势与长期趋势之间的偏离程度

    1)DIF为正 → 短期趋势强于长期趋势(多头占优)

    2)DIF为负 → 短期趋势弱于长期趋势(空头占优)

2. DEA线(慢线/Signal Line)

    DEA = DIF的9日EMA

    DEA线是DIF线的指数平滑移动平均,作用是对DIF线进行平滑处理,过滤短期波动干扰,提供更稳定的趋势信号。

3. MACD柱状图(Histogram)

    柱状图 = DIF – DEA

    柱状图是MACD的“灵魂”,直观展示了快慢线之间的距离:

    1)柱状图为正 → DIF > DEA(动能正向加速)

    2)柱状图为负 → DIF < DEA(动能负向加速)

    3)柱状图长度变化 → 增长代表动能增强,缩短代表动能衰减。部分软件会将柱状图数值放大一倍,即柱状图 = (DIF – DEA) × 2。

三、MACD真正回答的三个核心问题

1.现在有没有趋势?(看零轴和双线位置)

2.动能是在增强还是减弱?(看柱状图变化和DIF斜率)

3.回调是结束了,还是刚开始?(看零轴回踩和柱状图拐点)。

四、【小镰刀MACD】指标

该指标旨在手机端实现MACD日、周、月多周期同屏显示,并且融合了日线级别的RSI、KDJ顶底背离的信号,指标示意图如下:

指标源码如下:

月快线:=EMA(CLOSE, 223);

月慢线:=EMA(CLOSE, 479);

DIF:月快线-月慢线,NODRAW; 

DEA:EMA(月DIF, 135),NODRAW; 

MACD:2*(月DIF-月DEA),COLORSTICK,NODRAW;

月金叉:=CROSS(月DIF, 月DEA);

月多头排列:=月DIF>月DEA AND 月DEA>0;

月趋势向上:=月DIF>REF(月DIF,1) AND 月DEA>REF(月DEA, 1); 

{DRAWBAND(月DEA,RGB(0, 30, 160), 月DIF,RGB(200, 166, 0));}

STICKLINE(月MACD>0,0-20,月MACD-20,0,0),COLORRED;

STICKLINE(月MACD<0,0-20,月MACD-20,0,0),COLORGREEN;

DRAWICON(CROSS(月DIF, 月DEA), 月DIF-20,5);

DRAWICON(CROSS(月DEA, 月DIF), 月DEA-20,6);

DRAWTEXT(月金叉,月MACD-20,’月金叉’),COLORFF00FF;

{微信公众号:股民指标库}

周快线:=EMA(CLOSE, 55); 

周慢线:=EMA(CLOSE, 89);

DIF:=周快线-周慢线;

DEA:=MA(周DIF, 13); 

MACD:2*(周DIF-周DEA),COLORSTICK,NODRAW;

周金叉:=CROSS(周DIF, 周DEA);

周多头排列:=周DIF>周DEA AND 周DEA>0; 

周趋势向上:=周DIF>REF(周DIF,1) AND 周DEA>REF(周DEA,1); 

{DRAWBAND(周DEA, RGB(0, 80, 0), 周DIF, RGB(140, 10, 70));}

STICKLINE(周MACD>0,0-10,周MACD-10,0,0),COLORRED;

STICKLINE(周MACD<0,0-10,周MACD-10,0,0),COLORGREEN;

DRAWICON(CROSS(周DIF, 周DEA), 周DEA-10, 1);

DRAWICON(CROSS(周DEA, 周DIF), 周DEA-10, 2);

DRAWTEXT(周金叉,周MACD-10,’周金叉’),COLORYELLOW;

{微信公众号:股民指标库}

DIF: EMA(CLOSE, 12) – EMA(CLOSE, 26), COLORYELLOW;

DEA: EMA(DIF, 9), COLORWHITE;

MACD: 2*(DIF-DEA), COLORSTICK;

日金叉:=CROSS(DIF, DEA);

日多头排列:=DIF>DEA AND DEA>0; 

日趋势向上:=DIF>REF(DIF, 1) AND DEA>REF(DEA, 1);

DRAWICON(日金叉, DIF,1);

DRAWICON(CROSS(DEA, DIF), DEA,2);

DRAWTEXT(日金叉,MACD,’日金叉’),COLORYELLOW;

MACD柱:=(DIF-DEA)*2; 

MACD柱转强:=MACD柱>REF(MACD柱, 1) AND MACD柱>0; 

VOL5:=MA(VOL, 5);

VOL20:=MA(VOL, 20); 

量能放大:=VOL>VOL5 AND VOL5>VOL20; 

收盘价:=CLOSE;

MA20:=MA(收盘价, 20);

MA60:=MA(收盘价, 60);

价格站上均线:=收盘价>MA20 AND 收盘价>MA60; 

均线多头:=MA20>MA60 AND MA20>REF(MA20, 1);

三周期共振金叉:=月金叉 AND 周金叉 AND 日金叉;

三周期多头共振:=月多头排列 AND 周多头排列 AND 日多头排列;

趋势共振信号:=月趋势向上 AND 周趋势向上 AND 日趋势向上 AND 日多头排列;

MACD多方共振:=月DIF>0 AND 周DIF>0 AND DIF>0 AND DEA>0 AND MACD柱转强;

选股条件1:=三周期共振金叉 OR 量能放大; 

选股条件2:=三周期多头共振 AND 价格站上均线 AND 量能放大;

选股条件3:=趋势共振信号 AND 价格站上均线 AND 量能放大;

选股条件4:=MACD多方共振 AND 价格站上均线 AND 量能放大;

SYCD:=HIGH-MAX(CLOSE, OPEN);{上影线长度}

STCD:=ABS(CLOSE-OPEN);{实体长度}

实体阳线:=SYCD<=STCD AND C>O;{上影线长度小于实体长度}

选股:=选股条件1 AND 选股条件2 AND 选股条件3 AND 选股条件4 AND 实体阳线;

{DRAWICON(选股,0,13);}

DIF6:(月快线-月慢线)-20,COLORYELLOW; 

DEA6:EMA(月DIF, 135)-20,COLORWHITE; 

DIF3:周快线-周慢线-10,COLORYELLOW;

DEA3:MA(周DIF,13)-10,COLORWHITE; 

IF(月多头排列,月DIF6,DRAWNULL),LINETHICK2,COLORLIRED;

IF(周多头排列,周DIF3,DRAWNULL),LINETHICK2,COLORLIRED;

IF(日多头排列,DIF,DRAWNULL),LINETHICK2,COLORLIRED;

IF(月多头排列 AND 月趋势向上,月DIF6,DRAWNULL),LINETHICK3,,COLORFF00FF;

IF(周多头排列 AND 周趋势向上,周DIF3,DRAWNULL),LINETHICK3,,COLORFF00FF;

IF(日多头排列 AND 日趋势向上,DIF,DRAWNULL),LINETHICK3,,COLORFF00FF;

{N1:=BARSLAST(REF(CROSS(DIF,DEA),1));{上一次金叉距今}

{日底背离:=REF(CLOSE,N1+1)>CLOSE AND DIF>REF(DIF,N1+1) AND CROSS(DIF,DEA);

DRAWTEXT(日底背离,DEA,’日底背离’),COLORRED;}

死叉:=CROSS(DEA,DIF);

N1:=BARSLAST(死叉),NODRAW;

N2:=REF(BARSLAST(死叉),N1+1),NODRAW;

N3:=REF(BARSLAST(死叉),N2+N1+2),NODRAW;

CL1:=LLV(C,N1+1),NODRAW;

DIFL1:=LLV(DIF,N1+1),NODRAW;

CL2:=REF(CL1,N1+1),NODRAW;

DIFL2:=REF(DIFL1,N1+1),NODRAW;

CL3:=REF(CL2,N1+1),NODRAW;

DIFL3:=REF(DIFL2,N1+1),NODRAW;

PDIFL2:=IF(DIFL2>0,INTPART(LOG(DIFL2))-1,INTPART(LOG(-DIFL2))-1);

MDIFL2:=INTPART(DIFL2/POW(10,PDIFL2));

PDIFL3:=IF(DIFL3>0,INTPART(LOG(DIFL3))-1,INTPART(LOG(-DIFL3))-1);

MDIFL3:=INTPART(DIFL3/POW(10,PDIFL3));

MDIFB2:=INTPART(DIF/POW(10,PDIFL2));

MDIFB3:=INTPART(DIF/POW(10,PDIFL3));

直接底背离:=(CL1< CL2 ) AND (MDIFB2>MDIFL2) AND (MACD< 0 AND REF(MACD,1)< 0) AND MDIFB2<=REF(MDIFB2,1);

隔峰底背离:=(CL1< CL3 AND CL3< CL2 ) AND (MDIFB3>MDIFL3) AND (MACD< 0 AND REF(MACD,1)< 0) AND MDIFB3<=REF(MDIFB3,1);

B:=直接底背离 OR 隔峰底背离,NODRAW;

BG:=((MDIFB2>REF(MDIFB2,1))*REF(直接底背离,1)) OR ((MDIFB3>REF(MDIFB3,1))*REF(隔峰底背离,1)),NODRAW;

底背离消失:=(REF(直接底背离,1) AND DIFL1<=DIFL2 ) OR (REF(隔峰底背离,1) AND DIFL1<=DIFL3);

STICKLINE(B OR BG,DIF,DEA,8,0),COLORRED;

DRAWTEXT(TFILTER(B,MACD>0,1),(DIF+MACD),’日底背离’),COLORRED;

DRAWTEXT(TFILTER(BG,MACD>0,1),DIF*1.1,’日形成’),COLORMAGENTA;

DRAWTEXT(TFILTER(底背离消失,B,1),(DIF+MACD),’日消失’),COLORYELLOW;

STICKLINE(B OR BG,DIF,DEA,5,0),COLORRED;

金叉:=CROSS(DIF,DEA);

M1:=BARSLAST(金叉),NODRAW;

M2:=REF(BARSLAST(金叉),M1+1),NODRAW;

M3:=REF(BARSLAST(金叉),M2+M1+2),NODRAW;

CH1:=HHV(C,M1+1),NODRAW;

DIFH1:=HHV(DIF,M1+1),NODRAW;

CH2:=REF(CH1,M1+1),NODRAW;

DIFH2:=REF(DIFH1,M1+1),NODRAW;

CH3:=REF(CH2,M1+1),NODRAW;

DIFH3:=REF(DIFH2,M1+1),NODRAW;

PDIFH2:=IF(DIFH2>0,INTPART(LOG(DIFH2))-1,INTPART(LOG(-DIFH2))-1);

MDIFH2:=INTPART(DIFH2/POW(10,PDIFH2));

PDIFH3:=IF(DIFH3>0,INTPART(LOG(DIFH3))-1,INTPART(LOG(-DIFH3))-1);

MDIFH3:=INTPART(DIFH3/POW(10,PDIFH3));

MDIFT2:=INTPART(DIF/POW(10,PDIFH2));

MDIFT3:=INTPART(DIF/POW(10,PDIFH3));

直接顶背离:=(CH1>CH2 ) AND (MDIFT2< MDIFH2) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT2>=REF(MDIFT2,1);

隔峰顶背离:=(CH1>CH3 AND CH3>CH2 ) AND (MDIFT3< MDIFH3) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT3>=REF(MDIFT3,1);

T:=直接顶背离 OR 隔峰顶背离,NODRAW;

TG:=((MDIFT2< REF(MDIFT2,1))*REF(直接顶背离,1)) OR ((MDIFT3< REF(MDIFT3,1))*REF(隔峰顶背离,1)),NODRAW;

顶背离消失:=(REF(直接顶背离,1) AND DIFH1>=DIFH2 ) OR (REF(隔峰顶背离,1) AND DIFH1>=DIFH3);

STICKLINE(T OR TG,DIF,DEA,8,0),COLORGREEN;

DRAWTEXT(TFILTER(T,MACD< 0,1),(DIF+MACD)*1.02,’日顶’),COLORGREEN;

DRAWTEXT(TFILTER(TG,MACD< 0,1),DIF*1.02,’日形成’),COLORGREEN;

DRAWTEXT(TFILTER(顶背离消失,T,1),(DIF+MACD),’日消失’),COLORYELLOW;

STICKLINE(T OR TG,DIF,DEA,5,0),COLORGREEN;

月死叉:=CROSS(月DEA,月DIF);

N1:=BARSLAST(月死叉),NODRAW;

N2:=REF(BARSLAST(月死叉),月N1+1),NODRAW;

N3:=REF(BARSLAST(月死叉),月N2+月N1+2),NODRAW;

CL1:=LLV(C,月N1+1),NODRAW;

DIFL1:=LLV(月DIF,月N1+1),NODRAW;

CL2:=REF(月CL1,月N1+1),NODRAW;

DIFL2:=REF(月DIFL1,月N1+1),NODRAW;

CL3:=REF(月CL2,月N1+1),NODRAW;

DIFL3:=REF(月DIFL2,月N1+1),NODRAW;

P月DIFL2:=IF(月DIFL2>0,INTPART(LOG(月DIFL2))-1,INTPART(LOG(-月DIFL2))-1);

M月DIFL2:=INTPART(月DIFL2/POW(10,P月DIFL2));

P月DIFL3:=IF(月DIFL3>0,INTPART(LOG(月DIFL3))-1,INTPART(LOG(-月DIFL3))-1);

M月DIFL3:=INTPART(月DIFL3/POW(10,P月DIFL3));

M月DIFB2:=INTPART(月DIF/POW(10,P月DIFL2));

M月DIFB3:=INTPART(月DIF/POW(10,P月DIFL3));

直接月底背离:=(月CL1< 月CL2 ) AND (M月DIFB2>M月DIFL2) AND (月MACD< 0 AND REF(月MACD,1)< 0) AND M月DIFB2<=REF(M月DIFB2,1);

隔峰月底背离:=(月CL1< 月CL3 AND 月CL3< 月CL2 ) AND (M月DIFB3>M月DIFL3) AND (月MACD< 0 AND REF(月MACD,1)< 0) AND M月DIFB3<=REF(M月DIFB3,1);

B:直接月底背离 OR 隔峰月底背离,NODRAW;

BG:((M月DIFB2>REF(M月DIFB2,1))*REF(直接月底背离,1)) OR ((M月DIFB3>REF(M月DIFB3,1))*REF(隔峰月底背离,1)),NODRAW;

月底背离消失:=(REF(直接月底背离,1) AND 月DIFL1<=月DIFL2 ) OR (REF(隔峰月底背离,1) AND 月DIFL1<=月DIFL3);

STICKLINE(月B OR 月BG,月DIF-20,月DEA-20,8,0),COLORRED;

DRAWTEXT(TFILTER(月B,月MACD>0,1),(月DIF+月MACD)-20,’月底背离’),COLORRED;

DRAWTEXT(TFILTER(月BG,月MACD>0,1),月DIF*1.1-20,’月形成’),COLORMAGENTA;

DRAWTEXT(TFILTER(月底背离消失,B,1),(月DIF+月MACD)-20,’月消失’),COLORYELLOW;

STICKLINE(月B OR 月BG,月DIF-20,月DEA-20,5,0),COLORRED;

{月金叉:=CROSS(月DIF,月DEA);}

M1:=BARSLAST(月金叉),NODRAW;

M2:=REF(BARSLAST(月金叉),月M1+1),NODRAW;

M3:=REF(BARSLAST(月金叉),月M2+月M1+2),NODRAW;

CH1:=HHV(C,月M1+1),NODRAW;

DIFH1:=HHV(月DIF,月M1+1),NODRAW;

CH2:=REF(月CH1,月M1+1),NODRAW;

DIFH2:=REF(月DIFH1,月M1+1),NODRAW;

CH3:=REF(月CH2,月M1+1),NODRAW;

DIFH3:=REF(月DIFH2,月M1+1),NODRAW;

P月DIFH2:=IF(月DIFH2>0,INTPART(LOG(月DIFH2))-1,INTPART(LOG(-月DIFH2))-1);

M月DIFH2:=INTPART(月DIFH2/POW(10,P月DIFH2));

P月DIFH3:=IF(月DIFH3>0,INTPART(LOG(月DIFH3))-1,INTPART(LOG(-月DIFH3))-1);

M月DIFH3:=INTPART(月DIFH3/POW(10,P月DIFH3));

M月DIFT2:=INTPART(月DIF/POW(10,P月DIFH2));

M月DIFT3:=INTPART(月DIF/POW(10,P月DIFH3));

直接月顶背离:=(月CH1>月CH2 ) AND (M月DIFT2< M月DIFH2) AND (月MACD>0 AND REF(月MACD,1)>0) AND M月DIFT2>=REF(M月DIFT2,1);

隔峰月顶背离:=(月CH1>月CH3 AND 月CH3>月CH2 ) AND (M月DIFT3< M月DIFH3) AND (月MACD>0 AND REF(月MACD,1)>0) AND M月DIFT3>=REF(M月DIFT3,1);

T:=直接月顶背离 OR 隔峰月顶背离,NODRAW;

TG:=((M月DIFT2< REF(M月DIFT2,1))*REF(直接月顶背离,1)) OR ((M月DIFT3< REF(M月DIFT3,1))*REF(隔峰月顶背离,1)),NODRAW;

月顶背离消失:=(REF(直接月顶背离,1) AND 月DIFH1>=月DIFH2 ) OR (REF(隔峰月顶背离,1) AND 月DIFH1>=月DIFH3);

STICKLINE(月T OR 月TG,月DIF-20,月DEA-20,8,0),COLORGREEN;

DRAWTEXT(TFILTER(月T,月MACD< 0,1),(月DIF+月MACD-20),’月顶’),COLORGREEN;

DRAWTEXT(TFILTER(月TG,月MACD< 0,1),月DIF*1.02-20,’月形成’),COLORGREEN;

DRAWTEXT(TFILTER(月顶背离消失,月T,1),(月DIF+月MACD-20),’月消失’),COLORYELLOW;

STICKLINE(月T OR 月TG,月DIF-20,月DEA-20,5,0),COLORGREEN;

周死叉:=CROSS(周DEA,周DIF);

N1:=BARSLAST(周死叉),NODRAW;

N2:=REF(BARSLAST(周死叉),周N1+1),NODRAW;

N3:=REF(BARSLAST(周死叉),周N2+周N1+2),NODRAW;

CL1:=LLV(C,周N1+1),NODRAW;

DIFL1:=LLV(周DIF,周N1+1),NODRAW;

CL2:=REF(周CL1,周N1+1),NODRAW;

DIFL2:=REF(周DIFL1,周N1+1),NODRAW;

CL3:=REF(周CL2,周N1+1),NODRAW;

DIFL3:=REF(周DIFL2,周N1+1),NODRAW;

P周DIFL2:=IF(周DIFL2>0,INTPART(LOG(周DIFL2))-1,INTPART(LOG(-周DIFL2))-1);

M周DIFL2:=INTPART(周DIFL2/POW(10,P周DIFL2));

P周DIFL3:=IF(周DIFL3>0,INTPART(LOG(周DIFL3))-1,INTPART(LOG(-周DIFL3))-1);

M周DIFL3:=INTPART(周DIFL3/POW(10,P周DIFL3));

M周DIFB2:=INTPART(周DIF/POW(10,P周DIFL2));

M周DIFB3:=INTPART(周DIF/POW(10,P周DIFL3));

直接周底背离:=(周CL1< 周CL2 ) AND (M周DIFB2>M周DIFL2) AND (周MACD< 0 AND REF(周MACD,1)< 0) AND M周DIFB2<=REF(M周DIFB2,1);

隔峰周底背离:=(周CL1< 周CL3 AND 周CL3< 周CL2 ) AND (M周DIFB3>M周DIFL3) AND (周MACD< 0 AND REF(周MACD,1)< 0) AND M周DIFB3<=REF(M周DIFB3,1);

B:直接周底背离 OR 隔峰周底背离,NODRAW;

BG:((M周DIFB2>REF(M周DIFB2,1))*REF(直接周底背离,1)) OR ((M周DIFB3>REF(M周DIFB3,1))*REF(隔峰周底背离,1)),NODRAW;

周底背离消失:=(REF(直接周底背离,1) AND 周DIFL1<=周DIFL2 ) OR (REF(隔峰周底背离,1) AND 周DIFL1<=周DIFL3);

STICKLINE(周B OR 周BG,周DIF-10,周DEA-10,8,0),COLORRED;

DRAWTEXT(TFILTER(周B,周MACD>0,1),(周DIF+周MACD)-10,’周底背离’),COLORRED;

DRAWTEXT(TFILTER(周BG,周MACD>0,1),周DIF*1.1-10,’周形成’),COLORMAGENTA;

DRAWTEXT(TFILTER(周底背离消失,B,1),(周DIF+周MACD)-10,’周消失’),COLORYELLOW;

STICKLINE(周B OR 周BG,周DIF-10,周DEA-10,5,0),COLORRED;

{周金叉:=CROSS(周DIF,周DEA);}

M1:=BARSLAST(周金叉),NODRAW;

M2:=REF(BARSLAST(周金叉),周M1+1),NODRAW;

M3:=REF(BARSLAST(周金叉),周M2+周M1+2),NODRAW;

CH1:=HHV(C,周M1+1),NODRAW;

DIFH1:=HHV(周DIF,周M1+1),NODRAW;

CH2:=REF(周CH1,周M1+1),NODRAW;

DIFH2:=REF(周DIFH1,周M1+1),NODRAW;

CH3:=REF(周CH2,周M1+1),NODRAW;

DIFH3:=REF(周DIFH2,周M1+1),NODRAW;

P周DIFH2:=IF(周DIFH2>0,INTPART(LOG(周DIFH2))-1,INTPART(LOG(-周DIFH2))-1);

M周DIFH2:=INTPART(周DIFH2/POW(10,P周DIFH2));

P周DIFH3:=IF(周DIFH3>0,INTPART(LOG(周DIFH3))-1,INTPART(LOG(-周DIFH3))-1);

M周DIFH3:=INTPART(周DIFH3/POW(10,P周DIFH3));

M周DIFT2:=INTPART(周DIF/POW(10,P周DIFH2));

M周DIFT3:=INTPART(周DIF/POW(10,P周DIFH3));

直接周顶背离:=(周CH1>周CH2 ) AND (M周DIFT2< M周DIFH2) AND (周MACD>0 AND REF(周MACD,1)>0) AND M周DIFT2>=REF(M周DIFT2,1);

隔峰周顶背离:=(周CH1>周CH3 AND 周CH3>周CH2 ) AND (M周DIFT3< M周DIFH3) AND (周MACD>0 AND REF(周MACD,1)>0) AND M周DIFT3>=REF(M周DIFT3,1);

T:=直接周顶背离 OR 隔峰周顶背离,NODRAW;

TG:=((M周DIFT2< REF(M周DIFT2,1))*REF(直接周顶背离,1)) OR ((M周DIFT3< REF(M周DIFT3,1))*REF(隔峰周顶背离,1)),NODRAW;

周顶背离消失:=(REF(直接周顶背离,1) AND 周DIFH1>=周DIFH2 ) OR (REF(隔峰周顶背离,1) AND 周DIFH1>=周DIFH3);

STICKLINE(周T OR 周TG,周DIF-10,周DEA-10,8,0),COLORGREEN;

DRAWTEXT(TFILTER(周T,周MACD< 0,1),(周DIF+周MACD-10),’周顶’),COLORGREEN;

DRAWTEXT(TFILTER(周TG,周MACD< 0,1),周DIF*1.02-10,’周形成’),COLORGREEN;

DRAWTEXT(TFILTER(周顶背离消失,周T,1),(周DIF+周MACD-10),’周消失’),COLORYELLOW;

STICKLINE(周T OR 周TG,周DIF-10,周DEA-10,5,0),COLORGREEN;

STICKLINE(周顶背离消失,周DIF-10,周DEA-10,5,0),COLORRED;

STICKLINE(顶背离消失,DIF,DEA,5,0),COLORRED;

STICKLINE(月顶背离消失,月DIF-20,月DEA-20,5,0),COLORRED;

{9转};

A001:=C>REF(C,4);

NT:=BARSLASTCOUNT(A001);

TJ11:=NT=9;

TJ13:=ISLASTBAR AND BETWEEN(NT,5,8);

AY:=(BACKSET(TJ11>0,9)OR BACKSET(TJ13>0,NT))*NT;

DRAWTEXT(AY>0,MACD*1.02,VAR2STR(AY,0)),COLORLIRED;

DRAWTEXT(NT=9,MACD*1.02,’9′),COLORGREEN;

B001:=C<REF(C,4);

NT0:=BARSLASTCOUNT(B001);

TJ21:=NT0=9;

TJ23:=ISLASTBAR AND BETWEEN(NT0,5,8);

AY1:=(BACKSET(TJ21>0,9) OR BACKSET(TJ23>0,NT0))*NT0;

DRAWTEXT(AY1>0,MACD*0.98,VAR2STR(AY1,0)),COLORGREEN;

DRAWTEXT(NT0=9,MACD*0.98,’9′),COLORRED;

TRR := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);

HD := HIGH-REF(HIGH,1);

LD := REF(LOW,1)-LOW;

PDM:= SUM(IF(HD>0 AND HD>LD,HD,0),14);

MDM:= SUM(IF(LD>0 AND LD>HD,LD,0),14);

PDI:= PDM*100/TRR;

MDI:= MDM*100/TRR;

A1:=BARSLAST(REF(CROSS(“MACD.DIF”(12,26,9),”MACD.DEA”(12,26,9)),1));

B1:=REF(C,A1+1)>C AND REF(“MACD.DIF”(12,26,9),A1+1)<“MACD.DIF”(12,26,9) AND CROSS(“MACD.DIF”(12,26,9),”MACD.DEA”(12,26,9));

A2:=BARSLAST(REF(CROSS(“KDJ.K”(9,3,3),”KDJ.D”(9,3,3)),1));

B2:=REF(C,A2+1)>C AND REF(“KDJ.K”(9,3,3),A2+1)<“KDJ.K”(9,3,3) AND CROSS(“KDJ.K”(9,3,3),”KDJ.D”(9,3,3));

A3:=BARSLAST(REF(CROSS(“RSI.RSI1″(6,12,24),”RSI.RSI2″(6,12,24)),1));

B3:=REF(C,A3+1)>C AND REF(“RSI.RSI1″(6,12,24),A3+1)<“RSI.RSI1″(6,12,24) AND CROSS(“RSI.RSI1″(6,12,24),”RSI.RSI2″(6,12,24));

C1:=BARSLAST(REF(CROSS(“MACD.DEA”(12,26,9),”MACD.DIF”(12,26,9)),1));

D1:=REF(C,C1+1)<C AND REF(“MACD.DIF”(12,26,9),C1+1)>”MACD.DIF”(12,26,9) AND CROSS(“MACD.DEA”(12,26,9),”MACD.DIF”(12,26,9));

C2:=BARSLAST(REF(CROSS(“KDJ.D”(9,3,3),”KDJ.K”(9,3,3)),1));

D2:=REF(C,C2+1)<C AND REF(“KDJ.K”(9,3,3),C2+1)>”KDJ.K”(9,3,3) AND CROSS(“KDJ.D”(9,3,3),”KDJ.K”(9,3,3));

C3:=BARSLAST(REF(CROSS(“RSI.RSI2″(6,12,24),”RSI.RSI1″(6,12,24)),1));

D3:=REF(C,C3+1)<C AND REF(“RSI.RSI1″,C3+1)>”RSI.RSI1” 

AND CROSS(“RSI.RSI2″,”RSI.RSI1”);

DRAWTEXT(B2>0,DIF*1.2,’K底’),COLORFF00FF;

DRAWTEXT(D2>0,DIF*1.2,’K顶’),COLORFFCC66;

DRAWTEXT(B3>0,DIF*1,’R底’),COLORYELLOW;

DRAWTEXT(D3>0,DIF*1,’R顶’),COLORFFFFFF;

G1:=CLOSE;G2:=LOW;G3:=OPEN;G4:=HIGH;

GUP3:=(G1-MA(G1,6))/MA(G1,6)*100;

GUP4:=(G1-MA(G1,24))/MA(G1,24)*100;

GUP5:=(G1-MA(G1,32))/MA(G1,32)*100;

GUP6:=(GUP3+GUP4+GUP5)/3;

GUP7:=EMA(GUP6,5);

GUP8:=IF(GUP6<=-20,10,0);

GUP9:=HHV(GUP8,10);

GUPA:=IF(GUP9 AND CROSS(MA(G1,3),MA(G1,5)),20,0);

DRAWTEXT(GUPA=20,0.25,’抄底’),LINETHICK1,COLORYELLOW;

STICKLINE((GUPA=20),0,0.25,5,0),COLORYELLOW;

{RSI买卖点-不需要的可以屏蔽}

C81:=REF(C,1);

RN:=9;

RSI1:=SMA(MAX(C-C81,0),RN,1)/SMA(ABS(C-C81),RN,1)*100;

低点:=CROSS(RSI1,20);

STICKLINE(低点,0.1,0,0.3,0),COLORYELLOW;

DRAWICON(低点, 0.15,1);

DRAWTEXT(低点, 0.14,’←底’),COLORYELLOW;

:=CROSS(80,RSI1);

DRAWICON(顶, DIF*1.15,2);

DRAWTEXT(顶, DIF*1.1,’←减/清仓’),COLORGREEN;

{低位金叉:=CROSS(DIF,DEA) AND DIF<-0.1; 

DRAWICON(低位金叉,0,25);

JCCOUNT:=COUNT(CROSS(DIF,DEA),BARSLAST(DEA>=0)); 

二次金叉:=CROSS(DIF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1; 

DRAWICON(二次金叉,0,26);

三次金叉:=CROSS(DIF,DEA) AND DEA<0 AND COUNT(JCCOUNT=3,60)=1; 

DRAWICON(三次金叉,0,25);

低位周金叉:=CROSS(周DIF,周DEA) AND 周DIF<-0.1; 

DRAWICON(低位周金叉,-10,25);

JCCOUNT:=COUNT(CROSS(周DIF,周DEA),BARSLAST(周DEA>=0)); 

二次周金叉:=CROSS(周DIF,周DEA) AND 周DEA<0 AND COUNT(周JCCOUNT=2,21)=1; 

DRAWICON(二次周金叉,-10,26);

三次周金叉:=CROSS(周DIF,周DEA) AND 周DEA<0 AND COUNT(周JCCOUNT=3,60)=1; 

DRAWICON(三次周金叉,-10,25);

低位月金叉:=CROSS(月DIF,月DEA) AND 月DIF<-0.1; 

DRAWICON(低位月金叉,0,25);

JCCOUNT:=COUNT(CROSS(月DIF,月DEA),BARSLAST(月DEA>=0)); 

二次月金叉:=CROSS(月DIF,月DEA) AND 月DEA<0 AND COUNT(月JCCOUNT=2,21)=1; 

DRAWICON(二次月金叉,0,26);

三次月金叉:=CROSS(月DIF,月DEA) AND 月DEA<0 AND COUNT(月JCCOUNT=3,60)=1; 

DRAWICON(三次月金叉,0,25);};