MACD类指标写法很多,这段源码在常规快慢线基础上,增加了柱体着色、零轴穿越判断和图标标注。代码层次较多,但拆开看是几个独立模块拼起来的,适合拿来练习多模块组合与绘图函数的用法。
1、快慢线交叉:快线与慢线的交叉是源码中DU0、UD0的核心判断,先观察两条线在零轴附近的交叉位置,理解后续变量的来源。
2、柱体着色:零轴上方的柱体用红色系,下方用黄色系,且柱子缩短或伸长时填充方式不同,可对比不同阶段的柱体形态差异。
3、零轴穿越计数:源码用BARSLAST记录穿越零轴后的周期数,这是后续高低点参考线计算的基础,理解这个计数的作用有助于读懂整体结构。
4、图标标注位置:DRAWICON在柱体连续缩短或伸长时打上图标,属于形态记录,可对照柱体走势观察图标出现的条件组合。
5、参考线计算:UDGLINE和BSLINE用条件分支取近期高低点,属于辅助参考线的写法示例,可单独拆出来观察计算过程。

LONG:=26; SHORT:=12; M:=9; DIFF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:=EMA(DIFF,M); MACD2:=2*(DIFF-DEA); (CLOSE<0 AND CROSS(DIFF,0),H*1.3),COLOR000080,NODRAW; (CLOSE<0 AND CROSS(MACD2,0),H*1.3),COLOR000080,NODRAW; (CLOSE<0 AND CROSS(0,DIFF),H*1.3),COLOR808080,NODRAW; (CLOSE<0 AND CROSS(0,MACD2),H*1.3),COLOR808080,NODRAW; DU0:=CROSS(DIFF,0); UD0:=CROSS(0,DIFF); TDU0:=BARSLAST(DU0); TUD0:=BARSLAST(UD0); DU3:=REF(DU0,1); UD3:=REF(UD0,1); TDU3:=BARSLAST(DU3); TUD3:=BARSLAST(UD3); UDGLINE:=IF(TDU3<TUD3,REF(HHV(HIGH,2),TUD3),REF(LLV(LOW,2),TUD3)); JDU0:=REF(CLOSE,1)<=REF(UDGLINE,1) AND CLOSE>UDGLINE AND TDU0<TUD0; JUD0:=REF(CLOSE,1)>=REF(UDGLINE,1) AND CLOSE<UDGLINE AND TUD0<TDU0; JDU1:=JDU0 AND COUNT(JDU0,TDU0)=1; JUD1:=JUD0 AND COUNT(JUD0,TUD0)=1; JDU2:=JDU1 AND REF(BARSLAST(JUD1),1)<REF(BARSLAST(JDU1),1); JUD2:=JUD1 AND REF(BARSLAST(JUD1),1)>REF(BARSLAST(JDU1),1); JDU3:=JDU1 AND REF(BARSLAST(JUD1),1)>REF(BARSLAST(JDU1),1); JUD3:=JUD1 AND REF(BARSLAST(JUD1),1)<REF(BARSLAST(JDU1),1); BSLINE:=IF(BARSLAST(JDU2)<BARSLAST(JUD2),IF(REF(CROSS(0,MACD2),1),LLV(LOW,2),REF(LLV(LOW,2),BARSLAST(REF(CROSS(0,MACD2),1)))),IF(REF(CROSS(MACD2,0),1),HHV(HIGH,2),REF(HHV(HIGH,2),BARSLAST(REF(CROSS(MACD2,0),1))))); STICKLINE(MACD2>=0,0,MACD2,2,1),COLOR0000FF; STICKLINE(MACD2>=0 AND MACD2<REF(MACD2,1),0,MACD2,2,0),COLOR0000FF; STICKLINE(MACD2<0,0,MACD2,2,0),COLORFFFF00; STICKLINE(MACD2<0 AND MACD2>REF(MACD2,1),0,MACD2,2,1),COLORFFFF00; 快线:DIFF,LINETHICK2,COLOR0000FF; 慢线:DEA,COLORFF0000; 股策指标网:MACD2,LINETHICK0,COLORFFFF00; STICKLINE(CLOSE>0,0,0,2,0),COLOR808080; DEFUT:=BARSLAST(CROSS(MACD2,0)); DEFDT:=BARSLAST(CROSS(0,MACD2)); DEFUL:=IF(MACD2>=0,HHV(MACD2,DEFUT+1),REF(HHV(MACD2,DEFUT+1),DEFDT+1)); DEFDL:=IF(MACD2<0,LLV(MACD2,DEFDT+1),REF(LLV(MACD2,DEFDT+1),DEFUT+1)); DEFU2L:=REF(DEFUL,DEFUT+1); DEFD2L:=REF(DEFDL,DEFDT+1); DRAWICON(LLV(MACD2,4)>0 AND MACD2<REF(MACD2,1) AND REF(MACD2,1)>REF(MACD2,2) AND REF(MACD2,2)>REF(MACD2,3),MACD2,2); DRAWICON(HHV(MACD2,4)<0 AND MACD2>REF(MACD2,1) AND REF(MACD2,1)<REF(MACD2,2) AND REF(MACD2,2)<REF(MACD2,3),MACD2,1); DRAWICON((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1)) AND MACD2>=0 AND REF(MACD2,1)<REF(DEFU2L,1) AND MACD2>DEFU2L,MACD2,5); DRAWICON((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND MACD2<0 AND REF(MACD2,1)>REF(DEFD2L,1) AND MACD2<DEFD2L,MACD2,3); VAR111:=JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1); VAR112:=HHV(MACD2,4)<0 AND MACD2>REF(MACD2,1) AND REF(MACD2,1)<REF(MACD2,2) AND REF(MACD2,2)<REF(MACD2,3);
声明:(请您认真阅读一下条款!)
1、所有资源仅限学习研究,不构成任何投资建议,使用风险自行承担,我方不承担任何相关责任。
2、指标无准确率、无成功率承诺,请仔细阅读说明,理性学习使用。
3、仅提供安装指导,不提供使用方法,指标修改、转换、定制等服务,费用另议。
4、指标为虚拟文件,下载前请确认;一经付费 / 下载,不予退换退款。
注册账号,永久不限次复制,注册即送 20 积分,积分可用于站内付费指标下载