EA-2154 · 动量

MACD Sample

该EA使用MACD柱状图交叉信号结合EMA趋势过滤来产生买卖信号。它实现了移动止损管理和止盈目标来管理仓位出场。策略仅在MACD信号确认动量且EMA确认当前趋势方向时才进场交易。

打开交互版(权益曲线、切换品种)

基本信息

分类动量
风险中等
爆仓风险低
评分★★★☆☆
类型交易型 EA
周期M15, H1, H4
指标MACD, EMA
作者Copyright 2009-2013, MetaQuotes Software Corp.

回测结果(H1,约 1 年)

品种盈亏年化最大回撤交易数胜率夏普恢复因子最长连亏每笔期望状态
EURUSD+4.96%+4.30%3.36%12755.60%1.071.485+$4.21可靠
GBPUSD+5.83%+5.04%2.55%12449.60%1.062.295+$4.93可靠
USDJPY-5.73%-5.00%7.71%12455.30%-1.11-0.744−$4.72可靠
XAUUSD+49.79%+39.64%63.00%12754.00%0.830.796+$41.49可靠

在 4 个有可信结果的品种中,3 个盈利。

由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。

和同类(动量)在同一品种上有可信结果的 EA 相比:EURUSD 好于 85%(共 68 个);GBPUSD 好于 94%(共 66 个);USDJPY 好于 12%(共 68 个);XAUUSD 好于 77%(共 75 个)

按月看

品种盈利月份占比最好的月份最差的月份
EURUSD69%+3.11% 2026-04-2.01% 2026-03
GBPUSD62%+2.60% 2025-12-1.61% 2026-01
USDJPY31%+2.42% 2025-12-2.50% 2026-01
XAUUSD54%+55.05% 2026-02-20.28% 2026-04

根据回测净值曲线计算(约每两天一个点),只统计可信结果。

爆仓风险: 未发现爆仓模式

代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。

高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →

策略分析

该EA的核心策略是基于MACD指标的信号线交叉进行交易,同时使用EMA作为趋势方向过滤器。做多入场条件为:MACD主线在零轴下方、MACD主线从下方穿越信号线上方、MACD绝对值大于开仓阈值、且当前EMA值大于前一根EMA值(确认上升趋势)。做空入场条件对称相反:MACD主线在零轴上方、MACD主线从上方穿越信号线下方、MACD值大于开仓阈值、且当前EMA值小于前一根EMA值(确认下降趋势)。出场方面,做多平仓条件为MACD在零轴上方发生死叉且MACD值大于平仓阈值;做空平仓条件为MACD在零轴下方发生金叉且MACD绝对值大于平仓阈值。仓位管理采用固定手数(InpLots=0.1),没有加仓或减仓逻辑。资金管理方面仅有自由保证金检查,无最大亏损限制或权益保护机制。移动止损在盈利超过设定点数后将止损跟随至当前价格减去 trailing stop 值的位置,但未设置初始止损。

优势

  • 策略逻辑清晰,使用经典的MACD交叉加EMA趋势过滤组合,易于理解和验证
  • 实现了移动止损功能,可以在盈利仓位上锁定部分利润,降低回撤风险
  • 包含完整的参数校验(手数范围、止盈止损与StopsLevel关系),防止因参数错误导致异常交易
  • 使用面向对象封装,代码结构良好,便于维护和扩展

劣势

  • 开仓时不设置初始止损(SL=0.0),仅依赖移动止损,如果市场快速反转可能造成巨额亏损
  • 固定手数交易,没有根据账户权益或波动率进行仓位调整,缺乏动态资金管理
  • 没有新K线检测机制,每个tick都可能触发交易逻辑,在快速行情中可能重复开仓或频繁修改
  • 没有点差过滤,在高点差环境下MACD阈值可能被点差吞噬导致亏损交易
  • 平仓后立即可以重新开仓,缺少冷却期外的方向判断保护,可能在震荡行情中反复亏损

改进建议

  • 在开仓时设置初始止损,而不是仅依赖移动止损,以限制最大单笔亏损
  • 添加新K线检测逻辑,避免同一根K线内多次触发交易信号,减少不必要的交易成本
  • 引入基于ATR的动态仓位管理和阈值设定,使策略能适应不同波动率的市场环境

风险评估

总体风险: 中等

  • 开仓时无初始止损,极端行情下可能面临无限风险敞口
  • 固定手数不随账户权益调整,连续亏损时风险比例会逐渐升高
  • 缺少新K线检测和点差过滤,可能在不利条件下频繁交易

评估得分

代码质量4.0
策略逻辑3.0
风险管理2.0
稳健性3.0
创新性1.0
文档3.0
综合2.7

参数

参数默认值说明
InpLots0.1固定交易手数
InpTakeProfit50止盈点数(以点为单位)
InpTrailingStop30移动止损点数(以点为单位)
InpMACDOpenLevel3MACD开仓信号阈值(以点为单位)
InpMACDCloseLevel2MACD平仓信号阈值(以点为单位)
InpMATrendPeriod26EMA趋势判断周期

同类 EA:动量

回测是历史模拟,不代表未来收益,不构成投资建议。

订阅每周 Arena 周报

每周一封邮件:排名变化、新信号和新研究。不发垃圾邮件,随时可以退订。