指标中的OnDeinit - 页 3 12345678 新评论 Slava 2015.06.10 13:56 #21 在OnDeinit开始时做一个打印,在关闭客户终端后,看一下专家日志,确保OnDeinit已经被调用了!这里是你的错误for(int i=ObjectsTotal()-1;i>=0;i--)你显然知道你自己创造的对象。保留它们的名字,并删除它们,不引用ObjectsTotal 和ObjectNamePS 新版本增加了一个按前缀删除一组对象的功能。如果你用相同的唯一前缀来命名你的对象,这将有助于你的工作。 Alexey Viktorov 2015.06.10 14:25 #22 stringo:在OnDeinit开始时做打印,在关闭客户终端后,查看EA日志,确保OnDeinit被调用了这里是你的错误你显然知道你自己创造的对象。保存它们的名字,并删除它们,不引用ObjectsTotal和ObjectNamePS 新版本增加了一个按前缀删除一组对象的功能。如果你用相同的唯一前缀来命名你的对象,这将有助于你的工作。 我已经有机会测试了按前缀删除一组对象的效果。很好,但即使是以前版本中的编译代码也无法工作。因此,它目前只能用于个人目的。我们没有必要因为它而强迫用户更新。许多人甚至不知道如何更新,直到他们上传更新到DC服务器。 [删除] 2015.06.14 20:34 #23 stringo:实际上,所有程序中的deinit是在终端关闭时调用的。甚至还有一个 特殊的代码来说明去初始化的原因。解释_关闭 那么它是否会重置指示器缓冲区? Slava 2015.06.15 07:12 #24 eevviill: 那么它是否会重置指标缓冲区? 什么是 "重设指标缓冲区"? Ihor Herasko 2015.06.15 07:46 #25 eevviill: 那么它是否会重置指标缓冲区? 一切都被重置了。毕竟,终端关闭)))。 [删除] 2015.06.15 09:55 #26 stringo:你的指标的情况已经解决了。事情是这样的--指标的计算不仅是根据ticks的到来,而且是根据第一次绘图和缺失历史的到来。1.一个新的刻度线到达--指标被计算。2.缺少的历史数据到了,它堵住了最后一个终端开始的数据和最后一个勾股之间的漏洞。该指标的计算。但与此同时,也没有新的酒吧条件!为了解决这个问题,你需要检查小节的数量。大约是这样的 嗯,把EMPTY_VALUE 缓冲区初始化块放在Inite里。问题仍然存在。 [删除] 2015.06.15 10:00 #27 在init和deinit中,缓冲区初始化块被卡在一个空值上。其结果是一样的。也就是说,它不存在。等待开发者的评论。 [删除] 2015.06.15 10:21 #28 Scriptong: 一切都重设为零。毕竟,终端关闭)))。 是的是的。 Slava 2015.06.15 10:48 #29 eevviill: 嗯。缓冲区初始化块EMPTY_VALUE被放在Inite中。为什么?内部缓冲区可能还没有被分配。当缓冲区被大量缓冲时(新的一批历史数据到来),怎么办?在这种情况下,缓冲区的初始化是在指标计算 之前完成的,此时很明显整个指标将被重新计算。 [删除] 2015.06.15 10:53 #30 stringo:为什么?内部缓冲区可能还没有被分配。而当缓冲区非常大时(新的一批历史数据来了),怎么办?在这种情况下,缓冲区的初始化是在计算指标之前进行的,当时很清楚整个指标将被重新计算。 好的。归零在deinit中也不起作用。 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在OnDeinit开始时做一个打印,在关闭客户终端后,看一下专家日志,确保OnDeinit已经被调用了!
这里是你的错误
你显然知道你自己创造的对象。
保留它们的名字,并删除它们,不引用ObjectsTotal 和ObjectName
PS 新版本增加了一个按前缀删除一组对象的功能。如果你用相同的唯一前缀来命名你的对象,这将有助于你的工作。
在OnDeinit开始时做打印,在关闭客户终端后,查看EA日志,确保OnDeinit被调用了
这里是你的错误
你显然知道你自己创造的对象。
保存它们的名字,并删除它们,不引用ObjectsTotal和ObjectName
PS 新版本增加了一个按前缀删除一组对象的功能。如果你用相同的唯一前缀来命名你的对象,这将有助于你的工作。
实际上,所有程序中的deinit是在终端关闭时调用的。
甚至还有一个 特殊的代码来说明去初始化的原因。解释_关闭
那么它是否会重置指标缓冲区?
那么它是否会重置指标缓冲区?
你的指标的情况已经解决了。
事情是这样的--指标的计算不仅是根据ticks的到来,而且是根据第一次绘图和缺失历史的到来。
1.一个新的刻度线到达--指标被计算。
2.缺少的历史数据到了,它堵住了最后一个终端开始的数据和最后一个勾股之间的漏洞。该指标的计算。但与此同时,也没有新的酒吧条件!
为了解决这个问题,你需要检查小节的数量。大约是这样的
在init和deinit中,缓冲区初始化块被卡在一个空值上。其结果是一样的。也就是说,它不存在。
等待开发者的评论。
一切都重设为零。毕竟,终端关闭)))。
嗯。缓冲区初始化块EMPTY_VALUE被放在Inite中。
为什么?内部缓冲区可能还没有被分配。
当缓冲区被大量缓冲时(新的一批历史数据到来),怎么办?
在这种情况下,缓冲区的初始化是在指标计算 之前完成的,此时很明显整个指标将被重新计算。
为什么?内部缓冲区可能还没有被分配。
而当缓冲区非常大时(新的一批历史数据来了),怎么办?
在这种情况下,缓冲区的初始化是在计算指标之前进行的,当时很清楚整个指标将被重新计算。