错误、漏洞、问题 - 页 1862 1...185518561857185818591860186118621863186418651866186718681869...3184 新评论 fxsaber 2017.04.20 09:11 #18611 Slawa:是的,按时间排序。最初的条目是用二进制搜索来寻找的。用同样的方法搜索最后一条记录不是很合乎逻辑吗?历史是如何组织的,这非常有压力。测试器中的HFT几乎是不现实的。我已经在论坛上写了几个关于这个问题的帖子,并向SD提出了请求。还有一点,如果终端已经有历史记录,为什么你要求 使用HistorySelect而不是MT4的SELECT_BY_POS?而且一点也不清楚,为什么HistoryDealGet*是通过适当的O(N) 票实现的,而再次使用SELECT_BY_POS是合理的?非常有趣的记录HistoryDealGetInteger(DealTicket, DEAL_TICKET); HistoryOrderGetInteger(OrderTicket, ORDER_TICKET); Slava 2017.04.20 09:32 #18612 fxsaber:以同样的方式寻找最后一个条目不是很合乎逻辑吗?为什么?不时地。你找到开始的时间,然后你逐个元素进行。一直到最后的时间。如果所有的记录都在同一个内存块中,这就说得通了。我已经在servisdesk中告诉你,历史上的订单和交易都存储在块阵列中,所以没有内存的重新分配,只有重新分配。 fxsaber 2017.04.20 09:35 #18613 Slawa:为什么?时常如此。找到开始时间,然后逐个元素复制。直到最后的时间。如果所有的记录都在同一个内存块中,这就说得通了。我已经在服务台告诉过你,历史上的订单和交易都存储在块阵列中,所以没有内存的重新分配,只有重新分配。 为了大块复制而不是零散复制。即通过二进制搜索,我们找到两个索引,然后找到第一个区块的一个大块,所有区块完全到最后一个,剩下的大块到最后一个。 Slava 2017.04.20 09:35 #18614 fxsaber:历史工作的组织是非常紧张的。测试器中的HFT几乎是不现实的。在算法上解决了。对于HFT,你不需要每次都去看历史。在初始化过程中准备好必要的信息,并使其能够非常迅速地进入。 fxsaber 2017.04.20 09:38 #18615 Slawa:解决方案是算法的。对于HFT,你不需要每次都去看历史。在初始化过程中准备好必要的信息,并使其能够非常迅速地进入。 并找出最后一个位置是如何关闭的? Slava 2017.04.20 09:38 #18616 fxsaber:并向SR提出了申请。 我不明白为什么。如果你想讨论,就在这里讨论吧。他们在服务台不教编程 Slava 2017.04.20 09:40 #18617 fxsaber: 并找出最后一个位置是如何关闭的?在初始化过程中,去一次并记住。在这个过程中,自己保存所有需要的信息。所有工具都在那里 fxsaber 2017.04.20 09:43 #18618 Slawa: 现在这完全不知道是什么原因。你想讨论,就在这里讨论吧。他们在Servesk不教编程。我遇到过几次,开发者由于环境的原因,错过了这个消息。在SD中并不是这样的。这不是关于编程技能的水平。而且就MQL5而言,它在我这里可能还不错。我提出的论点是,与历史一起工作是非常缓慢和奇怪的,甚至在使用的逻辑方面。HistoryDealGet*- O(N).为什么大家都这样做?为什么没有正常访问HIS的历史? fxsaber 2017.04.20 09:47 #18619 Slawa:在初始化过程中,去一次就记住了。在这个过程中,自己保存所有需要的信息。所有的工具都在那里不,我不是在胡闹。在不访问历史记录的情况下,我如何知道在测试器中的位置是关闭TP或SL?你想记住TP/SL,并在平仓的tick上检查它是否满足TP/SL平仓?谁满意--在这个层面上,测试者以高概率关闭。对吗?那么平仓的 利润呢?- 以同样的方式?那么它就类似于编写你自己的测试器。 Slava 2017.04.20 10:08 #18620 fxsaber:不,我不是在装傻。在不参考历史记录的情况下,你如何知道在测试器中一个头寸是否在TP或SL上平仓?你是在建议记住TP/SL,然后在tick上检查,位置在哪里,是否满足TP/SL的关闭?谁满意--在这个层面上,测试者以高概率关闭。对吗?那么平仓的 利润呢?- 以同样的方式?那么它就类似于编写你自己的测试器。 显然,我不了解关于HFT的一些情况。据我所知,当你进行 "非常快 "的交易时,你并不关心以前的交易。 1...185518561857185818591860186118621863186418651866186718681869...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是的,按时间排序。最初的条目是用二进制搜索来寻找的。
用同样的方法搜索最后一条记录不是很合乎逻辑吗?
历史是如何组织的,这非常有压力。测试器中的HFT几乎是不现实的。我已经在论坛上写了几个关于这个问题的帖子,并向SD提出了请求。
还有一点,如果终端已经有历史记录,为什么你要求 使用HistorySelect而不是MT4的SELECT_BY_POS?而且一点也不清楚,为什么HistoryDealGet*是通过适当的O(N) 票实现的,而再次使用SELECT_BY_POS是合理的?
非常有趣的记录
以同样的方式寻找最后一个条目不是很合乎逻辑吗?
为什么?
不时地。你找到开始的时间,然后你逐个元素进行。一直到最后的时间。
如果所有的记录都在同一个内存块中,这就说得通了。我已经在servisdesk中告诉你,历史上的订单和交易都存储在块阵列中,所以没有内存的重新分配,只有重新分配。
为什么?
时常如此。找到开始时间,然后逐个元素复制。直到最后的时间。
如果所有的记录都在同一个内存块中,这就说得通了。我已经在服务台告诉过你,历史上的订单和交易都存储在块阵列中,所以没有内存的重新分配,只有重新分配。
历史工作的组织是非常紧张的。测试器中的HFT几乎是不现实的。
在算法上解决了。
对于HFT,你不需要每次都去看历史。在初始化过程中准备好必要的信息,并使其能够非常迅速地进入。
解决方案是算法的。
对于HFT,你不需要每次都去看历史。在初始化过程中准备好必要的信息,并使其能够非常迅速地进入。
并向SR提出了申请。
并找出最后一个位置是如何关闭的?
在初始化过程中,去一次并记住。
在这个过程中,自己保存所有需要的信息。所有工具都在那里
现在这完全不知道是什么原因。你想讨论,就在这里讨论吧。他们在Servesk不教编程。
我遇到过几次,开发者由于环境的原因,错过了这个消息。在SD中并不是这样的。
这不是关于编程技能的水平。而且就MQL5而言,它在我这里可能还不错。我提出的论点是,与历史一起工作是非常缓慢和奇怪的,甚至在使用的逻辑方面。HistoryDealGet*- O(N).为什么大家都这样做?为什么没有正常访问HIS的历史?
在初始化过程中,去一次就记住了。
在这个过程中,自己保存所有需要的信息。所有的工具都在那里
不,我不是在胡闹。在不访问历史记录的情况下,我如何知道在测试器中的位置是关闭TP或SL?
你想记住TP/SL,并在平仓的tick上检查它是否满足TP/SL平仓?谁满意--在这个层面上,测试者以高概率关闭。对吗?
那么平仓的 利润呢?- 以同样的方式?那么它就类似于编写你自己的测试器。
不,我不是在装傻。在不参考历史记录的情况下,你如何知道在测试器中一个头寸是否在TP或SL上平仓?
你是在建议记住TP/SL,然后在tick上检查,位置在哪里,是否满足TP/SL的关闭?谁满意--在这个层面上,测试者以高概率关闭。对吗?
那么平仓的 利润呢?- 以同样的方式?那么它就类似于编写你自己的测试器。