TestMACD
该EA使用MetaTrader 5标准专家框架,配合MACD信号模块,基于MACD柱状图交叉逻辑产生交易入场信号。采用固定手数下单,无移动止损,依赖静态止损止盈管理仓位。整体为基于MQL5标准库组件的模板化实现。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
这个 EA 从未交易的原因:转换后没有留下任何开仓规则。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
该EA的核心策略是MACD动量交易,通过快速EMA(12周期)与慢速EMA(24周期)的差值构建MACD线,再以信号线(9周期)作为触发条件,当MACD柱状图出现交叉信号时开仓。入场条件由CSignalMACD类内部逻辑决定,通常为MACD线与信号线的金叉做多、死叉做空。出场条件完全依赖固定止损(90点)和固定止盈(110点),没有使用任何移动止损策略(CTrailingNone),这意味着盈利仓位不会锁定浮盈。仓位管理采用CMoneyFixedLot固定手数模式,每次交易固定0.1手,不考虑账户余额变化动态调整。资金管理方面,虽然设置了10%的百分比参数,但固定手数模式下该参数仅影响风险计算,实际下单量始终为0.1手,缺乏根据波动率或账户风险动态调整仓位的能力。整体策略简单直接,但缺乏对市场环境变化的自适应能力。
优势
- 基于MQL5标准库组件构建,代码结构规范、可维护性强
- 使用CExpert框架实现了信号、 trailing、资金管理的模块化分离,便于替换和扩展各模块
- 参数均可通过输入变量外部配置,方便优化和回测调整
- 每新Bar才执行交易逻辑(EveryTick=false),减少了频繁交易和过拟合风险
- 具备完整的参数验证流程(ValidationSettings),防止无效参数导致异常交易
劣势
- 无移动止损策略,盈利仓位无法锁定浮盈,可能导致盈利回吐
- 固定手数仓位管理过于简单,未根据账户风险或市场波动率动态调整
- 止损90点与止盈110点的风险回报比仅为1:1.22,对于MACD动量策略偏保守
- 缺乏市场环境过滤机制,在震荡行情中MACD交叉信号容易产生频繁虚假信号
- 未设置点差过滤或交易时段过滤,高点差时段可能侵蚀利润
- 慢速EMA周期24非标准值(通常为26),可能与多数交易平台默认参数不一致
改进建议
- 增加移动止损模块(如CTrailingFixedPct或CTrailingMA)以保护浮盈,提升盈利能力
- 替换固定手数管理为动态仓位管理(如CMoneyFixedRisk),根据账户风险百分比和止损距离计算手数
- 增加趋势过滤条件(如更高时间周期均线方向或ADX指标),避免在震荡行情中频繁开仓
- 增加点差过滤和交易时段限制,避免在流动性差、点差高的时段交易
- 考虑增加MACD柱状图零轴过滤,仅在MACD与信号线同侧交叉时开仓,减少虚假信号
风险评估
总体风险: 低风险
- 固定止损90点提供了一定的下行保护,但缺乏移动止损可能导致盈利仓位回吐
- MACD在震荡行情中容易产生虚假信号,缺乏过滤机制可能导致连续小亏
- 固定手数不考虑账户规模变化,小账户可能承受过大风险,大账户则资金利用率不足
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Inp_Expert_Title | TestMACD | 专家名称标识 |
Expert_MagicNumber | 9424 | EA唯一标识号,用于区分不同EA的订单 |
Expert_EveryTick | false | 是否每个Tick都执行交易逻辑,false表示仅在新Bar开盘时执行 |
Inp_Signal_MACD_PeriodFast | 12 | MACD快速EMA周期 |
Inp_Signal_MACD_PeriodSlow | 24 | MACD慢速EMA周期 |
Inp_Signal_MACD_PeriodSignal | 9 | MACD信号线周期 |
Inp_Signal_MACD_StopLoss | 90 | 止损点数 |
Inp_Signal_MACD_TakeProfit | 110 | 止盈点数 |
Inp_Money_FixLot_Percent | 10.0 | 资金管理百分比参数 |
Inp_Money_FixLot_Lots | 0.1 | 固定交易手数 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。