事件流。 如何控制并使事件闲置?(+已解决) - 页 2 1234567 新评论 --- 2011.11.02 00:09 #11 Yedelkin:相应地,现在还不清楚应该多长时间发送一次用户事件,以便它们不会溢出终端事件队列...... 我可以直接看出,你没有读过我的帖子。 Renat Fatkhullin 2011.11.02 01:28 #12 Yedelkin: 我找不到问题的答案:事件队列溢出如何影响RAM大小?如果事件队列变得满了,溢出队列的事件会去哪里?保留给那些碰巧 "离开历史 "的事件的部分RAM被释放出来了吗? 也许我的问题在术语上并不正确,但(我希望)它们抓住了问题的本质。该队列是动态的,并在必要时不断增长。 但到了一定的限度,新的事件就会被丢弃,因为很明显,进一步加载队列是没有意义的。 Yedelkin 2011.11.02 08:15 #13 sergeev: 我一眼就能看出,你没有读过我的帖子。 你为什么不 "读它"?你解决了你的问题,我正试图解决我的问题,是一个不同的问题。当我阅读讨论时,我没有发现我的问题的答案。 你没有回答我的主要问题。:/ 这正是 "一目了然 "之处 :) Yedelkin 2011.11.02 09:31 #14 Renat: 该队列是动态的,并根据需要增长。 但到了一定的限度,新的事件就会被丢弃,因为很明显,进一步加载队列是没有意义的。 OK,队列是 "动态 "的。增加到某个 "特定 "的限度。但为什么没有人能够给出一个看似简单的问题的答案:事件队列溢出如何影响内存大小? 后续问题:"维持 "一个溢出的事件队列需要多少RAM? 如果 "到了一定的限度,新的事件就会被丢弃",先前为这些被丢弃的事件分配的RAM是否被释放? 问题的目的:了解用户事件的流动如何增加(增加)终端消耗的RAM量。 Rashid Umarov 2011.11.02 09:50 #15 Yedelkin: 如果事件队列已满,溢出队列的事件会去哪里?为那些 "脱离历史 "的事件保留的部分RAM是否被释放出来? 也许我的问题在术语上并不正确,但(我希望)它们传达了问题的本质。该部分说程序执行,当队列溢出时, 新的事件会被丢弃。客户端将发生的事件发送至相应的开放图。事件也可以由图表(图表事件)或mql5程序(自定义事件)产生。通过设置图表的CHART_EVENT_OBJECT_CREATE 和CHART_EVENT_OBJECT_DELETE 属性,可以启用或禁用图表上创建和删除图形对象事件的生成。每个mql5程序和每个图表都有自己的事件队列,所有的新事件都存储在这里。 该程序只接收来自它所运行的图表的事件。所有的事件都按照收到的顺序逐一处理。如果队列中已经有一个事件NewTick,或者该事件处于处理状态,一个新的事件NewTick不会被放入mql5-程序的队列中。同样,如果mql5-程序的队列已经包含了ChartEvent 事件或者该事件正在被处理,那么该类型的新事件就不会被放入队列中。 事件队列的大小有限,但足够大,所以对于一个正确编写的程序来说,队列溢出的可能性不大。当队列溢出时,新的事件被丢弃而不被列入队列。 非常不鼓励使用无限循环来处理事件。这条规则的唯一例外是处理单一启动 事件的脚本。 图书馆 不处理任何事件。 --- 2011.11.02 10:41 #16 Yedelkin: 你为什么不 "读它"?你解决了你的问题,我正试图解决我的问题,是一个不同的问题。当我阅读讨论时,我没有发现我的问题的答案。 你没有回答我的主要问题。:/ 我肯定能 "马上看到":)你的问题 "用户事件 的发送频率大约是多少,这样它们才不会溢出队列"。我在第一页的答案是 "随着OnChartEvent调用的频率"。也就是说,一个事件就是一个OnChartEvent。 中间不应该有两个以上的事件。这就是所有的数学知识。 再一次,阅读第一页。我展示了当终端事件被处理而不是用户事件时,如何避免用户事件的累积。就这么简单。 TheXpert 2011.11.02 11:26 #17 Yedelkin:问题的目的:了解用户事件的 线程如何增加(增加)终端所消耗的RAM的大小。为什么?嗯,是的,确实如此。该问题的价格是几兆字节。这不是问题所在,或者说不是真正的问题所在。 Yedelkin 2011.11.02 11:45 #18 Rosh: 该部分说的是方案执行,这......。 1、《手册》部分发生了重大变化。 1.1 例如,过去是:"客户终端将所有发生的事件放入一个公共队列。因此,事件是按照到达的顺序一个接一个地处理的。N ewTick事件是个例外 。如果队列中已经有这样一个事件,或者这个事件正在被处理,新的NewTick事件就不会被放入队列中"。 现在:"该程序只从它所运行的图表中接收事件。 所有的事件都按照收到的顺序一个接一个地处理。如果队列中已经有一个事件 NewTick 或者这个事件处于处理状态,那么一个新的事件NewTick就不会被放入mql5-程序的队列中。同样,如果在mql5-program的队列中已经有一个 ChartEvent 事件 ,或者这样的事件正在被处理,那么这种类型的新事件就不会 被放入队列中。 俗话说,"见仁见智"。你至少应该得到警告。:/ 这一变化从根本上改变了我们处理自定义事件的方式。 1.2. 下一步。丢弃事件的原则被颠覆了。以前是:"事件队列的大小是有限的。当队列变满时,旧的 事件被删除而不被处理 ,以腾出空间给新进来的事件"。 现在:"当队列满了,新的 事件就会被丢弃而不被排队。"正如他们所说,谢谢你:我们失去了最相关的用户事件。 2.所引用的《手册》部分并没有回答我的基本问题。事件队列溢出如何影响RAM大小?需要多少RAM来 "维持 "一个溢出的事件队列? 如果 "到了一定的限度,新的事件就会被丢弃",以前为这些被丢弃的事件分配的RAM是否被释放出来? Yedelkin 2011.11.02 11:50 #19 TheXpert: 耶德尔金。 问题的目的:了解用户事件 流如何增加(增加)终端所消耗的RAM的大小。 为什么?嗯,是的,确实如此。这个问题价值几兆字节。 奇怪的问题:"为什么?"- 答案是:要理解,以便得出结论。 Rashid Umarov 2011.11.02 11:57 #20 Yedelkin:2.手册》中引用的部分并没有回答我的主要问题。事件队列溢出如何影响RAM大小?需 要多少RAM来 "维持 "一个溢出的事件队列? 如果 "到了一定的限度,新的事件就会被丢弃",以前为这些被丢弃的事件分配的RAM是否被释放出来?如果出现这种问题,那么事情就非常糟糕了。我认为一个溢出的事件队列是寻找内存问题的最后一个地方。如果一个事件被丢弃了,那么它只是没有被放入队列。记忆不在增长。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Yedelkin:
相应地,现在还不清楚应该多长时间发送一次用户事件,以便它们不会溢出终端事件队列......
我找不到问题的答案:事件队列溢出如何影响RAM大小?如果事件队列变得满了,溢出队列的事件会去哪里?保留给那些碰巧 "离开历史 "的事件的部分RAM被释放出来了吗?
也许我的问题在术语上并不正确,但(我希望)它们抓住了问题的本质。
该队列是动态的,并在必要时不断增长。
但到了一定的限度,新的事件就会被丢弃,因为很明显,进一步加载队列是没有意义的。
我一眼就能看出,你没有读过我的帖子。
你为什么不 "读它"?你解决了你的问题,我正试图解决我的问题,是一个不同的问题。当我阅读讨论时,我没有发现我的问题的答案。
你没有回答我的主要问题。:/ 这正是 "一目了然 "之处 :)
该队列是动态的,并根据需要增长。
但到了一定的限度,新的事件就会被丢弃,因为很明显,进一步加载队列是没有意义的。
OK,队列是 "动态 "的。增加到某个 "特定 "的限度。但为什么没有人能够给出一个看似简单的问题的答案:事件队列溢出如何影响内存大小?
后续问题:"维持 "一个溢出的事件队列需要多少RAM? 如果 "到了一定的限度,新的事件就会被丢弃",先前为这些被丢弃的事件分配的RAM是否被释放?
问题的目的:了解用户事件的流动如何增加(增加)终端消耗的RAM量。
如果事件队列已满,溢出队列的事件会去哪里?为那些 "脱离历史 "的事件保留的部分RAM是否被释放出来?
也许我的问题在术语上并不正确,但(我希望)它们传达了问题的本质。
该部分说程序执行,当队列溢出时, 新的事件会被丢弃。
客户端将发生的事件发送至相应的开放图。事件也可以由图表(图表事件)或mql5程序(自定义事件)产生。通过设置图表的CHART_EVENT_OBJECT_CREATE 和CHART_EVENT_OBJECT_DELETE 属性,可以启用或禁用图表上创建和删除图形对象事件的生成。每个mql5程序和每个图表都有自己的事件队列,所有的新事件都存储在这里。
该程序只接收来自它所运行的图表的事件。所有的事件都按照收到的顺序逐一处理。如果队列中已经有一个事件NewTick,或者该事件处于处理状态,一个新的事件NewTick不会被放入mql5-程序的队列中。同样,如果mql5-程序的队列已经包含了ChartEvent 事件或者该事件正在被处理,那么该类型的新事件就不会被放入队列中。
事件队列的大小有限,但足够大,所以对于一个正确编写的程序来说,队列溢出的可能性不大。当队列溢出时,新的事件被丢弃而不被列入队列。
非常不鼓励使用无限循环来处理事件。这条规则的唯一例外是处理单一启动 事件的脚本。
图书馆 不处理任何事件。
你为什么不 "读它"?你解决了你的问题,我正试图解决我的问题,是一个不同的问题。当我阅读讨论时,我没有发现我的问题的答案。
你没有回答我的主要问题。:/ 我肯定能 "马上看到":)
你的问题 "用户事件 的发送频率大约是多少,这样它们才不会溢出队列"。
我在第一页的答案是 "随着OnChartEvent调用的频率"。
也就是说,一个事件就是一个OnChartEvent。 中间不应该有两个以上的事件。
这就是所有的数学知识。
再一次,阅读第一页。我展示了当终端事件被处理而不是用户事件时,如何避免用户事件的累积。就这么简单。
问题的目的:了解用户事件的 线程如何增加(增加)终端所消耗的RAM的大小。
为什么?嗯,是的,确实如此。该问题的价格是几兆字节。
这不是问题所在,或者说不是真正的问题所在。
该部分说的是方案执行,这......。
1、《手册》部分发生了重大变化。
1.1 例如,过去是:"客户终端将所有发生的事件放入一个公共队列。因此,事件是按照到达的顺序一个接一个地处理的。N ewTick事件是个例外 。如果队列中已经有这样一个事件,或者这个事件正在被处理,新的NewTick事件就不会被放入队列中"。
现在:"该程序只从它所运行的图表中接收事件。 所有的事件都按照收到的顺序一个接一个地处理。如果队列中已经有一个事件 NewTick 或者这个事件处于处理状态,那么一个新的事件NewTick就不会被放入mql5-程序的队列中。同样,如果在mql5-program的队列中已经有一个 ChartEvent 事件 ,或者这样的事件正在被处理,那么这种类型的新事件就不会 被放入队列中。
俗话说,"见仁见智"。你至少应该得到警告。:/ 这一变化从根本上改变了我们处理自定义事件的方式。
1.2. 下一步。丢弃事件的原则被颠覆了。以前是:"事件队列的大小是有限的。当队列变满时,旧的 事件被删除而不被处理 ,以腾出空间给新进来的事件"。
现在:"当队列满了,新的 事件就会被丢弃而不被排队。"正如他们所说,谢谢你:我们失去了最相关的用户事件。
2.所引用的《手册》部分并没有回答我的基本问题。事件队列溢出如何影响RAM大小?需要多少RAM来 "维持 "一个溢出的事件队列? 如果 "到了一定的限度,新的事件就会被丢弃",以前为这些被丢弃的事件分配的RAM是否被释放出来?
TheXpert:
问题的目的:了解用户事件 流如何增加(增加)终端所消耗的RAM的大小。
为什么?嗯,是的,确实如此。这个问题价值几兆字节。
2.手册》中引用的部分并没有回答我的主要问题。事件队列溢出如何影响RAM大小?需 要多少RAM来 "维持 "一个溢出的事件队列? 如果 "到了一定的限度,新的事件就会被丢弃",以前为这些被丢弃的事件分配的RAM是否被释放出来?
如果出现这种问题,那么事情就非常糟糕了。我认为一个溢出的事件队列是寻找内存问题的最后一个地方。
如果一个事件被丢弃了,那么它只是没有被放入队列。记忆不在增长。