L'abonnement à OnBookEvent est parfois interrompu - existe-t-il une telle chose ? - page 12

 
Stanislav Korotky:
L'important, c'est le résultat... à savoir, que le problème a reçu un nombre suffisant de réponses et a été repris par les développeurs.
 
Stanislav Korotky:

Tu as commencé la discussion, tu la finis. Je n'ai pas à m'excuser. Je faisais une remarque, contrairement à toi.

J'ai vu tous vos messages. Vous n'avez cité que ce qui vous convenait, et ce qui précédait, puis vous l'avez ignoré comme si vous ne l'aviez pas écrit. En effet, dès la première fois, vous avez réussi à reproduire le problème. Et de toute façon, vous êtes venu sur ce fil avec votre problème, qui n'a rien à voir avec le sujet.

Le fait que tu continues à écrire ne te caractérise pas de la meilleure façon, tu gâches ton image, et les gens...

les gens s'en souviennent longtemps. Mais le problème a été compris, et je précise que ce n'est pas à votre "instigation" !

Je ne vous répondrai plus (ça devient pour le moins ridicule)

 
Slava:

Je comprends le problème.

Pour compléter le tableau, je joins les codes de contrôle pour 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; }

Attachez le 1er indicateur au tableau... puis le 2ème indicateur. Après la suppression du deuxième indicateur du graphique, le premier cesse de recevoir les événements CHARTEVENT_MOUSE_WHEEL, alors qu'il les recevait correctement auparavant.

 
A100:

Attachez le 1er indicateur au tableau... puis le 2ème. Après la suppression du deuxième indicateur du graphique, le premier cesse de recevoir les événements CHARTEVENT_MOUSE_WHEEL, alors qu'il les recevait auparavant.

Pourquoi devrait-elle continuer à les recevoir ?

Il est exactement comme décrit dans l'aide :

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:

Pourquoi devrait-il continuer à en recevoir ?

C'est exactement ce qui est décrit dans le certificat :

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

Ensuite, OnBookEvent correspond (pourquoi y a-t-il une divergence avec la description ?) et les développeurs peuvent dormir sur leurs deux oreilles.

C'est juste que OnChartEvent a une description plus détaillée que OnBookEvent.

 
A100:
Ensuite, le OnBookEvent correspond et les développeurs peuvent dormir tranquillement.

Je ne peux pas faire de commentaires sur OnBookEvent, je ne suis pas dans le sujet. Mais pour ce qui est de MouseWheel, il est clairement écrit dans l'aide qu'il s'agit d'une propriété de la carte, et qu'elle concerne tous les programmes fonctionnant sur cette carte.

 
Andrey Barinov:

Je ne peux pas faire de commentaires sur OnBookEvent, je ne suis pas dans le sujet. Mais à propos de MouseWheel dans l'aide, il est clairement écrit que c'est une propriété d'un graphique, et qu'elle concerne tous les programmes s'exécutant sur ce graphique.

En outre , le développeur a formulé le principe suivant : le statut d'abonnement d'une EE ne doit pas affecter les autres EE.

Si le principe est général, il doit être le même pour OnBookEvent et OnChartEvent.

J'ai également noté ici que le travail de OnChartEvent correspond à la description

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

En outre , le développeur a formulé le principe suivant : l'état de l'abonnement d'une EA ne doit pas affecter les autres EA.

Les abonnements sont des abonnements, mais la propriété du graphique est une propriété du graphique.

MOUSE_WHEEL revient à définir la couleur de fond du graphique. Vous pouvez utiliser un indicateur, et vous pouvez en utiliser un autre. Dans ce cas, lorsque ChartGet(), ils obtiendront tous la couleur actuelle.

 
Andrey Barinov:

Les abonnements sont des abonnements, mais la propriété du graphique est une propriété du graphique.

MOUSE_WHEEL revient à définir la couleur de fond du graphique. Vous pouvez utiliser un indicateur et vous pouvez en utiliser un autre. En même temps, lorsque ChartGet(), ils obtiendront tous la couleur actuelle.

Ne pas confondre. Nous parlons d'abonnements, pas de propriétés
 
A100:
Ne vous embrouillez pas. C'est...

sur les abonnements, pas sur les propriétés

Je ne suis pas confus.

Voici ce morceau de votre code

ChartSetInteger( 0, CHART_EVENT_MOUSE_WHEEL, b )

Il s'agit de la propriété du graphique, et non de l'abonnement.

Raison: