核心逻辑
这是一个基于MACD指标的改进型交易系统。公式在标准MACD(12,26,9)基础上进行了扩展: 1. **计算MACD**:通过12日和26日指数移动平均线计算DIF,9日指数移动平均线计算DEA,生成MACD柱状线(乘以2放大) 2. **动态支撑/压力线**:根据DIF上穿/下穿0轴的时间关系,动态生成一条参考线(UDGLINE),用于判断多空分界 3. **背离检测**:识别价格创新低但MACD未创新低的底背离信号 4. **MACD均线化**:对MACD柱状线进行2日求和后再3日指数平滑,形成DIF2趋势线,并显示金叉/死叉状态
买卖信号
**买入信号:** - 底背离:价格创新低但MACD未创新低后金叉 - DRAWICON买入:MACD连续4日下跌后开始回升(绿翻红) - JDU系列:价格在UDGLINE之上且DIF上穿0轴 **卖出信号:** - DRAWICON卖出:MACD连续4日上升后开始回落(红翻绿) - JUD系列:价格在UDGLINE之下且DIF下穿0轴
用法
1. **基础用法**:观察DIF2(黄色粗线)的方向,红色表示上涨趋势,绿色表示下跌趋势 2. **背离信号**:出现绿色柱状线(0.03高度)时注意底背离机会 3. **图标信号**:出现绿色笑脸(14号)买入,出现红色哭脸(13号)卖出 4. **配合均线**:DEA2(青色线)对DIF2有支撑/压力作用,可作为辅助判断 5. **综合判断**:建议结合其他指标或价格形态综合判断,避免单一信号交易
公式源码
N1:=12; N2:=26; N3:=9; DIFF:=(EMA(CLOSE,N1) - EMA(CLOSE,N2)); DEA:=EMA(DIFF,N3); macd2:=(2 * (DIFF - DEA)); 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),TDU3),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,0),COLORFF00FF; STICKLINE(((MACD2>=0) AND (MACD2 < REF(MACD2,1))),0,MACD2,2,1),COLORGREEN; STICKLINE((MACD2<0),0,MACD2,2,0),COLORFFFF00; STICKLINE(((MACD2<0) AND (MACD2 > REF(MACD2,1))),0,MACD2,2,0),COLORYELLOW; 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)); A1:=BARSLAST(REF(CROSS(DIFF,DEA),1)); 底背离:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA); STICKLINE(底背离,0,0.03,4,0),COLOR00FF00; DIF2:EMA(SUM(MACD2,2),3),LINETHICK2,COLORYELLOW; 入1:IF(DIF2>REF(DIF2,1),DIF2,DRAWNULL),COLORRED,LINETHICK2; 入2:IF(DIF2<REF(DIF2,1),DIF2,DRAWNULL),COLORGREEN,LINETHICK2; DEA2:MA(DIF2,5),COLORCYAN; 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,14); 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,13);