- OnStart
- OnInit
- OnDeinit
- OnTick
- OnCalculate
- OnTimer
- OnTrade
- OnTradeTransaction
- OnBookEvent
- OnChartEvent
- OnTester
- OnTesterInit
- OnTesterDeinit
- OnTesterPass
OnChartEvent
La fonction est appelée dans les indicateurs et les EA lorsque l'évènement ChartEvent se produit. La fonction permet de gérer les changements du graphique opérés par l'utilisateur ou par un programme MQL5.
void OnChartEvent()
|
Parameters
id
[in] Identifiant de l'évènement issu de l'énumération ENUM_CHART_EVENT.
lparam
[in] Paramètre de l'évènement de type long
dparam
[in] Paramètre de l'évènement de type double
sparam
[in] Paramètre de l'évènement de type string
Valeur de Retour
Aucune valeur de retour
Note
Il existe 11 types d'évènements pouvant être gérés avec la fonction prédéfinie OnChartEvent(). 65535 identifiants de CHARTEVENT_CUSTOM à CHARTEVENT_CUSTOM_LAST inclus sont fournis pour les évènements personnalisés. Pour générer un évènement personnalisé, utilisez la fonction EventChartCustom().
Descriptions courtes des évènements de l'énumération ENUM_CHART_EVENT :
- CHARTEVENT_KEYDOWN appui d'une touche du clavier lorsque le focus est sur la fenêtre du graphique ;
- CHARTEVENT_MOUSE_MOVE déplacement de la souris et clics sur l'un des boutons de la souris (si CHART_EVENT_MOUSE_MOVE=true pour le graphique) ;
- CHARTEVENT_OBJECT_CREATE création d'un objet graphique (si CHART_EVENT_OBJECT_CREATE=true pour le graphique) ;
- CHARTEVENT_OBJECT_CHANGE changement des propriétés d'un objet via la fenêtre des propriétés ;
- CHARTEVENT_OBJECT_DELETE suppression d'un objet graphique (si CHART_EVENT_OBJECT_DELETE=true pour le graphique) ;
- CHARTEVENT_CLICK clic sur le graphique ;
- CHARTEVENT_OBJECT_CLICK clic de souris sur un objet graphique appartement au graphique ;
- CHARTEVENT_OBJECT_DRAG déplacement d'un objet graphique avec la souris ;
- CHARTEVENT_OBJECT_ENDEDIT fin de l'édition d'un texte dans une zone de saisie d'un objet graphique (OBJ_EDIT) ;
- CHARTEVENT_CHART_CHANGE changement de graphique ;
- CHARTEVENT_CUSTOM+n identifiant d'un évènement personnalisé, où n est dans l'intervalle 0 à 65535. CHARTEVENT_CUSTOM_LAST contient le dernier identifiant possible pour un évènement personnalisé (CHARTEVENT_CUSTOM+65535).
Tous les programmes MQL5 fonctionnent dans des threads différents du thread principal de l'application. Le thread principal de l'application est responsable de la gestion de tous les messages systèmes de Windows et à son tour, génère des messages Windows pour sa propre utilisation. Par exemple, le déplacement de la souris sur le graphique (évènement WM_MOUSE_MOVE) génère plusieurs messages systèmes pour faire le rendu sur la fenêtre de l'application, et envoie aussi des messages internes aux experts et aux indicateurs lancés sur le graphique. Une situation peut se produire où le thread principal de l'application n'a pas encore traité le message système WM_PAINT (et n'a donc pas encore redessiné le graphique modifié), alors qu'un EA ou un indicateur a déjà reçu l'évènement du mouvement de la souris. Dans ce cas, la propriété CHART_FIRST_VISIBLE_BAR du graphique ne sera changée le rafraîchissement du graphique.
Pour chaque type d'évènement, les paramètres d'entrée de la fonction OnChartEvent() ont certaines valeurs nécessaires pour traiter cet évènement. Le tableau liste les évènements et les valeurs passées via les paramètres.
Evènement |
Valeur du paramètre 'id' |
Valeur du paramètre 'lparam' |
Valeur du paramètre 'dparam' |
Valeur du paramètre 'sparam' |
---|---|---|---|---|
Evènement d'appui sur une touche |
CHARTEVENT_KEYDOWN |
code de la touche pressée |
Le nombre d'appuis générés pendant que la touche était maintenue pressée |
Valeur sous forme d'une chaîne de caractères du masque de bits, qui décrit le statut des touches du clavier |
Evènements souris (si CHART_EVENT_MOUSE_MOVE=true pour le graphique) |
CHARTEVENT_MOUSE_MOVE |
Coordonnée X |
Coordonnée Y |
Valeur sous forme d'une chaîne de caractères du masque de bits, qui décrit le statut des boutons de la souris |
Evènement de la molette de la souris (si CHART_EVENT_MOUSE_WHEEL=true pour le graphique) |
CHARTEVENT_MOUSE_WHEEL |
Flags des états des touches et des boutons de la souris, les coordonnées X et Y du curseur. Voir la description dans l'exemple |
La valeur Delta du défilement de la molette de la souris |
|
Création d'un objet graphique (si CHART_EVENT_OBJECT_CREATE=true pour le graphique) |
CHARTEVENT_OBJECT_CREATE |
|
|
Nom d'un objet graphique créé |
Changement des propriétés d'un objet via la fenêtre des propriétés |
CHARTEVENT_OBJECT_CHANGE |
|
|
Nom d'un objet graphique modifié |
Suppression d'un objet graphique (si CHART_EVENT_OBJECT_DELETE=true pour le graphique) |
CHARTEVENT_OBJECT_DELETE |
|
|
Nom d'un objet graphique supprimé |
Clic de la souris sur un graphique |
CHARTEVENT_CLICK |
Coordonnée X |
Coordonnée Y |
|
Clic de la souris sur un objet graphique |
CHARTEVENT_OBJECT_CLICK |
Coordonnée X |
Coordonnée Y |
Nom d'un object graphique sur lequel l'évènement s'est produit |
Déplacement d'un objet graphique avec la souris |
CHARTEVENT_OBJECT_DRAG |
|
|
Nom de l'objet graphique déplacé |
Fin d'édition du texte dans la zone de saisie de l'objet graphique Champ d'Edition |
CHARTEVENT_OBJECT_ENDEDIT |
|
|
Nom de l'objet graphique Champ d'Edition dans lequel l'édition du texte est terminée |
Changement de la taille du graphique ou modification des propriétés du graphique via la boîte de dialogue des propriétés |
CHARTEVENT_CHART_CHANGE |
|
|
|
Evènement personnalisé avec le nombre N |
CHARTEVENT_CUSTOM+N |
Valeur définie par la fonction EventChartCustom() |
Valeur définie par la fonction EventChartCustom() |
Valeur définie par la fonction EventChartCustom() |
Exemple de listener d'évènement du graphique :
//+------------------------------------------------------------------+
|
Voir également
EventChartCustom, Types d'évènements graphiques, Fonctions de gestion des évènements, Exécution du programme, Evènements du terminal client