回测EA的时候会非常的慢,有什么好的办法吗?

 
在引用指标时,加上这句代码CopyBuffer(h,0,0,count,data),回测EA的时候会非常的慢,有没有什么办法解决呢?
 
Dazheng Jin:
在引用指标时,加上这句代码CopyBuffer(h,0,0,count,data),回测EA的时候会非常的慢,有没有什么办法解决呢?
算法过于复杂,将它简化,过去,现在,将来,都一样,你的算法与行情无关才对!
 
涛 苏 #:
算法过于复杂,将它简化,过去,现在,将来,都一样,你的算法与行情无关才对!

谢谢,不过没办法,我必须用到ZIGZAG指标,用到指标必须加这句 CopyBuffer,我把 CopyBuffer去掉速度就回很快,忘说了,我是mt5里编程

 
升级电脑到天花板,MT5可以用自带的云回测,全球无数电脑分出算力帮你测
 
Feng Chen #:
升级电脑到天花板,MT5可以用自带的云回测,全球无数电脑分出算力帮你测

也就 CopyBuffer了10个zigzag点,这样是不是有点杀鸡用牛刀了:)

 
优化算法。无须每个TICK复制一次。可以考虑,每个TICK仅复制当前柱,之前的柱在有新柱产生时再复制,这是一。二是更进一步,新K产生时不重新全部复制,仅对数组进行移位处理(去掉最前一个,然后将array[1]->array[2]……)
 
Dazheng Jin #:

谢谢,不过没办法,我必须用到ZIGZAG指标,用到指标必须加这句 CopyBuffer,我把 CopyBuffer去掉速度就回很快,忘说了,我是mt5里编程

zig也就是好看,其实作用不太大,不要纠结于指标,换用别的可以大概差不多的指标组合,差不多就行了。zig太慢了以至我13年就弃用。不就顶底么,用布林带也可以。不要说两者不同,肯定是不同的了,但意思差不多。布林带20,0,6触碰上轨可以假设为顶。

估计你不太会接受这个说法。

 
什么函数能返回是否有未成交的委托?
 
Yin Zhou Luo #:
优化算法。无须每个TICK复制一次。可以考虑,每个TICK仅复制当前柱,之前的柱在有新柱产生时再复制,这是一。二是更进一步,新K产生时不重新全部复制,仅对数组进行移位处理(去掉最前一个,然后将array[1]->array[2]……)

我也是用這方法才解決回測過慢的問題,而且這方法還有個好處,m1與tick數據回測出來的結果會幾乎相同,使用真倉實測也幾乎與回測相同。

 
花钱买云服务,速度就快多了
 
Feng Chen #:
升级电脑到天花板,MT5可以用自带的云回测,全球无数电脑分出算力帮你测

我的测试也很慢,测试一年,时间周期1分钟,日期一年,需要测试四天时间才完成,升级电脑会起作用吗,我测试时见到电脑CPU和内存占用也不大呀

原因: