OnBookEventのサブスクリプションが落ちることがあるのですが、そのようなことはあるのでしょうか? - ページ 12

 
Stanislav Korotky:
大切なのは結果...。すなわち、この問題が十分な数の回答を得て、デベロッパーに取り上げられたこと
 
Stanislav Korotky:

あなたが議論を始めたのだから、あなたがそれを終わらせなさい。謝ることは何もない。私は、あなたと違って、ポイントを押さえていました。

あなたの投稿を全部見たよ。自分に都合のいいところだけ引用して、その前のことはまるで書いていないかのように無視したんですね。確かに、1回目から問題を再現することができましたね。そしてとにかく、トピックとは全く関係のないあなたの問題でこのスレッドに来たのです。

書き続けるということは、良い意味ではなく、自分のイメージをひどく損なうだけで、人

は、長く記憶に残ります。問題は理解されましたが、指摘しておきますが、あなたの「扇動」によるものではありませんよ。

もう答えない(最早バカバカしくなってきた)。

 
Slava:

問題点は理解している。

最後に、OnChartEventの チェックコードを添付します。

//Test1.mq5
#include "Tes2.mq5"
void OnChartEvent( const int id, const long&, const double&, const string& )
{
        if ( id == CHARTEVENT_MOUSE_WHEEL )
                Print( __FUNCTION__ );
}
//Test2.mq5
void ChartEventMouseWheel( bool b )
{
        ResetLastError();
        if ( !ChartSetInteger( 0, CHART_EVENT_MOUSE_WHEEL, b ) )
                Print( __FUNCTION__, ":", GetLastError());
}
void OnInit()              { ChartEventMouseWheel( true  ); }
void OnDeinit( const int ) { ChartEventMouseWheel( false ); }
int OnCalculate( const int, const int, const int, const double& [] ) { return 0; }

1stインジケーターをチャートに貼り付け...次に2ndインジケータ。2番目のインジケータがチャートから削除された後、1番目のインジケータはCHARTEVENT_MOUSE_WHEEL イベントを受信しなくなる(以前は適切に受信して いた)。

 
A100:

1枚目のインジケーターをチャートに貼り付ける...次に2枚目。2番目のインジケータがチャートから削除された後、1番目のインジケータはCHARTEVENT_MOUSE_WHEEL イベントを受信していましたが、 受信しなくなりました。

なぜ、受け取り続けなければならないのか?

ヘルプに書かれている通りです。

https://www.mql5.com/ru/docs/constants/chartconstants/enum_chartevents

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Типы событий графика
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Типы событий графика
  • www.mql5.com
Существуют 11 видов событий, которые можно обрабатывать с помощью функции предопределенной функции OnChartEvent(). Для пользовательских событий предусмотрено 65535 идентификаторов в диапазоне от CHARTEVENT_CUSTOM до CHARTEVENT_CUSTOM_LAST включительно. Для генерации пользовательского события необходимо использовать функцию EventChartCustom...
 
Andrey Barinov:

なぜ、彼はそれを受け続けなければならないのか?

これは、まさに証明書に記載されている通りです。

https://www.mql5.com/ru/docs/constants/chartconstants/enum_chartevents

するとOnBookEventが対応し(なぜ記述と食い違うのか)、開発者はぐっすり眠れる。

OnBookEventよりもOnChartEventの 方がより詳細な記述をしているというだけのことです

 
A100:
そして、OnBookEventが対応し、開発者は安心して眠ることができる。

OnBookEventについては、私は対象外なのでコメントできません。しかし、MouseWheelについては、ヘルプに、チャートのプロパティ であり、このチャート上で動作するすべての プログラムに関係する、と明確に書かれています。

 
Andrey Barinov:

OnBookEventについては、私は対象外なのでコメントできません。しかし、ヘルプのMouseWheelについては、チャートのプロパティ であり、このチャート上で動作するすべての プログラムに関係することが明確に書かれています。

さらに 開発者は「あるEAの加入状況が他のEAに影響を及ぼすべきではない」という原則を打ち出しました。

原理が一般的であれば、OnBookEventとOnChartEventは同じであるべきである

また、OnChartEventの働きが記述に対応していることをここで 指摘した。

Подписка на OnBookEvent иногда отваливается - есть такое?
Подписка на OnBookEvent иногда отваливается - есть такое?
  • 2018.07.25
  • www.mql5.com
После того как поплотнее занялся стаканом и повесил на чарты несколько экспертов и индикаторов, подписанных на OnBookEvent, обнаружил, что некоторы...
 
A100:

さらに 開発者は、あるEAのサブスクリプションの状態が他のEAに影響を及ぼしてはならない、という原則を策定した。

サブスクリプションはサブスクリプションだが、チャートのプロパティはチャートのプロパティである。

MOUSE_WHEEL は、チャートの背景色を設定するのと同じです。あるインジケーターを使ってもいいし、別のインジケーターを使ってもいい。この場合、ChartGet()すると、それらはすべて現在の色を取得します。

 
Andrey Barinov:

サブスクリプションはサブスクリプションだが、グラフプロパティはグラフプロパティである。

MOUSE_WHEEL は、チャートの背景色を設定するのと同じです。あるインジケーターを使ってもいいし、別のインジケーターを使ってもいい。同時に、ChartGet()すると、それらはすべて現在の色を取得します。

混同しないように。プロパティではなく、サブスクリプションについて話しています。
 
A100:
混乱しないでください。それは

サブスクリプションについて、プロパティについてではなく

混乱はしていない。

以下は、あなたのコードの一部です。

ChartSetInteger( 0, CHART_EVENT_MOUSE_WHEEL, b )

これはグラフのプロパティ であり、サブスクリプションではありません。