EA-53526 · 趋势跟踪
SUPERMACBOT BY THE GUARDIAN FOREX TV
该EA通过MQL5标准库CExpert框架组合MACD和两条移动平均线信号来生成趋势跟踪的交易入场和出场。它使用固定手数进行资金管理,并使用基于MA的移动止损来保护利润。当加权综合信号超过可配置阈值时,策略开仓。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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信号和两个不同周期的移动平均线信号(12周期SMA和26周期SMA)。入场条件是当三个信号的加权综合值超过开仓阈值(默认10)时开仓,反之超过平仓阈值时平仓。出场条件包括固定止损(1000点)和固定止盈(5500点),以及基于12周期SMA的移动止损跟踪。仓位管理采用固定手数模式(默认0.06手),不根据账户余额动态调整。资金管理使用CMoneyFixedLot类,设置10%的百分比参数但实际使用固定手数,存在参数语义不明确的问题。策略依赖MQL5标准库的CExpert信号聚合机制,各信号权重均为1.0,即三个信号同等重要。
优势
- 使用MQL5标准库CExpert框架,结构规范,代码基于成熟的信号聚合体系
- 设置了固定止损(1000点)和止盈(5500点),具备基本的风险控制
- 多信号过滤机制(MACD+双MA)可以减少虚假信号,提高入场质量
- 采用MA移动止损跟踪利润,能够锁定浮动盈利
劣势
- OnInit函数中存在致命逻辑错误:第81行和第97行提前return INIT_SUCCEEDED,导致信号创建、过滤器配置、移动止损和资金管理的初始化代码永远不会执行
- 固定手数模式缺乏自适应仓位调整,在不同账户规模下风险暴露不一致
- 止损1000点和止盈5500点的比例虽然合理(1:5.5),但止损点数绝对值较大,在高波动品种上可能仍不足
- 没有新增K线检查机制,在Expert_EveryTick=false时虽按新Bar交易,但缺少显式的新Bar检测逻辑
- Money_FixLot_Percent参数在固定手数模式下语义不清,容易误导用户
改进建议
- 修复OnInit函数中的提前return问题,删除第81行和第97行的return INIT_SUCCEEDED,确保所有初始化代码正常执行
- 增加新Bar检测逻辑,防止同一根K线上重复开仓,提高交易效率
- 增加点差过滤和交易时段过滤,避免在高点差和非活跃时段交易
风险评估
总体风险: 高风险
- OnInit函数中致命的提前return导致EA实际上不会初始化任何交易逻辑,运行时不会按预期开仓或管理仓位,可能产生不可预测的行为
- 没有新增Bar检查机制,可能在同一Bar上多次触发信号
- 缺少点差过滤,高点差环境下止损容易被打掉
评估得分
代码质量1.0
策略逻辑2.0
风险管理2.0
稳健性1.0
创新性1.0
文档2.0
综合1.5
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Signal_ThresholdOpen | 10 | 开仓信号阈值[0...100] |
Signal_ThresholdClose | 10 | 平仓信号阈值[0...100] |
Signal_PriceLevel | 0.0 | 执行交易的价位 |
Signal_StopLevel | 1000.0 | 止损水平(点数) |
Signal_TakeLevel | 5500.0 | 止盈水平(点数) |
Signal_Expiration | 4 | 挂单过期时间(K线数) |
Signal_MACD_PeriodFast | 12 | MACD快速EMA周期 |
Signal_MACD_PeriodSlow | 24 | MACD慢速EMA周期 |
Signal_MACD_PeriodSignal | 9 | MACD信号线周期 |
Signal_MACD_Applied | PRICE_CLOSE | MACD应用价格 |
Signal_MACD_Weight | 1.0 | MACD信号权重[0...1.0] |
Signal_0_MA_PeriodMA | 12 | 快速MA周期 |
Signal_0_MA_Method | MODE_SMA | 快速MA方法 |
Signal_1_MA_PeriodMA | 26 | 慢速MA周期 |
Signal_1_MA_Method | MODE_SMA | 慢速MA方法 |
Trailing_MA_Period | 12 | 移动止损MA周期 |
Money_FixLot_Percent | 10.0 | 资金管理百分比 |
Money_FixLot_Lots | 0.06 | 固定交易手数 |
同类 EA:趋势跟踪
回测是历史模拟,不代表未来收益,不构成投资建议。