以前は「ゾンビ」と呼ばれていました。おそらく、検索すると古いスレッドがまだ見つかるでしょう。
これは、エキスパート/インジケーターがタンブラーから退会する回数が退会する回数よりも多い場合に起こります。
例えば、2人の専門家がいて、それぞれ1回ずつ登録したとする。その後、1つは閉鎖され、2回配信停止になりました。採用され続けた2人目の専門家は、更新を受けなくなる。
何度か見たことがあります。
専門家による調整後、問題は解消され、1年以上再発していない。
以前は「ゾンビ」と呼ばれていましたので、おそらく検索すると古いトピックがまだ見つかるでしょう。
エキスパート/インディケーターが登録した回数よりも多くタンブラーから退会した場合に起こります。
厳密には、合わないんです。initeで一度購読を行い、deiniteで購読を解除しているのですが。DeInitが何らかの原因でOnInitより多く呼ばれている可能性は否定できませんが。
厳密には、合わないんです。Initで一度購読を行い、DeInitで購読を解除しています。DeInitが何らかの原因でOnInitより多く呼ばれている可能性は否定できませんが。
指標についてなら、この スレッドをご覧ください。
![Последовательность выполнение Init() и DeInit() Последовательность выполнение Init() и DeInit()](https://c.mql5.com/36/19/posledovatelnost-vipolnenie-init.jpg)
- 2017.04.07
- www.mql5.com
タンブラーを使い始め、OnBookEventに署名したいくつかのインディケータを追加した後、それらのいくつかは静かに落ちることがわかりました、特に、異なるシンボル上の1つのエキスパートと1つのインディケータ。ログにエラーはありません。名言が続いた。その他の記号は継続した。休止中のMQLプログラムを手動で再起動したところ、market depthのイベントが再び動き出しました。
同じようなことを観察された方はいらっしゃいますか?自分を守るには?とりあえず、カップの最後のイベントと新しいティックの間のタイムアウトを見るというものです。しかし、タイムアウトが発生した場合はどうすればいいのでしょうか? もう一度MarketBookAddを呼び出すだけでいいのでしょうか?
スイッチには、ボタンとスイッチの2種類があります。1つ目はパルスを送信して動作を終了させるもの、2つ目は動作モードの変更を伴うものです。1つ目の例としては、理想的なイベントであるドアベルが挙げられます。例えば、電気のスイッチは、押せば光ります。これはイベントというより、もっと別のものなんです。
スイッチには、押しボタンとスイッチの2種類があります。1つ目はパルスを送信して動作を終了させるもので、2つ目は動作モードの変更を伴うものです。1つ目の例として、理想的なイベントであるドアベルが挙げられます。例えば、電気のスイッチは、押せば光ります。ほら、イベントというより、何かあるでしょ。
いいえ、そんなことはありません。ドキュメントから判断すると、購読すると内部カウンタが増加し、購読を解除すると1減少する。0になると、イベントは送信されません。
プリントを入れました。EAとインジケータが同じチャートに存在する場合の問題の再現を実現しました。それぞれ、OnInitでMarketBookAdd、OnDeinitでMarketBookReleaseを行う。そのため、Expert Advisorをチャートから削除(MarketBookReleaseを 1回コール)すると、インジケータはカップを取得しなくなります(考え方としては、自身のMarketBookAddのコールはまだキャンセルされませんが)。逆に、インジケータを削除すると、Expert Advisorでの購読は失われます。もちろん、私はそれを検知して再度購読していますが、そのような仕組みになってはいけないと思います、イミフ。
いいえ、そんなことはありません。ドキュメントによると、購読すると内部カウンタが増加し、購読を解除すると1減少する。0になると、イベントは送出されない。
プリンターを配置しました。EAとインジケータが同じチャートにある場合の問題の再現を実現しました。それぞれ、OnInitでMarketBookAdd、OnDeinitでMarketBookReleaseを行う。そこで、Expert Advisorをチャートから削除(MarketBookReleaseを 1回コール)すると、インジケータがカップを取得しなくなりました。逆に、インジケータを削除すると、Expert Advisorでの購読が失われてしまいます。もちろん、私はそれを検知して再度購読していますが、そのように動作しないはずです、イミフ。
もう言い尽くされています。私は一言も言いません。
いいえ、そんなことはありません。ドキュメントによると、購読すると内部カウンタが増加し、購読を解除すると1減少する。0になると、イベントは送出されない。
プリンターを配置しました。EAとインジケータが同じチャートにある場合の問題の再現を実現しました。それぞれ、OnInitでMarketBookAdd、OnDeinitでMarketBookReleaseを行う。そのため、Expert Advisorをチャートから削除(MarketBookReleaseを 1回コール)すると、インジケータはカップを取得しなくなります(考え方としては、自身のMarketBookAddのコールはまだキャンセルされませんが)。逆に、インジケータを削除すると、Expert Advisorでの購読は失われます。もちろん、私はすでにそれを検出して、再び購読していますが、それはこのように動作しないはずです、イミフ。
BookEvent イベントを放送する。こちらの OnBookEventの説明をよくお読みください。
![Документация по MQL5: Основы языка / Функции / Функции обработки событий Документация по MQL5: Основы языка / Функции / Функции обработки событий](https://c.mql5.com/36/19/dokumentaciya-po-mql5-osnovi-yazika__5.png)
- www.mql5.com
タンブラーを使い始め、OnBookEventに署名したいくつかのインディケータを追加した後、それらのうちのいくつかは静かに落ちることがわかりました、特に、異なるシンボル上の1エキスパートと1インディケータ。ログにエラーはありません。名言が続いた。その他の記号は継続した。休止中のMQLプログラムを手動で再起動したところ、market depthのイベントが再び動き出しました。
同じようなことを観察された方はいらっしゃいますか?自分を守るには?とりあえず、カップの最後のイベントと新しいティックの間のタイムアウトを見るというものです。しかし、タイムアウトした場合はどうすればいいのでしょうか? もう一度MarketBookAddを呼び出すだけでいいのでしょうか?
これを読む
![invalid book transaction invalid book transaction](https://c.mql5.com/36/19/invalid-book-transaction.jpg)
- 2016.09.06
- www.mql5.com
ありがとうございます;-)。もちろん、ドキュメントやフォーラムも読みました。もし、私の質問に対する答えがあるのなら、それを明確にするか、ここで強調してくれると非常に親切です。
特に、ドキュメントの中に魅力的なフレーズがあります。
В отличие от других событий, событие BookEvent является широковещательным. Это означает, что достаточно одному эксперту подписаться на получение события BookEvent с помощью функции MarketBookAdd, все остальные эксперты, имеющие обработчик OnBookEvent(), будут получать это событие.
ただし、「ある専門家がイベントの受信を停止するほど、他のすべての専門家もその受信を停止する」という例えを続けるかどうか、推測の域を出ないが?そんなのありえないと思う、バグでしょう(笑)。
![MQL5 - MetaTrader 5クライアントターミナルにビルトインされたトレードストラテジーの言語](https://c.mql5.com/i/registerlandings/logo-2.png)
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
タンブラーを使い始め、OnBookEventに署名したいくつかのインディケータを追加した後、それらのいくつかは静かに落ちることがわかりました、特に、異なるシンボル上の1つのエキスパートと1つのインディケータ。ログにエラーはありません。名言が続いた。その他の記号は継続した。休止中のMQLプログラムを手動で再起動したところ、market depthのイベントが再び動き出しました。
同じようなことを観察された方はいらっしゃいますか?自分を守るには?とりあえず、カップの最後のイベントと新しいティックの間のタイムアウトを見るというものです。しかし、タイムアウトが発生した場合はどうすればいいのでしょうか? もう一度MarketBookAddを 呼び出すだけでいいのでしょうか?