voidOnStart() { string name = "ObjectThatDoesNotExist"; ulong begin = GetMicrosecondCount(); for(int i=0; i<10000; i++) int result = ObjectFind(0,name); printf("There are %i objects on the chart. ObjectFind() loop took %i μs", ObjectsTotal(0,-1,-1), GetMicrosecondCount()-begin); }
voidOnStart() { string name = "ObjectThatDoesNotExist"; ulong begin = GetMicrosecondCount(); for(int i=0; i<10000; i++) int result = ObjectFind(0,name); printf("There are %i objects on the chart. ObjectFind() loop took %i μs", ObjectsTotal(0,-1,-1), GetMicrosecondCount()-begin); }
我是这样做的(因此我的tick harvesting)。
我收获刻度线,然后根据自己的规格建立自己的.hst文件,从这些数据中生成离线图表。
说白了--这与策略 测试器无关。
目前,MT4和MT5之间似乎出现了令人沮丧的分裂。
在MT4中,我可以为任何我想要的东西创建离线图表。不同的时间框架,renko,范围,复合符号。我可以把这些离线图表当作标准图表。
但是,我必须收获我自己的ticks,这引起了一些麻烦。
相比之下,MT5让我可以访问我的经纪人的所有tick数据--太好了!但我不能创建一个离线图表。但我不能创建一个离线图表来使用这些数据。
我希望看到MT5通过提供对替代图表时间框架 和风格的本地支持来缩小差距。
你看,你又在对事实提出异议,把自己的观点强加于人,在别人不同意的地方不加理会。这正是我想避免的。随你怎么做吧!
更新后的费尔南多。这已经被列为独立的事情了。我们永远欢迎你的意见。非常感谢。
每个人都有发表意见的自由,但事实和数据更有价值。之前有人说MT5比MT4慢,那是一种观点。一个明显与事实相悖的观点,简直是可笑的,不值得讨论。
当有人试图把他的观点作为最终的真理,把观点当作事实来介绍时,问题就开始了。这种情况经常发生,有时甚至经常发生,以至于没有人注意,甚至不看一百次重复的意见作为法律提出。我绝不同意这种做法,在我担任版主期间,我也不会让这种行为发展下去。
之前有人说MT5比MT4慢,那是一种观点。这个观点明显与事实相悖,简直是可笑,不值得讨论。
事实上,我确实无意中发现了一个MT4比MT5快很多的情况--ObjectFind()。
在两个平台上运行同一个脚本。
{
string name = "ObjectThatDoesNotExist";
ulong begin = GetMicrosecondCount();
for(int i=0; i<10000; i++) int result = ObjectFind(0,name);
printf("There are %i objects on the chart. ObjectFind() loop took %i μs", ObjectsTotal(0,-1,-1), GetMicrosecondCount()-begin);
}
在MT4上的结果。图表上有0个对象。ObjectFind()循环耗时1499 µs
MT5上的结果:图表上有0个对象。ObjectFind() 循环耗时147318 μs
事实上,我确实在无意中发现了一个MT4比MT5快得多的场合--ObjectFind()。
在两个平台上运行同一个脚本。
{
string name = "ObjectThatDoesNotExist";
ulong begin = GetMicrosecondCount();
for(int i=0; i<10000; i++) int result = ObjectFind(0,name);
printf("There are %i objects on the chart. ObjectFind() loop took %i μs", ObjectsTotal(0,-1,-1), GetMicrosecondCount()-begin);
}
在MT4上的结果。图表上有0个对象。ObjectFind()循环耗时1499 µs
MT5上的结果:图表上有0个对象。ObjectFind()循环耗时147318μs
是的,我不是说MT5总是更快,而是在说这个帖子。
关于交易、自动交易系统和测试交易策略的论坛
为什么MT5比MT4好呢?它有更少的限制吗?
Osiris, 2017.01.22 07:17
MT5非常慢
在MT4中下单要快得多
我也可以证明这一经验
在家里,我只在我的主电脑上使用MT5,因为它相当耗费资源,而在我的Windows平板电脑上,虽然MT5可以工作,但它太慢了,我只能有效地正常使用MT4。
在我的VPS 设置中,我可以用较低的配置来处理MT4(甚至同时运行几个终端),但对于MT5,我必须设置一个更强大的配置,以获得同等的性能。
很明显,在突破最低门槛后,MT5的速度继续提升,非常容易超过MT4,而MT4仍然保持在相同的较低水平。
每个人都有发表意见的自由,但事实和数据更有价值。之前有人说MT5比MT4慢,那是一种观点。一个明显与事实相悖的观点,简直是可笑的,不值得讨论。
当有人试图把他的观点作为最终的真理,把观点当作事实来介绍时,问题就开始了。这种情况经常发生,有时甚至经常发生,以至于没有人注意,甚至不看一百次重复的意见作为法律提出。我永远不会同意这种做法,在我担任版主期间,我也不会让这种行为发展。
根据我的经验,MT5比MT4更耗费资源。这些资源包括内存、CPU和磁盘。如果工作量大,那么在同一台电脑上,MT5会比MT4慢。换句话说,如果硬件足够升级,你可以期待MT5比MT4快。
是的,你是对的。根据你的配置(图表中的条数,打开的图表 数量,指标和EA工作,新闻启用,市场观察中活跃的符号数量等),MT5可以消耗更多的资源。
正如你所说,只有在你的机器资源非常少的情况下才会影响速度。
非常感谢您的意见和评论。致以崇高的敬意和拥抱。
我也可以证明这个经验!
在家里,我只在我的主电脑上使用MT5,因为它相当耗费资源,而在我的Windows平板电脑上,虽然MT5可以工作,但它太慢了,我只能有效地正常使用MT4。
在我的VPS设置中,我能够在MT4上减少配置(甚至同时运行几个终端),但对于MT5,我必须设置一个更强大的配置,以获得同等性能。
很明显,在突破最低门槛后,MT5的速度继续回升,非常轻松地超过了MT4,而MT4仍然保持在相同的较低水平。