指标中的OnDeinit - 页 2 12345678 新评论 keekkenen 2014.10.06 20:42 #11 eevviill:不,它没有。我正常关闭了终端。如果把Deinit放进Init,它也不起作用。只有自定义对象的删除功能有帮助。好吧,如果它不删除,谁知道你在那里做了什么 :) [删除] 2014.10.07 03:21 #12 keekkenen: 好吧,如果不删除它,谁知道你对它做了什么 :)有道理。但如果我只是从图表中删除该指标,那么这些区域就会被删除。当我关闭终端时,它们就不在了。如果我使用init中删除区域的函数(在deinit中是同一个函数)。我理解deinit对所有人都有效。而当关闭或打开终端时,它应该被触发? [删除] 2014.10.07 03:34 #13 int deinit() { deinit2(); return(0); } ////////////////////// void deinit2() { for(int i=ObjectsTotal()-1;i>=0;i--) { if(StringFind(ObjectName(i),Highest_vol_zones_name)!=-1) ObjectDelete(ObjectName(i)); } } keekkenen 2014.10.07 13:30 #14 eevviill:有道理。但是,如果我简单地从图表中删除该指标,这些区域就会被删除。当终端关闭时就不会。只有当我把我自己的删除区域的函数放在init中时(在deinit中也是同样的函数)。我理解deinit对所有人都有效。但当终端关闭或打开时,它应该工作吗?是的,当终端关闭 时,它可以工作...也许你有某种逻辑的长期存在?在这个意义上,在关机的那一刻,指示器不经意地计算了一些东西,而终端预计这一切都错了和/或中断了,那OnDeinit就不工作了?我认为通往服务台的路... [删除] 2014.10.07 14:25 #15 keekkenen:是的,当你关闭终端时,它可以工作...也许你有某种长期的游戏逻辑?在这个意义上,在关机的那一刻,指标正在计算一些可怕的东西,而终端预计这一切都很糟糕和/或中断,OnDeinit不工作了?我认为通往服务台的路... 如果它对你有用,那就可以了。我去看看我的。 [删除] 2015.06.04 10:35 #16 没有任何变化,而且还增加了更多内容。缓冲液指示器。操作 打开图表-连接M1指示器-关闭终端-几分钟后打开。结果在截图中。尽管我在代码中也写了这样的内容////////////////////////////////////////////////////////////////// int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[], const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[]) { //new bar if (Time[0] != prevtime) { ArrayInitialize(body_up,EMPTY_VALUE); ArrayInitialize(body_down,EMPTY_VALUE); ArrayInitialize(shadow_up,EMPTY_VALUE); ArrayInitialize(shadow_down,EMPTY_VALUE); ArrayInitialize(yell_body_up,EMPTY_VALUE); ArrayInitialize(yell_body_down,EMPTY_VALUE); ArrayInitialize(yell_shadow_up,EMPTY_VALUE); ArrayInitialize(yell_shadow_down,EMPTY_VALUE); prevtime = Time[0]; } [删除] 2015.06.10 10:22 #17 开发人员,你们要解决这个问题吗?这里有一个指标给你。试试我在上面的帖子中所做的。打开图表--装上 M1指示器--关闭终端--几分钟后打开了它。 附加的文件: mtfbcandle.mq4 8 kb Slava 2015.06.10 11:35 #18 eevviill:开发人员,你们要解决这个问题吗?这里有一个指标给你。试试我在上面的帖子中所做的。打开图表--装上M1指示器--关闭终端--几分钟后打开了它。你的指标的情况已经解决了。事情是这样的,指标的计算不仅是在ticks的到来上,而且是在第一次绘图和失踪历史的到来上。1.一个新的刻度线到达--指标被计算。2.缺少的历史数据到了,它填补了最后一个终端开始 的数据和最后一个勾股之间的漏洞。该指标的计算。但与此同时,也没有新的酒吧条件!为了解决这个问题,你需要检查小节的数量。大约是这样的 if(Time[0]!=prevtime || Bars!=prevbars) { ArrayInitialize(body_up,EMPTY_VALUE); ArrayInitialize(body_down,EMPTY_VALUE); ArrayInitialize(shadow_up,EMPTY_VALUE); ArrayInitialize(shadow_down,EMPTY_VALUE); ArrayInitialize(yell_body_up,EMPTY_VALUE); ArrayInitialize(yell_body_down,EMPTY_VALUE); ArrayInitialize(yell_shadow_up,EMPTY_VALUE); ArrayInitialize(yell_shadow_down,EMPTY_VALUE); prevtime=Time[0]; prevbars=Bars; } [删除] 2015.06.10 11:42 #19 stringo:你的指标的情况已经解决了。事情是这样的--指标的计算不仅是根据ticks的到来,而且是根据第一次绘图和缺失历史的到来。1.一个新的刻度线到达--指标被计算。2.缺少的历史数据到了,它填补了最后一个终端开始的数据和最后一个勾股之间的漏洞。该指标的计算。但与此同时,也没有新的酒吧条件!为了解决这个问题,你需要检查小节的数量。像这样谢谢你。但这不仅仅是在我的指标中。我以为你会从你那边解决这个问题。例如,当关闭终端 时,Deinit在所有程序中运行。 Slava 2015.06.10 11:49 #20 eevviill:谢谢你。但这并不只是在我的指标中。我以为你会从你那边解决这个问题。例如,在关闭终端时,在所有程序中deinit。实际上所有程序中的deinit都是在终端关闭时调用的。甚至还有一个 专门的代码来说明deinit的原因。解释_关闭 12345678 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
不,它没有。我正常关闭了终端。
如果把Deinit放进Init,它也不起作用。
只有自定义对象的删除功能有帮助。
好吧,如果它不删除,谁知道你在那里做了什么 :)
好吧,如果不删除它,谁知道你对它做了什么 :)
有道理。但如果我只是从图表中删除该指标,那么这些区域就会被删除。当我关闭终端时,它们就不在了。如果我使用init中删除区域的函数(在deinit中是同一个函数)。
我理解deinit对所有人都有效。而当关闭或打开终端时,它应该被触发?
int deinit() { deinit2();
有道理。但是,如果我简单地从图表中删除该指标,这些区域就会被删除。当终端关闭时就不会。只有当我把我自己的删除区域的函数放在init中时(在deinit中也是同样的函数)。
我理解deinit对所有人都有效。但当终端关闭或打开时,它应该工作吗?
是的,当终端关闭 时,它可以工作...
也许你有某种逻辑的长期存在?
在这个意义上,在关机的那一刻,指示器不经意地计算了一些东西,而终端预计这一切都错了和/或中断了,那OnDeinit就不工作了?
我认为通往服务台的路...
是的,当你关闭终端时,它可以工作...
也许你有某种长期的游戏逻辑?
在这个意义上,在关机的那一刻,指标正在计算一些可怕的东西,而终端预计这一切都很糟糕和/或中断,OnDeinit不工作了?
我认为通往服务台的路...
没有任何变化,而且还增加了更多内容。
缓冲液指示器。操作 打开图表-连接M1指示器-关闭终端-几分钟后打开。结果在截图中。
尽管我在代码中也写了这样的内容
开发人员,你们要解决这个问题吗?
这里有一个指标给你。试试我在上面的帖子中所做的。
打开图表--装上 M1指示器--关闭终端--几分钟后打开了它。
开发人员,你们要解决这个问题吗?
这里有一个指标给你。试试我在上面的帖子中所做的。
打开图表--装上M1指示器--关闭终端--几分钟后打开了它。
你的指标的情况已经解决了。
事情是这样的,指标的计算不仅是在ticks的到来上,而且是在第一次绘图和失踪历史的到来上。
1.一个新的刻度线到达--指标被计算。
2.缺少的历史数据到了,它填补了最后一个终端开始 的数据和最后一个勾股之间的漏洞。该指标的计算。但与此同时,也没有新的酒吧条件!
为了解决这个问题,你需要检查小节的数量。大约是这样的
你的指标的情况已经解决了。
事情是这样的--指标的计算不仅是根据ticks的到来,而且是根据第一次绘图和缺失历史的到来。
1.一个新的刻度线到达--指标被计算。
2.缺少的历史数据到了,它填补了最后一个终端开始的数据和最后一个勾股之间的漏洞。该指标的计算。但与此同时,也没有新的酒吧条件!
为了解决这个问题,你需要检查小节的数量。像这样
谢谢你。
但这不仅仅是在我的指标中。我以为你会从你那边解决这个问题。
例如,当关闭终端 时,Deinit在所有程序中运行。
谢谢你。
但这并不只是在我的指标中。我以为你会从你那边解决这个问题。
例如,在关闭终端时,在所有程序中deinit。
实际上所有程序中的deinit都是在终端关闭时调用的。
甚至还有一个 专门的代码来说明deinit的原因。解释_关闭