MT4-测试仪 VS MT5-测试仪 - 页 6

 
Alain Verleyen:

但你的原始版本与Build 1596的速度要慢得多,所以你原来与MT4的比较必须更新

你可能使用的是一个旧版本的库。你可以随时在这里 找到最新版本。


通过MT5Bridge您的代码 转换为MT4。MT4build1072

EURUSD,M1: 1865415 tick events (7292 bars, 1865515 bar states) processed in 0:00:07.645 (total time 0:00:08.362)


原始代码

EURUSD,M1: 1865415 tick events (7292 bars, 1865515 bar states) processed in 0:00:03.744 (total time 0:00:04.493)


转换后的结果是相同的!速度下降了一半。

 
Yuriy Zaytsev:

写一个最优算法更有意义!

如何?
 
-Aleks-:

如何?
每个周期获取一次所需数据。只在需要时才循环,而不是在每次打勾 时。
 
-Aleks-:

如何做到这一点?
在开始时获得历史,一旦并记住它。
然后,只监控进入历史的订单
 
Artyom Trishkin:
每个周期获得一次必要的数据。只在需要时才循环,而不是在每次打勾 时。

我的EA只在开盘价上工作。故事越大,工作速度越慢--慢了好几倍。

 
Yuriy Zaytsev:
在启动时获得历史记录,一次并记住它。
然后,只监控进入历史的订单

测试仪在启动时没有历史记录...
 
-Aleks-:

当你开始时,测试者没有历史记录。

如果我们只谈论测试者,当然没有。

在任何情况下,你都不应该在每一个嘀嗒声或甚至每一个柱子上都去看整个历史。

如果测试是在ticks上进行的,那么只需选择进入历史的 一个订单 即可。

-Aleks-:

我的专家顾问只对开盘价工作。历史越大,它的工作速度越慢。


如果测试是在条形图上,几个订单可能已经进入历史,这意味着只有这些订单需要被追踪。

 
-Aleks-:

我的EA只在开盘价上工作。故事越大,工作速度越慢--慢了好几倍。

在历史列表中,关闭的头寸 越多,周期越长。将周期限制在一个足够小的历史深度。
 
Artyom Trishkin:
历史列表中关闭的头寸 越多,周期就越长。将周期限制在一个足够小的历史深度。


我怀疑测试仪开始变慢不是因为订单本身,而是因为它们的修改--这个过程发生在每个柱子上。


Yuriy Zaytsev:

如果我们只说到测试者,当然不存在。

在任何情况下,你都不应该在每一个刻度上,甚至在每一个柱子上都去看整个历史。

如果测试是在ticks上运行 - 那么只需选择一个进入历史的订单 即可。


如果测试是在条形图上 - 几个订单可能已经进入历史,这意味着只有这些订单必须被追踪。


我很少翻阅历史--速度减慢是由于历史本身的积累--在我看来是如此。

如果你能按日期(该日期中的第一个数字)获得订单号的信息,那么就可以避免大面积的超调--按落在该范围内的数字去看订单。

 
-Aleks-:


我怀疑测试仪开始变慢不是因为订单本身,而是因为它们的修改--这个过程发生在每个柱子上。



我很少翻阅历史--速度减慢是由于历史的积累,就像这样--对我的感觉。

如果能够通过日期(这个日期中的第一个数字)获得订单号的信息,那么就可以避免大面积的过冲--通过落在这个范围内的数字来搜索订单。

bool  HistorySelect(datetime  from_date, // с даты 
                    datetime  to_date);  // по дату