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

 
fxsaber:

我不打算争论。我请熟悉MQL4的论坛用户看一下这个简短的源代码,并解释一下Renat的意思。


我一定是搞错了,但我看不到MT4中处理历史的地方。请帮助。

这并不严重。

而且很简略。完全 "误解 "了一个明确的解释(任何为交易数据而攀登的OrderXXX函数都是完全的MT4/MT5历史调用)和数千亿次无用调用的哑铃循环,清楚地表明了这一点。

 
fxsaber :

我不会争论。我请熟悉MQL4的论坛成员,观看这个简短的源代码,并解释Renat是什么意思。


也许我错了,但我没有看到在近距离内,我们在MT4的历史工作。请帮助。

雷纳特说得非常清楚和正确。在没有 "mql4 "库的情况下编写你的mql5 EA,你会看到巨大的区别。 mql5/MT5有足够多的实际问题,不需要发明新的问题。

翻译。

雷纳特说得非常清楚和正确。编写一个没有 "mql4库 "的mql5 EA,你会看到一个巨大的区别。mql5/MT5的问题已经够多了,不需要再发明新问题。

 
Renat Fatkhullin:

这并不严重。

所以这是一个纲要。对明确的解释完全 "误解"(任何爬过交易数据的OrderXXX函数都是对MT4/MT5历史的全面参考),以及数以千亿计的无用调用的愚蠢循环清楚地表明这一点。

从文件 中可以看出

订单总数

返回未结订单和挂单的总数。

intOrdersTotal()。

返回的值

未结和待结订单的总金额。

订单历史总数

返回当前账户历史中关闭和删除的订单数量,在客户终端中加载。

intOrdersHistoryTotal()。

返回的值

账户历史中关闭和删除的订单数量,加载到客户终端。历史列表的大小取决于终端的 "账户历史 "标签的当前设置。

Торговые функции - Справочник MQL4
Торговые функции - Справочник MQL4
  • docs.mql4.com
Торговые функции - Справочник MQL4
 
fxsaber:
来自文件

你为什么要拖延?

你有十几个函数OrderSelect、OrderProfit等。你不明白什么是OrderSelect

数据库中有超过20万个交易,你在每个tick上做SelectOrderFromAllBase 200,000次。在一次运行中,有1,800,000只虱子。

所以这个测试只是关于交易历史的愚蠢扫描。


还有一件事--在测试器中,无论终端的设置如何,历史记录都是完全可用的。
 
你有十几个函数OrderSelect ,OrderProfit,等等。你不明白什么是来自整个数据库的OrderSelect?数据库里有超过200000个交易,而你每隔200000次进行OrderSelect。在一次运行中,有1,800,000只虱子。因此,测试纯粹是对交易历史的傻瓜式扫描。
还有一件事--在测试器中,无论终端本身的设置如何,历史记录都是完全可用的。

我理解雷纳特。优化编写的算法不应该在每次勾选时 进入历史。特别有趣的是,如果历史上有几千甚至几百个交易。在开始时检查一次历史记录就足够了,你可以使用OnInit,然后只需跟踪短暂的历史补货。

 
Renat Fatkhullin:

你为什么要拖延?

你有十几个函数OrderSelect、OrderProfit等。你不明白什么是OrderSelect

我觉得禁令就在眼前。所有的人都沉默不语...

以下是文件 中的另一句话

顺序选择

选择一个订单以继续处理它。

boolOrderSelect(
intindex,// 订单的索引或票据。
intselect,// 选择方法的标志
intpool=MODE_TRADES//选择的数据源
);

参数

门票

[in] 订单索引或订单号,取决于第二个参数。

选择

[in] 选择方法的标志。可以是以下数值之一。

SELECT_BY_POS - 索引参数包含列表中订单的索引号。
SELECT_BY_TICKET - 索引参数包含票号。

pool=MODE_TRADES

[in] 要选择的数据的来源。当选择参数等于SELECT_BY_POS时使用。它可以是以下数值之一。

MODE_TRADES (默认) - 在未平仓和挂单中选择订单
MODE_HISTORY - 该订单在已关闭和已删除的订单中被选中。

OrderSelect - Торговые функции - Справочник MQL4
OrderSelect - Торговые функции - Справочник MQL4
  • docs.mql4.com
OrderSelect - Торговые функции - Справочник MQL4
 
Yuriy Zaytsev:

我理解雷纳特。一个写得很好的算法不应该在每次打勾 时都要去看故事。

在什么时候?
 

对了,事实证明,只有未完成的订单被检查。我没有进入图书馆,以为是在扫描历史。

所以我关于十亿美元的历史扫描的说法是错误的。我们需要看得更深,尽管很明显,这关系到数十万个交易。

对不起,我翻了一下。
 
Renat Fatkhullin:

对了,事实证明,只有未完成的订单被检查。我没有进入图书馆,以为是在扫描历史。

这是MQL4,许多人已经忘记了。我使用它并不是为了跨平台,只是在MT5中使用时非常方便(我几乎从不使用MT4)。

我必须重申,我对大纲不感兴趣。我想进行一次建设性的讨论。到目前为止

关于交易、自动交易系统和策略测试的论坛

MT4-测试仪 VS MT5-测试仪

fxsaber, 2017.05.08 09:13

1598比1596工作得更快。而且它甚至在根本不使用历史功能的地方也能发挥作用。显然, 终端本身在运行过程中造成了其内脏的这些先前的缓慢功能

纠正了,很好。如果已经很好的MT5测试器变得更好,涵盖MT4+TDS的功能,那将是非常好的。

这样的测试器设置有时确实是有需求的。如果MT5能在不远的将来允许这样做,那就太好了。


ZS与此同时,从比较中几乎立即收到了一个奖金。看起来又有一个人在成熟了。

 

这不是关于你,而是关于这样一个事实,即一个正确编写的算法不需要在每一次勾选时都进入历史。