L'indicateur se présente ainsi :

Trois types de constructions graphiques ont été utilisés pour cet effet visuel :
- DRAW_HISTOGRAM2 ("Niveau HAUT");
- DRAW_LINE ("CCI");
- DRAW_HISTOGRAM2 ("Niveau BAS").

Paramètres de l'Indicateur
- Période de moyenne - période de moyenne de l'indicateur ;
- Niveau HAUT - la valeur du niveau HAUT ;
- Niveau BAS - la valeur du niveau BAS.
Les niveaux HAUT et BAS s'afficheront immédiatement dans la sous-fenêtre de l'indicateur :

Comment Accéder aux Données de l'Indicateur dans un Expert Advisor
Le style DRAW_HISTOGRAM2 est basé sur deux tampons d'indicateur, c'est pourquoi nous voyons deux valeurs de Niveau HAUT et deux valeurs de Niveau BAS dans la fenêtre de données :

Ces valeurs correspondent aux tampons d'indicateur de 0 à 4 inclus.
Dans l'Expert Advisor, nous créons un handle d'indicateur en utilisant iCustom :
//--- paramètres d'entrée input int Inp_CCI_ma_period = 14; // Période de moyenne input double Inp_CCI_LevelUP = 90; // Niveau HAUT input double Inp_CCI_LevelDOWN =-90; // Niveau BAS //--- int handle_iCustom; // variable pour stocker le handle de l'indicateur iCustom //+------------------------------------------------------------------+ //| Fonction d'initialisation de l'Expert | //+------------------------------------------------------------------+ int OnInit() { //--- créer le handle de l'indicateur iCCI handle_iCustom=iCustom(Symbol(),Period(),"Niveaux de Couleur CCI",Inp_CCI_ma_period,Inp_CCI_LevelUP,Inp_CCI_LevelDOWN); //--- si le handle n'est pas créé if(handle_iCustom==INVALID_HANDLE) { //--- informer de l'échec et afficher le code d'erreur PrintFormat("Échec de la création du handle de l'indicateur iCCI pour le symbole %s/%s, code d'erreur %d", Symbol(), EnumToString(Period()), GetLastError()); //--- l'indicateur est arrêté prématurément return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); }
On suppose ici que l'indicateur Niveaux de Couleur CCI se trouve dans [dossier de données]\MQL5\Indicators\.
Voici comment les valeurs de l'indicateur sont obtenues (seuls les tampons 0, 2 et 4 sont significatifs) :
//+------------------------------------------------------------------+ //| Fonction de tick de l'Expert | //+------------------------------------------------------------------+ void OnTick() { //--- double level_up = iCustomGet(handle_iCustom,0,0); // tampon #0 -> BufferUpHigh double cci = iCustomGet(handle_iCustom,2,0); // tampon #2 -> BufferCCI double level_down = iCustomGet(handle_iCustom,4,0); // tampon #4 -> BufferDownLow string text="Niveau HAUT #0: "+DoubleToString(level_up,2)+"\n"+ "CCI #0: "+DoubleToString(cci,2)+"\n"+ "Niveau BAS #0: "+DoubleToString(level_down,2); Comment(text); }
Dans la capture d'écran ci-dessus, la souris pointe vers une bougie avec l'index 0, la fenêtre de données avec les données de l'indicateur est également affichée, et les informations de l'EA concernant les tampons 0, 2 et 4 sont affichées sur le graphique.
Articles connexes
- Découvrez l'indicateur Tymen STARC Bands MTF pour MetaTrader 5
- Découvrez l'indicateur 3 en 1 Stochastic pour MetaTrader 5
- Découvrez l'Indicateur Donchian Ultimate pour MT5 : Un Outil Indispensable pour les Traders
- Découvrez le 3XMA_Ichimoku : Un Indicateur Incontournable pour MetaTrader 5
- Découvrez l'indicateur Ultra Spearman Rank Correlation pour MetaTrader 5