Accueil Trading Systématique Publication

Test de l'Expert Advisor ChartEvent pour MetaTrader : Guide Pratique

Pièce jointe
17875.zip (4.97 KB, Télécharger 0 fois)

L'Expert Advisor Test_ChartEvent.mq4 est un exemple parfait pour illustrer les différents types d'événements ChartEvent : événements liés aux touches du clavier, clics et mouvements de souris, ainsi que des événements personnalisés. Vous pouvez appuyer sur la touche 'H' pour obtenir de l’aide et sur la touche 'M' pour entrer en mode MOUSE_MOVE.

Ce code source fonctionne aussi bien sur MetaTrader 4 que sur MetaTrader 5.


Prototype de Fonction

  • bool Obj_Create()
  • bool Obj_Delete()
  • bool Obj_Move(int hSens,int vSens) - déplace un objet.
  • void Print_Info() - affiche des informations sur les objets.
  • int MouseMove(int aXX,int aYY,string sState) - gère l'événement de mouvement de la souris.


Variables Globales

  • int gChartNo=0
  • int gSubWinNo=0
  • string gsObj_Name_selected="" - le nom de l'objet actuellement sélectionné.


Événements Personnalisés

Trois types d'événements personnalisés sont définis :

  • #define cMyEvent_1 0
  • #define cMyEvent_2 1
  • #define cMyEvent_3_broadcast 2


Fonction OnTimer()

Cette fonction crée les événements ChartEvent personnalisés de manière périodique. Elle génère aléatoirement ces trois événements personnalisés (cMyEvent_1, cMyEvent_2, et cMyEvent_3_broadcast). En particulier, l'événement cMyEvent_3_broadcast est généré pour toutes les fenêtres de graphique ouvertes.


Exemple de Classe

La classe CObjectMan est créée pour gérer la fonctionnalité des objets sur un graphique. Deux instances (variables) de cette classe sont déclarées : gObjectMan1 et gObjectMan2.

Les noms des objets graphiques liés à ces deux instances sont respectivement : "Bouton Vert" et "Bouton Jaune".


Traitement des Événements

void OnChartEvent() :

Les événements CHARTEVENT_KEYDOWN :

  1. 4 touches directionnelles (flèches) ou les 4 touches directionnelles du panneau numérique pour déplacer l'objet sélectionné.
  2. 'H' : affiche les informations d'aide (dans la fenêtre de log de l'expert).
  3. 'I' : affiche les informations de position de deux objets.
  4. 'M' : active l'événement MOUSE_MOVE.


Événements Personnalisés

Affichez les informations concernant ces événements, en particulier pour l'événement MyEvent_3_broadcast.


Événements d'Objet

  • CHARTEVENT_OBJECT_CHANGE, CHARTEVENT_OBJECT_DRAG, CHARTEVENT_OBJECT_DELETE - affiche le nom de l'objet correspondant.
  • CHARTEVENT_OBJECT_CLICK - affiche le nom de l'objet cliqué, sélectionne son nom pour le déplacer avec les touches directionnelles.


Événements de Souris

  • CHARTEVENT_CLICK - affiche les informations de la barre cliquée : les prix (ouverture, fermeture) et le temps de la barre.
  • CHARTEVENT_MOUSE_MOVE (voir : CHART_EVENT_MOUSE_MOVE) - affiche les informations de l'intervalle couvert : nombre de barres, variation de prix.

Exemple de Test ChartEvent


Démonstration

Vous pouvez effectuer les tests suivants :

  • Cliquez sur l'un des deux objets (Boutons) pour le sélectionner et utilisez les touches fléchées pour déplacer l'objet sélectionné.
  • Cliquez sur une barre graphique et voyez les informations de la barre dans l'onglet log (message).
  • Appuyez sur la touche 'M' pour entrer en mode MOUSE_MOVE. Appuyez sur Ctrl+F pour afficher la croix, puis effectuez une opération de glisser-déposer. Si vous ne voyez pas le message dans le log, veuillez changer le paramètre d'entrée : "iLogLevel".

Articles connexes

Commentaire (0)