策略 intermediate 9 分钟阅读

EA 参数优化——如何调参而不过拟合

MT5 策略测试器 EA 参数优化实操指南:涵盖前推分析、避免曲线拟合、稳定性测试,以及何时停止优化、何时开始实盘交易的判断标准,帮助您找到真正有效的参数。

发布于 · 审阅于

EA 优化是寻找能提升策略历史表现的参数值的过程。操作正确时,它能精炼真实的交易优势。操作错误时,它会产生在历史数据上看起来出色、但在实盘中立刻失败的参数。两者之间的区别,在于是否坚守前推分析的原则。

优化的核心问题

优化是在参数空间中搜索,寻找能在历史数据集上使所选指标(总收益、夏普比率、盈利因子)最大化的参数组合。问题在于:只要参数组合足够多,您总能找到在任何历史数据——包括随机噪声——上看起来出色的设置。

这就是曲线拟合(也称过拟合)。曲线拟合的 EA 是在死记硬背回测期间的特定价格走势,而非发现真实优势。它在前推测试中会跑不好或直接失败。

前推分析的解决方案

对抗曲线拟合的良方是样本外测试。保留一部分历史数据——通常是最近的 20-30%——作为从不参与优化的”验证集”。然后:

  1. 在较早的样本内数据(例如 2020-2024 年)上优化参数
  2. 在样本外数据(例如仅 2025 年)上测试最优参数,不做任何进一步调整
  3. 若表现在样本外期间依然稳健,则这些参数具有一定的真实预测价值

MT5 的策略测试器内置”前推优化”模式,可在滚动窗口上自动完成这一过程。

稳定性测试——实用捷径

若前推优化显得复杂,检测过度优化的一个更简单信号是参数敏感性。找到最优参数后,测试附近变量:若默认 ATR 倍数为 2.0,同时测试 1.8 和 2.2。

  • 稳定参数:1.8 和 2.2 下的表现与 2.0 相近。结果对该参数不高度敏感——优势是真实的。
  • 曲线拟合参数:在 1.9 或 2.1 时表现急剧下降。2.0 这个值是专门针对历史数据优化出来的;稍有变动就会导致结果崩溃。

始终优先选择处于”表现平坦区”的参数,即使其绝对峰值表现略低于更敏感的最优解。

应该优化什么(以及不应该优化什么)

应该优化

  • 止损倍数(基于 ATR 的止损具有自然参数范围)
  • 趋势过滤阈值(ADX 水平、EMA 周期)
  • 时段过滤器(时间窗口入场条件)

不应该优化

  • 每笔交易风险百分比——这是仓位管理决策,不是优势参数
  • 以最大化回测利润为目的设置的出场目标——未来市场不是历史市场的镜像

何时停止优化

一条实用的停止规则:一旦您在样本外期间的夏普比率超过 1.5,且您的前推效率(样本外利润 / 样本内利润)超过 0.5,就停止优化。在此阶段进一步细化只会增加曲线拟合风险,而不会带来相应的优势提升。

上线前的最后检验:在模拟账户上运行优化后的 EA 一个月,逐笔对比结果与回测。若模拟表现在回测夏普比率的 20% 以内,则参数可行。若模拟严重跑不赢,请重新检查回测设置中的成交模型假设(点差、滑点)。