前两天看监管新闻说又要收紧零售杠杆,我心想那更得把回测做扎实点再上实盘,结果昨晚就卡在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的好几倍,估计是这块把内存吃满了,不知道有没有人遇到过类似情况。
我的环境是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的好几倍,估计是这块把内存吃满了,不知道有没有人遇到过类似情况。
