EA_MACD_FixedPSAR
该EA使用MACD交叉信号并结合EMA趋势方向确认来开仓买入或卖出。提供三种追踪止损模式:无追踪、固定追踪止损、以及自定义Parabolic SAR式追踪止损。仓位可通过MACD信号反转、追踪止损、止盈或止损平仓。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | +28.73% | +24.54% | 21.76% | 124 | 52.00% | 0.82 | 1.32 | 6 | +$26.12 | 可靠 |
| GBPUSD | +13.12% | +11.31% | 34.88% | 122 | 49.60% | 0.49 | 0.38 | 7 | +$12.83 | 可靠 |
| USDJPY | +44.43% | +37.64% | 27.97% | 121 | 59.50% | 1.00 | 1.59 | 6 | +$36.72 | 可靠 |
| XAUUSD | -100.00% | -100.00% | 100.00% | 31 | 48.40% | -0.06 | -1.00 | 4 | −$613.65 | 账户爆仓 |
在 4 个有可信结果的品种中,3 个盈利。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
和同类(动量)在同一品种上有可信结果的 EA 相比:EURUSD 好于 99%(共 68 个);GBPUSD 好于 100%(共 66 个);USDJPY 好于 100%(共 68 个);XAUUSD 好于 0%(共 75 个)
按月看
| 品种 | 盈利月份占比 | 最好的月份 | 最差的月份 |
|---|---|---|---|
| EURUSD | 62% | +13.19% 2026-04 | -13.38% 2026-03 |
| GBPUSD | 54% | +27.63% 2026-02 | -17.31% 2026-06 |
| USDJPY | 62% | +27.17% 2026-04 | -22.59% 2026-08 |
| XAUUSD | 33% | +93.89% 2025-11 | -100.00% 2026-01 |
根据回测净值曲线计算(约每两天一个点),只统计可信结果。
爆仓风险: 高
- 在我们的回测中爆仓(净值跌破 10%):XAUUSD
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
该策略基于MACD指标的动量交叉进行交易,入场条件为MACD主线与信号线交叉且MACD值超过开仓阈值,同时EMA趋势方向需确认(买入时EMA上升,卖出时EMA下降)。出场条件包括MACD反向交叉且超过平仓阈值、固定追踪止损和Parabolic SAR式追踪止损三种模式。仓位管理采用固定手数,未启用动态仓位调整。资金管理方面仅在开仓前检查可用保证金,但缺少最大持仓限制和回撤控制。Parabolic SAR追踪止损是该EA的核心亮点,它自行计算SAR值而非调用指标,根据价格新高新低动态调整止损,但重置逻辑存在缺陷——开仓时以开仓价格而非实际高低点初始化追踪最大值,且在价格未创新高时完全不调整止损。
优势
- 内置三种追踪止损模式,Parabolic SAR追踪止损能有效锁定利润
- MACD信号结合EMA趋势过滤,避免逆势交易
- 代码结构清晰,使用MQL5标准交易库,面向对象设计便于维护
- 包含参数校验逻辑,检查止盈止损是否满足交易所最小距离要求
劣势
- 固定手数无动态仓位管理,未根据账户风险比例调整手数
- Parabolic SAR追踪止损初始化逻辑有缺陷,用开仓价格而非实际高低点初始化
- 缺少点差过滤,在波动性大的市场或高点差环境下可能产生滑点损失
- 未检查新K线形成,每个tick都执行逻辑可能导致重复信号
- 止盈计算未使用NormalizeDouble,可能导致精度问题
改进建议
- 添加基于账户风险比例的动态仓位计算,替代固定手数
- 修正Parabolic SAR追踪止损的初始化逻辑,应使用实际价格高低点而非开仓价
- 添加新K线检测机制,避免在同一根K线上重复执行交易逻辑
- 增加点差过滤,当点差过大时暂停开仓
风险评估
总体风险: 中等
- Parabolic SAR追踪止损在价格未创新高时不调整止损,可能在横盘行情中无法有效保护利润
- 缺少新K线检测,可能在同一根K线内重复触发交易逻辑
- 固定手数在高杠杆账户中可能造成过大风险敞口
- 止盈计算未归一化可能导致订单被拒绝
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
InpLots | 1.0 | 交易手数 |
InpTakeProfit | 200 | 止盈点数(pip) |
InpStopLoss | 50 | 止损点数(pip) |
InpTrailngMode | FixedPSAR | 追踪止损模式:无/固定/Parabolic SAR |
InpTrailingStop | 30 | 固定追踪止损点数(pip) |
InpPSAR_Step | 0.02 | Parabolic SAR加速因子步长 |
InpPSAR_Maximum | 0.2 | Parabolic SAR加速因子最大值 |
InpMACDOpenLevel | 3 | MACD开仓信号阈值(pip) |
InpMACDCloseLevel | 2 | MACD平仓信号阈值(pip) |
InpMATrendPeriod | 26 | EMA趋势判断周期 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。