Expert MACD EURUSD 1 Hour
该EA在H1周期交易EURUSD,使用多根K线的MACD交叉动量策略。当检测到连续4根K线的MACD直方图动量模式时开仓做多或做空,通过MACD交叉平仓和移动止损机制管理出场。仓位大小基于可用保证金的固定风险比例计算。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | +3.23% | +2.80% | 5.67% | 1 | 0.00% | — | — | — | — | 交易太少 |
| GBPUSD | -2.78% | -2.42% | 8.25% | 1 | 0.00% | — | — | — | — | 交易太少 |
| USDJPY | -2.41% | -2.10% | 7.53% | 1 | 0.00% | — | — | — | — | 交易太少 |
| XAUUSD | -100.00% | -100.00% | 100.00% | 32 | 43.80% | -1.53 | -1.00 | 5 | −$357.01 | 账户爆仓 |
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
和同类(动量)在同一品种上有可信结果的 EA 相比:XAUUSD 好于 0%(共 75 个)
按月看
| 品种 | 盈利月份占比 | 最好的月份 | 最差的月份 |
|---|---|---|---|
| XAUUSD | 25% | +25.81% 2025-11 | -100.00% 2026-02 |
根据回测净值曲线计算(约每两天一个点),只统计可信结果。
爆仓风险: 高
- 在我们的回测中爆仓(净值跌破 10%):XAUUSD
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于MACD指标的动量反转模式,使用参数为快线5、慢线15、信号线3的MACD设置。入场条件非常复杂:做多需要MACD主线在柱1和柱2之间从负转正形成上穿信号线的交叉,同时柱3的主线必须为负值,且当前柱的主线值需大于0.00020,信号线柱6-8需呈现下降趋势后反转上穿的模式;做空条件为对称的反向模式,但阈值不对称(做空需mac1<-0.00035而非-0.00020),显示策略对做空更谨慎。出场条件包括MACD主线当前柱低于前一柱时平多单,或主线当前柱高于前一柱时平空单,同时实现了基于固定点数的移动止损跟踪。仓位管理使用自由保证金乘以风险比例(默认1%)计算手数,并进行最小/最大手数和步长校验。资金管理方面,没有设置止损和止盈价格(开仓时SL和TP均为0),完全依赖MACD信号平仓和移动止损保护,存在较大风险敞口。
优势
- 入场条件使用多根K线的MACD模式确认,比简单交叉更可靠,减少了假信号
- 实现了移动止损机制,能够锁定已获利润并限制回撤
- 仓位大小根据账户自由保证金动态计算,具有自适应的风险控制
- 做空入场阈值更严格(-0.00035 vs -0.00020),体现了对市场非对称性的考量
劣势
- 开仓时未设置止损和止盈,如果终端断开连接或MACD信号延迟,仓位将完全暴露于无限风险中
- 入场条件的硬编码阈值(0.00020、-0.00035)仅在EURUSD上有效,无法适用于其他品种或不同点值平台
- 没有新K线检测机制,每个tick都会执行策略逻辑,可能导致重复计算和不必要的API调用
- 买入和卖出的阈值不对称缺乏解释,可能是回测过拟合的结果而非有意识的设计
- iMACDGet函数每次调用都重新复制缓冲区数据,在单个tick中调用8次效率低下
改进建议
- 为每笔订单设置合理的止损和止盈价格,避免无保护持仓的风险敞口
- 添加新K线检测机制(如比较当前bar时间与上次处理时间),避免每个tick重复计算
- 将硬编码的MACD阈值改为可配置的输入参数,并考虑使用归一化方式(如ATP或ATD)使策略适配不同品种
- 优化iMACDGet函数,在单次调用中批量获取所有需要的MACD数据,减少重复的CopyBuffer调用
风险评估
总体风险: 高风险
- 开仓时止损和止盈均为0,没有任何硬性风险保护,极端行情下可能导致巨额亏损
- 没有新K线检测,在高频tick中可能产生重复信号或过度调用交易函数
- 移动止损修改有时间间隔限制(Pause=255秒),在快速行情中可能无法及时调整止损
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MagicNumber | 23478423 | 魔术编号,用于识别本EA的订单 |
InpTrailing | 25 | 移动止损点数(3/5位小数平台自动乘以10) |
Risk | 0.01 | 风险比例,用于根据可用保证金计算开仓手数 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。