错误、漏洞、问题 - 页 1805 1...179817991800180118021803180418051806180718081809181018111812...3184 新评论 Slava 2017.02.15 08:09 #18041 Alexey Kozitsyn:@Slawa,请澄清一下,在OnCalculate()函数之外写入指标缓冲区是否有任何限制?在OnTimer()、OnBookEvent()、OnChartEvent()函数中写入缓冲区的情况下,是否总是能正确写入一切? 没有明确的限制。你可以试试。 但是,在添加新条形图的时候,你可能会遇到缓冲区重新分配的问题(重新分配是通过储备进行的,所以不是在每个新条形图上)。 所有的处理都在一个线程中,所以应该不会有碰撞。尝试 [删除] 2017.02.15 08:16 #18042 Slawa: 没有明显的限制。试试吧。但在添加新条形图的时候,你可能会遇到缓冲区重新分配的问题(重新分配是有一定保留的,所以不是在每一个新条形图上都进行重新分配)。在这里,请提供更多细节。什么是分配,应该如何处理?只是写了这个问题,因为我注意到在一个新的酒吧里有 "打嗝 "现象。而这些小插曲重置了缓冲区数值=0(与我明确设置的空值--EMPTY_VALUE)。到目前为止,我还没能抓住这个时机。有时指标只是 "跳动",并立即恢复正常,有时它只是 "冻结"。当卡住时,值不会被写入文件,缓冲区也不会被绘制。缓冲区被写入OnBookEvent()。 同样的代码在OnCalculate()中可以正常工作,但OnCalculate()不允许收集所有未平仓合约和其他交易所参数的值。只有通过TF切换才能解决这个问题。是的,5-7个相同的指标在同一时间运行,写出不同的数据。已添加。是的,今天在打开终端时也注意到完全相同的事情。所有的东西都挂了,所有的缓冲区,所有的值都是零,指标没有给出历史记录(写到文件里)。就是说,一切都只是挂了。市场仍在关闭。我改变了TF--历史记录回来了,但还是关于SESSION值需要时间戳的问题:终端关闭时的最后一个已知值被记录下来了!历史同步成功,没有错误。但TimeCurrent()返回了一个错误的值(大约21:03)。这个值的真实时间是23:49:59。总而言之,某种意义上的悲伤。 Slava 2017.02.15 08:34 #18043 Alexey Kozitsyn:在这里,请提供更多细节。什么是分配,应该如何处理?只是写了这个问题,因为我注意到在一个新的酒吧里有 "打嗝 "现象。而这些打嗝的空缓冲值=0(由我明确设置的空值-EMPTY_VALUE)。到目前为止,我还没能抓住这个时机。有时指标只是 "跳动",并立即恢复正常,有时它只是 "冻结"。当卡住时,值不会被写入文件,缓冲区也不会被绘制。缓冲区被写入OnBookEvent()。 同样的代码在OnCalculate()中可以正常工作,但OnCalculate()不允许收集所有未平仓合约和其他交易所参数的值。只有通过TF切换才能解决这个问题。是的,5-7个相同的指标同时运行,写入不同的数据。 这很容易。新栏的第一个刻度线来了。缓冲区被分配为1000条,并且完全满了。 我们把缓冲区重新分配到1250条,并从以前的缓冲区复制1000条到新的缓冲区。把新的缓冲区放在旧的缓冲区的位置,删除旧的缓冲区。我们增加了第1001条。 你说的 "如何处理 "是什么意思? 请记住,一个符号的所有指标都是在一个线程中一个接一个地按顺序计算的。如果一个指标变慢,整个线程的符号处理也会变慢 [删除] 2017.02.15 08:41 #18044 Slawa: 容易。新栏的第一个刻度线到了。缓冲区被分配为1000条,并且完全满了。我们重新分配缓冲区到1250条,并从旧缓冲区复制1000条到新缓冲区。把新的缓冲区放在旧的缓冲区的位置,删除旧的缓冲区。我们增加了第1001条。你说的 "如何处理 "是什么意思?请记住,一个符号的所有指标都是在一个线程中一个接一个地按顺序计算的。如果一个指标变慢了,整个符号处理的线程也会变慢 我很清楚这一点。而重新分配,据我所知,对OnBookEvent()的影响比对OnCalculate() 的影响更大? Slava 2017.02.15 09:50 #18045 Alexey Kozitsyn: 我知道单线程的事情。而重新分配,按照我的理解,对OnBookEvent()的影响比对OnCalculate()的影响更大? 当有新的蜱虫到来时,会进行重新分配。在一个新的刻度线到达后,OnCalculate会立即被调用。只有在这之后,才继续处理指标所收到的事件 但是,在指标(这个符号上的任何指标!)完成其计算(OnCalculate、OnTimer、OnChartEvent、OnBookEvent)之前,新的tick不会到达处理。 [删除] 2017.02.15 10:09 #18046 Slawa: 重新分配是在新的蜱虫到达时进行的。在一个新的tick从队列中到达后,OnCalculate被立即调用。只有在这之后,才会继续处理指标所收到的事件。 然而,在指标(这个符号上的任何指标!)完成其计算(OnCalculate、OnTimer、OnChartEvent、OnBookEvent)之前,新的tick不会到达被处理。另外,据我所知,一个符号上的指标是按顺序计算的,也就是说,如果我在一行中抛出i1、i2、i3指标,那么它们将按相同的顺序计算?我现在添加了一个标准的MAKD进行测试;它是列表中的最后一个。 我将看看当一个新的柱子形成时,它是否会放慢速度。 Slava 2017.02.15 10:41 #18047 Alexey Kozitsyn:另外,据我所知,一个符号上的指标是按顺序计算的,也就是说,如果我在一行中抛出i1、i2、i3指标,那么它们将按相同的顺序计算?现在我添加了一个标准的MAKD用于测试,它是列表中的最后一个。 我将看看当一个新的条形图形成时它是否挂在上面。 在开始时,是的,计算的顺序是一样的。 但如果你将删除-添加不同的指标,重新计算的顺序可能会让你吃惊。因此,不要依赖序列 [删除] 2017.02.15 11:02 #18048 Slawa: 起初,是的,计算会按相同的顺序进行。 但如果你删除-添加不同的指标,重新计算的顺序可能会让你吃惊。所以不要依赖序列。 这是必要的,以检查,如果我的指标挂起,是否最后一个,标准MAKD,将被计算。我的都在MACD之前。 [删除] 2017.02.15 11:24 #18049 Slawa:这就是我所说的。在GOLD-3.17上形成了一个新的柱子,我所有的指标在OnBookEvent()中通过这个符号计算的所有当前值都被归零了。根据指标的逻辑,在形成一个新的条形图时,缓冲区不被清零,当前值被立即写入它们。MACD没有归零。日志是空的,这意味着没有不同步的情况,所有的值都应该是正确的。在这种情况下,故障持续了大约5秒钟。昨天,我每次都会遇到几分钟的故障。所有其他角色都很好。同样,指标的逻辑并没有将数值重置为0!所以问题是:在重新分配新物品时,理论上应该包含垃圾。但在这里0.0和挂起... 是的,还有一件事:如果一个指标挂了,其他指标就应该保持它们的价值!但所有的人,一下子都归零了。是否有任何可能发生这种情况? [删除] 2017.02.15 11:49 #18050 在BR-3.17上也出现了类似的挂起。@Slawa 知道该往哪边挖吗?也许有一个更好的方法来收集交换数据并显示它? 1...179817991800180118021803180418051806180718081809181018111812...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
@Slawa,请澄清一下,在OnCalculate()函数之外写入指标缓冲区是否有任何限制?在OnTimer()、OnBookEvent()、OnChartEvent()函数中写入缓冲区的情况下,是否总是能正确写入一切?
但是,在添加新条形图的时候,你可能会遇到缓冲区重新分配的问题(重新分配是通过储备进行的,所以不是在每个新条形图上)。
所有的处理都在一个线程中,所以应该不会有碰撞。尝试
没有明显的限制。试试吧。
但在添加新条形图的时候,你可能会遇到缓冲区重新分配的问题(重新分配是有一定保留的,所以不是在每一个新条形图上都进行重新分配)。
在这里,请提供更多细节。什么是分配,应该如何处理?
只是写了这个问题,因为我注意到在一个新的酒吧里有 "打嗝 "现象。而这些小插曲重置了缓冲区数值=0(与我明确设置的空值--EMPTY_VALUE)。到目前为止,我还没能抓住这个时机。有时指标只是 "跳动",并立即恢复正常,有时它只是 "冻结"。当卡住时,值不会被写入文件,缓冲区也不会被绘制。缓冲区被写入OnBookEvent()。
同样的代码在OnCalculate()中可以正常工作,但OnCalculate()不允许收集所有未平仓合约和其他交易所参数的值。
只有通过TF切换才能解决这个问题。是的,5-7个相同的指标在同一时间运行,写出不同的数据。
已添加。
是的,今天在打开终端时也注意到完全相同的事情。所有的东西都挂了,所有的缓冲区,所有的值都是零,指标没有给出历史记录(写到文件里)。就是说,一切都只是挂了。市场仍在关闭。我改变了TF--历史记录回来了,但还是关于SESSION值需要时间戳的问题:终端关闭时的最后一个已知值被记录下来了!历史同步成功,没有错误。但TimeCurrent()返回了一个错误的值(大约21:03)。这个值的真实时间是23:49:59。总而言之,某种意义上的悲伤。
在这里,请提供更多细节。什么是分配,应该如何处理?
只是写了这个问题,因为我注意到在一个新的酒吧里有 "打嗝 "现象。而这些打嗝的空缓冲值=0(由我明确设置的空值-EMPTY_VALUE)。到目前为止,我还没能抓住这个时机。有时指标只是 "跳动",并立即恢复正常,有时它只是 "冻结"。当卡住时,值不会被写入文件,缓冲区也不会被绘制。缓冲区被写入OnBookEvent()。
同样的代码在OnCalculate()中可以正常工作,但OnCalculate()不允许收集所有未平仓合约和其他交易所参数的值。
只有通过TF切换才能解决这个问题。是的,5-7个相同的指标同时运行,写入不同的数据。
我们把缓冲区重新分配到1250条,并从以前的缓冲区复制1000条到新的缓冲区。把新的缓冲区放在旧的缓冲区的位置,删除旧的缓冲区。我们增加了第1001条。
你说的 "如何处理 "是什么意思?
请记住,一个符号的所有指标都是在一个线程中一个接一个地按顺序计算的。如果一个指标变慢,整个线程的符号处理也会变慢
容易。新栏的第一个刻度线到了。缓冲区被分配为1000条,并且完全满了。我们重新分配缓冲区到1250条,并从旧缓冲区复制1000条到新缓冲区。把新的缓冲区放在旧的缓冲区的位置,删除旧的缓冲区。我们增加了第1001条。你说的 "如何处理 "是什么意思?请记住,一个符号的所有指标都是在一个线程中一个接一个地按顺序计算的。如果一个指标变慢了,整个符号处理的线程也会变慢
我知道单线程的事情。而重新分配,按照我的理解,对OnBookEvent()的影响比对OnCalculate()的影响更大?
但是,在指标(这个符号上的任何指标!)完成其计算(OnCalculate、OnTimer、OnChartEvent、OnBookEvent)之前,新的tick不会到达处理。
重新分配是在新的蜱虫到达时进行的。在一个新的tick从队列中到达后,OnCalculate被立即调用。只有在这之后,才会继续处理指标所收到的事件。
然而,在指标(这个符号上的任何指标!)完成其计算(OnCalculate、OnTimer、OnChartEvent、OnBookEvent)之前,新的tick不会到达被处理。
另外,据我所知,一个符号上的指标是按顺序计算的,也就是说,如果我在一行中抛出i1、i2、i3指标,那么它们将按相同的顺序计算?
我现在添加了一个标准的MAKD进行测试;它是列表中的最后一个。 我将看看当一个新的柱子形成时,它是否会放慢速度。
另外,据我所知,一个符号上的指标是按顺序计算的,也就是说,如果我在一行中抛出i1、i2、i3指标,那么它们将按相同的顺序计算?
现在我添加了一个标准的MAKD用于测试,它是列表中的最后一个。 我将看看当一个新的条形图形成时它是否挂在上面。
但如果你将删除-添加不同的指标,重新计算的顺序可能会让你吃惊。因此,不要依赖序列
起初,是的,计算会按相同的顺序进行。
但如果你删除-添加不同的指标,重新计算的顺序可能会让你吃惊。所以不要依赖序列。
这就是我所说的。
在GOLD-3.17上形成了一个新的柱子,我所有的指标在OnBookEvent()中通过这个符号计算的所有当前值都被归零了。根据指标的逻辑,在形成一个新的条形图时,缓冲区不被清零,当前值被立即写入它们。MACD没有归零。日志是空的,这意味着没有不同步的情况,所有的值都应该是正确的。在这种情况下,故障持续了大约5秒钟。昨天,我每次都会遇到几分钟的故障。
所有其他角色都很好。同样,指标的逻辑并没有将数值重置为0!所以问题是:在重新分配新物品时,理论上应该包含垃圾。但在这里0.0和挂起...
是的,还有一件事:如果一个指标挂了,其他指标就应该保持它们的价值!但所有的人,一下子都归零了。是否有任何可能发生这种情况?在BR-3.17上也出现了类似的挂起。
@Slawa 知道该往哪边挖吗?也许有一个更好的方法来收集交换数据并显示它?