在 GitHub 上查看

MACD 零轴穿越策略图

English | Русский | Español | Deutsch | Português | 日本語

MACD 就是快慢两条指数移动平均线之差,所以仅凭 MACD 线的正负号就能判断哪条均线在上。本图完全不看信号线,只在 MACD 线改变符号的那一刻交易:由负转为零或正则买入,由零或正转为负则卖出。

schema

策略概览

  • MACD 指标使用快线周期 8、慢线周期 17、信号周期 9;只有 MACD 线参与判断,信号线虽被计算却从不读取。
  • 前值方块保存上一根K线的 MACD 线,因此符号变化被识别为真正的穿越,而不是持续存在的状态。
  • 每个条件都加入当前持仓,因此与已有持仓同向的信号会被丢弃,而不会继续加仓。

入场与出场规则

  • 做多入场: 上一根K线的 MACD 线低于零,当前K线等于或高于零,且持仓不是多头。订单按固定数量买入:空仓时开多,持空时平空。
  • 做空入场: 上一根K线的 MACD 线等于或高于零,当前K线低于零,且持仓不是空头。订单按固定数量卖出:空仓时开空,持多时平多。
  • 离场: 没有单独的离场方块,也没有保护性止损:所有订单数量相同,因此反向的零轴穿越只把持仓拉回零,而不是反手,新的持仓要等到下一次穿越才建立。

参数

参数 默认值 说明
Fast EMA length 8 MACD 中快速指数移动平均线的周期。
Slow EMA length 17 MACD 中慢速指数移动平均线的周期。
Signal EMA length 9 MACD 信号线的平滑周期;不影响交易判断。
Volume 1 下单数量(手);开仓与平仓使用同一数值。
Candles 00:05:00 整张图使用的K线周期。

图表详情

  • K线方块驱动 MACD 指标方块,转换方块从复合指标值中取出 MACD 线。
  • 前值方块把这条线后移一根K线,四个比较方块把前值与当前值同一个共享的零常量比较。
  • 同一个零常量再与持仓方块比较,得到「持仓 <= 0」和「持仓 >= 0」两个判断。
  • 每个逻辑与合并三个条件——前值、当前值和持仓——并触发修改持仓方块,用共享数量常量发出市价单。

使用方法

.json 文件导入 Designer,在回测器中用历史数据运行,然后根据自己的交易品种调整参数或方块,确认无误后再用于实盘。