首页 / 交易学院 / 小布知识库 / 用 MQL5 云网络把 EA 优化提速上百倍
用 MQL5 云网络把 EA 优化提速上百倍
☁️

用 MQL5 云网络把 EA 优化提速上百倍

本地代理、局域网代理区、云网络与分布式计算

回测与测试 难度 · 进阶 2026-07-12 13 分钟阅读
#回测#优化#云网络#代理#分布式计算

一、什么是云网络优化

MT5 的「云网络(MQL5 Cloud Network)」是一群志愿者提供的分布式计算资源,你可以用它加速策略测试器的遗传优化:把参数组合拆成小任务,分发到网络里的多台机器并行跑,再把结果回收汇总。对需要扫海量参数的 EA,本地跑几天的事,云网络几小时就能出。

本质是把「单机的暴力搜索」变成「众包的并行搜索」。代价是要按计算量付费(或你贡献空闲算力抵扣),且要信任网络节点跑你的 EA——所以只在用标准、无害的回测逻辑时启用。

二、怎么启用

在策略测试器的「代理」页勾选使用 MQL5 云网络,登录 MQL5 社区账号并充值/贡献算力。之后选「遗传算法」优化模式,测试器会自动把种群分发到网络。你本地只需汇总与筛选最优结果,重活交给网络。

三、遗传优化的评分函数

云优化要有一个明确的「谁更好」标准,这就是 OnTester 返回的评分。评分设计决定优化方向:单纯返回总盈利会诱导过拟合尖峰,更好的是风险调整指标(如盈利因子×回撤倒数)。评分写对了,网络才帮你找到稳健参数而非漂亮幻觉。

double OnTester()
{
   double pf = TesterStatistics(STAT_PROFIT_FACTOR);
   double dd = TesterStatistics(STAT_EQUITY_DDREL_PERCENT);
   return (pf>0) ? pf*(100.0/(100.0+dd)) : -1;  // 风险调整评分
}

四、并发与额度控制

云网络按核时计费,无节制地开大量代理会很快烧钱。建议先用本地少量代数跑通逻辑、定好评分,再用云网络做大规模搜索;并设好代理数量上限与预算上限,避免一夜爆单。优化是手段,不是烧钱竞赛。

⚠ 别把优化当印钞机
云网络只是更快地搜索参数空间,不会让烂策略变好。若基础逻辑期望为负,再快的优化也只找到「在历史里最不烂」的参数,样本外照样崩。先确认策略有正期望,再谈优化。

五、结果管理

优化产出一堆参数组合,要按评分排序,挑前几名做样本外验证:用没参与优化的历史段跑一遍,看是否仍稳健。只信样本外也稳的前几名,其余再漂亮也是拟合噪声。把每次优化的参数与评分归档,方便对比迭代。

六、本地 vs 云

低频、参数少的策略,本地多核足够,不必上云;高频扫参、遗传算法大种群,才值得用云网络换时间。折中做法:本地做粗筛定范围,云网络做精搜。这样既省算力钱,又不耽误迭代速度。

七、常见坑

八、设计抗过拟合的评分函数(进阶)

基础评分只 return 净利润,优化器会狂找「在历史里最赚」的参数,多半是过拟合。更稳的评分要惩罚不稳定与风险:用 profit factor(总盈利除以总亏损)、recovery factor(净利润除以最大回撤)、甚至要求最少成交笔数,把「靠一两次运气赚大钱」的组合压下去。

还可以在 OnTester 里叠加惩罚项:若最大回撤超过阈值直接给低分,若持仓时间过长也扣分。评分函数就是你对「好策略」的定义,定义得越贴近真实目标,云优化找出来的参数才越接近实盘可用,而不是只会在样本内好看。

double OnTester()
{
   double pf = TesterStatistics(STAT_PROFIT_FACTOR);
   double rf = TesterStatistics(STAT_RECOVERY_FACTOR);
   double dd = TesterStatistics(STAT_EQUITY_DD);
   double tr = TesterStatistics(STAT_TRADES);
   if(tr < 30 || dd > 0.25) return 0.0;   // 样本太少或回撤过大直接弃
   return pf * rf;                         // 兼顾盈利质量与回撤恢复力
}
✦ 优化器只认你给的数字
你给净利润,它就找净利润最大的参数;你给质量乘恢复力,它才找稳健的参数。评分函数写歪,云网络再快也是南辕北辙。

九、样本外验证与过拟合识别

云优化跑完,别急着上实盘。把参数按评分排序,取前几名,用没参与优化的历史段(样本外)重跑一遍,看表现是否仍接近样本内。若样本内漂亮、样本外崩塌,就是典型过拟合——这组参数只记住了历史噪声。

进阶做法是 Walk-Forward(滚动窗口):用 2019 到 2022 优化、2022 到 2023 验证,再往前滚一截重新优化验证,看参数是否稳定可迁移。能跨窗口保持正向的参数,才值得小仓试实盘;否则宁可弃用,云网络省下的时间不该用来给烂策略找看起来不错的参数。

十、小结

✦ 云网络是加速器,不是点金棒
它让你更快搜索参数,但不改变策略本身的质量。先有正期望的策略与靠谱的评分函数,云网络才物尽其用;否则只是更快地找到漂亮的幻觉。

常见问题

按计算量计费,也可通过贡献自己闲置算力抵扣。建议设预算与代理上限,先用本地跑通逻辑再上云,避免失控。
按 OnTester 评分排序后,必须用样本外(未参与优化的历史段)验证前几名是否仍稳健;只信样本外也稳的,其余多为拟合噪声。
不能。云网络只加速搜索,不改变策略期望。期望为负的策略,优化只会找到「历史里最不烂」的参数,样本外照样崩。