关于MT5策略测试器的多线程回测设置,如何压榨CPU性能缩短等待时间,这篇可能最接地气

较热63.9
登录发帖
Exness 推荐平台

入金门槛低,出金到账快,支持多种账户类型

FSA(塞舌尔)/FCA(英国) / CySEC(塞浦路斯) · 最低入金 $130
感性的路人甲
感性的路人甲 楼主 2026-9-14 21:47:27 浏览 539 回复 5 阅读 1 分钟
Lv.1 新手汇友 等级 Lv.1 主题 4 帖数 9 积分 2149 汇币 1901
1楼
昨晚又是盯着进度条到凌晨一点半,眼看着一个欧美M15的十年回测跑了快四十分钟才到2019年,实在受不了了,干脆把MT5测试器的多线程设置翻出来折腾了一遍。这篇文章就写给和我一样刚接触这块的朋友,老手可以直接跳过。
先说结论:MT5策略测试器默认的线程调度其实挺保守的,如果你的CPU核心数够多但没做任何设置,等于白白浪费了一半算力。我的机器是8核16线程,之前跑一个含2000次参数优化的网格策略,全跑完要将近三小时,调整之后压到了五十分钟左右。
具体怎么弄,我按自己踩坑的顺序列一下:
  • 打开“代理”设置:在测试器界面右键选择“代理”,或者从“工具-选项-代理”进去。关键是把“本地代理”启用,并且把“使用的本地代理核心数”设成物理核心数,不是逻辑线程数。我一开始设成16,结果因为超线程争抢缓存,反而比8核慢了约12%,这个坑我踩了两天才发现。

  • 测试器本身的“线程数”选项:在策略测试器的“设置”标签页里,有个“线程”参数,默认是1。这里要理解一个逻辑——它控制的是同时进行的优化任务数,不是单次回测的线程。做参数优化时把它设成物理核心数减1,留一个核给系统,不然鼠标都会卡。但如果你只是跑单次回测,这个值设多少都没用,因为单次回测本身就是单线程的。

  • 历史数据质量比线程数更重要:我一开始死活跑不快,后来发现是欧美M1的数据只下载了最近两年,测试器一边跑一边补数据,CPU全耗在IO上了。建议先在“品种”里把对应周期的历史数据完整下载,尤其是要做tick级回测的话,数据量能差出几十倍。

  • EA代码本身的写法:这个算进阶但很关键。如果你的EA里用了大量Sleep()、WebRequest或者每tick都刷新对象,多线程优化时每个线程都会卡在等待上。我把自己写的均线EA里一个每tick调用一次的Comment()去掉之后,同样参数下回测时间直接少了18%。

最后说个观察:多线程优化时CPU占用率如果上不去,八成是数据IO或者内存带宽瓶颈,不是线程数没设对。我现在的习惯是跑优化前先开任务管理器看一眼磁盘活动时间,超过30%就先处理数据。
你们平时跑优化一般开几个线程?有没有遇到过线程数拉满反而更慢的情况,交流。

补充一下,那个“本地代理核心数”设成物理核心数后,记得把“代理”窗口里的“使用远程代理”也关掉,不然本地代理跑着跑着还是会偷偷连远程,速度又掉回去了。
0 回复 众裁0 复制
#1
MapleHaze
MapleHaze #2· 2026-9-15 21:08:26
2楼
本地代理核心数设物理核这个点太真实了,我当初也设成16,超线程抢缓存反而慢了,后来改回8核才正常。不过我觉得线程数减1留系统这招,跑优化时确实稳。
赞 回复 众裁0 复制
2026-9-15 21:08:26 #2
MistyMeadow
MistyMeadow #3· 2026-9-15 21:18:16
3楼
楼主说单次回测线程设多少都没用,因为它是单线程的——这我就懵了,那我跑单次欧美M15十年回测慢,到底卡在CPU还是数据IO啊?求大佬指点下怎么判断瓶颈😅
赞 回复 众裁0 复制
2026-9-15 21:18:16 #3
MistyMeadows
MistyMeadows #4· 2026-9-16 10:01:03
4楼
你提到历史数据不完整会导致CPU耗在IO上,这点我深有体会。不过我觉得判断瓶颈得看测试器的日志,如果tick数据每秒处理量忽高忽低,基本就是IO没跑满,跟CPU线程数关系不大。
赞 回复 众裁0 复制
2026-9-16 10:01:03 #4
vincent94
vincent94 #5· 2026-9-18 10:02:17
5楼
楼主说单次回测是单线程所以线程设多少没用,这点我认同。但我遇到的情况是,卡不卡还得看日志里tick处理速度稳不稳。之前我跑欧美M15十年回测,日志显示tick速度一路平稳,那才是真单线程CPU瓶颈;要是忽高忽低,基本是数据IO在拖。
赞 回复 众裁0 复制
2026-9-18 10:02:17 #5
KeepGoing5
KeepGoing5 #6· 5 天前
6楼
MistyMeadow问单次回测卡CPU还是IO,我踩过同款坑:日志里tick速度平稳就是纯CPU单线程瓶颈,忽高忽低才是数据IO在拖。
赞 回复 众裁0 复制
5 天前 #6
THE END
本帖内容仅供学习交流,不构成任何投资建议。外汇交易存在高风险,请谨慎参与。
← 上一帖 大家小黄鱼吃的咋样 下一帖 → VPS延迟从8ms飙到47ms,排查三天发现是机房路由绕路