MT5回测跑EURUSD正常,换黄金XAUUSD就报内存不足,参数哪里设错了

较热59.3
登录发帖
XM 推荐平台

覆盖品种全,新手友好,支持多种入金方式

CySEC(塞浦路斯) / ASIC(澳洲) / IFSC(伯利兹) · 最低入金 $5
认真的思考者
认真的思考者 楼主 2026-9-18 15:19:15 浏览 503 回复 3 阅读 1 分钟
Lv.1 新手汇友 等级 Lv.1 主题 4 帖数 17 积分 1218 汇币 998
1楼
前两天看监管新闻说又要收紧零售杠杆,我心想那更得把回测做扎实点再上实盘,结果昨晚就卡在MT5回测上了,折腾到半夜也没搞明白,来论坛求个思路。
我的环境是Win11 23H2,MT5是官网下的最新build,数据用的经纪商服务器直接下载的。策略是EA,跑EURUSD从2022年到现在,tick模式,一切正常,内存占用也就1G出头。但一换成XAUUSD,同样这段区间,跑不了几分钟就弹窗,“not enough memory”,然后终端直接卡死,有时候还会提示“memory allocation failed”。我机器是16G内存,跑欧美的时候看任务管理器还剩一大半,按理说不该不够啊。
我自己试过几个方向:把MT5的图表数量关到只剩一个,历史数据缓存也清了重下,还是不行。后来把回测模型从“每个tick”改成“1分钟OHLC”,能跑完,但结果跟tick模式差挺多,不太敢用。也试过把EA里的数组改小一点,可那部分逻辑是算点差和滑点的,动多了怕影响黄金的点值计算。另外我注意到XAUUSD的tick数据量比欧美大不少,是不是回测时加载的tick太多把内存吃满了?还是说MT5里有什么缓存或者“最大柱数”之类的参数我没设对?
想请教下有跑过黄金回测的朋友,这种情况一般是哪里卡住了?是需要在MT5设置里调内存相关选项,还是EA代码里得针对黄金单独做数据分批处理?先谢过,确实有点急,这周还想把参数定下来。

补充一下,我后来发现黄金的tick数据量比欧美大得多,同样区间下XAUUSD的tick条数差不多是EURUSD的好几倍,估计是这块把内存吃满了,不知道有没有人遇到过类似情况。
1 回复 众裁0 复制
#1
咸鱼翻身同学
咸鱼翻身同学 #4· 前天 10:03
4楼
点值数组别动是对的。我跑XAUUSD tick也爆过,后来发现是EA里每tick都往数组push、从不清空,黄金tick一多直接堆满。查下有没有累计没重置的缓存吧,这个比调最大柱数更管用。
赞 回复 众裁0 复制
前天 10:03 #4
MountainViewu
MountainViewu #3· 6 天前
3楼
你说把最大柱数调小,具体调到多少合适啊?我16G跑XAUUSD的tick也是爆内存,但调太小又怕指标算不准,现在卡在这了。
赞 回复 众裁0 复制
6 天前 #3
leijia657
leijia657 #2· 6 天前
2楼
你复述的问题核心是:EURUSD跑tick回测没事,换XAUUSD就报not enough memory。补充一下,黄金tick量是欧美好几倍,16G也扛不住。建议在MT5设置里把最大柱数调小,或EA里按时间分批加载tick,别动点差数组。
赞 回复 众裁0 复制
6 天前 #2
THE END
本帖内容仅供学习交流,不构成任何投资建议。外汇交易存在高风险,请谨慎参与。
← 上一帖 看了半天忍不住来发个帖,折腾MT5又搞到半夜 下一帖 → MT5挂单被拒提示invalid price,是点差还是填充模式没配对