EA-52152 · 多周期

AdaptiveTrader_Pro_Final_EA

该EA使用RSI超买超卖信号,配合双周期移动平均线趋势过滤,在M5图表上入场交易。它具有通过暴力回测进行自适应参数优化、基于ATR的仓位管理和移动止损,以及根据历史胜率动态调整风险比例的功能。系统会定期重新优化RSI周期、ATR倍数和移动止损/止盈倍数。

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

基本信息

分类多周期
风险中等
爆仓风险低
评分★★☆☆☆
类型交易型 EA
周期M5, H1
指标RSI, ATR, SMA
作者—

回测结果(H1,约 1 年)

品种盈亏年化最大回撤交易数胜率夏普恢复因子最长连亏每笔期望状态
EURUSD0.00%0.00%0.00%0—————零交易
GBPUSD0.00%0.00%0.00%0—————零交易
USDJPY0.00%0.00%0.00%0—————零交易
XAUUSD0.00%0.00%0.00%0—————零交易

这个 EA 从未交易的原因:开仓要求同一根 K 线上既出现信号、又出现极端的震荡指标读数,一年的小时线里一次都没碰上。

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

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

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

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

策略分析

策略概念是基于多周期趋势确认的均值回归思路,在M5周期使用RSI识别超买超卖区域,同时要求价格在M5和H1两个周期的移动平均线同侧才能入场。买入条件为RSI低于30且价格高于M5和H1的SMA均线,卖出条件为RSI高于70且价格低于两周期SMA均线。出场条件包括基于ATR倍数的固定止盈止损,以及三档渐进式移动止损——当浮盈超过2倍ATR时将止损移至价格-1.5倍ATR,超过1倍ATR时移至价格-1倍ATR,否则保持0.5倍ATR距离。仓位管理使用账户余额乘以风险百分比除以ATR止损距离来计算手数,并遵守品种的最小/最大手数和手数步长约束。资金管理方面,系统每4小时根据各品种的胜率动态调整风险比例——胜率低于40%时降低0.05%,高于60%时提高0.05%,但不超过初始设定的最大风险比例。此外,每小时进行一次参数暴力优化,遍历RSI周期和各ATR倍数的组合以寻找最优参数集。

优势

  • 多周期趋势确认(M5+H1)减少了逆势交易的风险
  • ATR-based动态仓位管理和止损使风险适应市场波动性
  • 根据历史胜率动态调整风险比例,具有一定的自适应风控能力
  • 包含点差过滤和新闻回避机制,避免不利市场环境入场
  • 指标句柄在OnDeinit中正确释放,避免资源泄漏

劣势

  • 回测函数BacktestWithParameters是空壳占位符,参数优化实际上没有任何效果,所有参数组合的评分都是0
  • ApplyTrailingStop中没有遍历持仓,直接使用PositionGetInteger但未先选择持仓,会导致获取到错误或未定义的持仓数据
  • tradeActive标志只在开仓时设为true但从未重置为false,导致每个品种只能开一次仓后再也无法交易
  • BreakEvenMultiplier和PartialTakeProfitPercent参数定义了但从未在代码中使用
  • 新闻检查函数IsHighImpactNewsUpcoming是占位符,始终返回false,新闻回避功能形同虚设
  • OnTick中每次tick都调用LogInfo打印日志,在高频品种上会产生大量冗余日志影响性能

改进建议

  • 实现真正的回测逻辑或使用MQL5的OnTester框架,使参数优化能产生有效结果;或者移除优化功能避免误导用户
  • 在ApplyTrailingStop中使用PositionSelect或遍历所有持仓来正确选择对应品种的持仓,并在持仓关闭时将tradeActive重置为false
  • 实现BreakEvenMultiplier和PartialTakeProfitPercent的实际逻辑,或删除这些未使用的参数以减少混淆

风险评估

总体风险: 中等

  • 参数优化功能完全无效(回测占位符),可能导致用户误信已优化而实际使用默认参数
  • tradeActive永不重置导致品种锁死,但在锁死前可能因移动止损逻辑错误而修改错误持仓的止损
  • 缺少新K线检测,每个tick都执行信号检查和止损修改,可能在同一根K线上多次开仓或频繁修改止损
  • 止损和止盈使用ATR绝对值而非点数,未考虑品种报价精度,可能导致止损距离不合理

评估得分

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

参数

参数默认值说明
MaxRiskPercent0.2每笔交易的风险百分比
OptimizationInterval3600参数优化间隔(秒)
InpMagicNumber121300EA交易的魔术号
MaxSimultaneousTrades1允许同时持有的最大交易数
TrendPeriod20M5周期趋势均线周期
BreakEvenMultiplier1.5达到此ATR倍数后移动止损到保本
PartialTakeProfitPercent0.5在第一止盈位平仓的仓位比例
PerformanceCheckInterval14400性能检查间隔(秒)
MaxSpreadPoints20允许开仓的最大点差
NewsAvoidanceMinutes30高风险新闻前后的回避时间(分钟)
HigherTimeframePERIOD_H1高周期趋势确认的时间框架
HigherTimeframeTrendPeriod50高周期趋势均线周期
RSI_Min_Period8RSI优化最小周期
RSI_Max_Period14RSI优化最大周期
ATR_Min_Multiplier1.0ATR倍数优化最小值
ATR_Max_Multiplier2.0ATR倍数优化最大值
TrailingStop_Min_Multiplier1.0移动止损倍数优化最小值
TrailingStop_Max_Multiplier2.0移动止损倍数优化最大值
TrailingTP_Min_Multiplier1.0移动止盈倍数优化最小值
TrailingTP_Max_Multiplier2.0移动止盈倍数优化最大值

同类 EA:多周期

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

订阅每周 Arena 周报

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