ChartIndicatorName

Retourne le nom court de l'indicateur selon son numéro dans la liste des indicateurs sur la fenêtre indiquée du graphique.

string  ChartIndicatorName(
   long  chart_id,      // l'identificateur du graphique
   int   sub_window     // le numéro de la sous-fenêtre
   int   index          // L'index de l'indicateur dans la liste des indicateurs ajoutés à cette sous-fenêtre du graphique
   );

Paramètres

chart_id

[in]  L'identificateur du graphique. 0 signifie le graphique actuel.

sub_window

[in]  Le numéro de la sous-fenêtre du graphique. 0 signifie la fenêtre principale du graphique.

index

[in]  L'index d'un indicateur dans la liste des indicateurs. La numérotation des indicateurs commence à 0, c'est-à-dire que le premier indicateur de la liste est à l'index 0. Vous pouvez utiliser la fonction ChartIndicatorsTotal() pour obtenir le nombre d'indicateurs.

Valeur de Retour

Le nom court de l'indicateur, qui est spécifié dans la propriété INDICATOR_SHORTNAMEpar la fonctionIndicatorSetString(). La fonctionChartIndicatorName() permet de récupérer le nom court de l'indicateur. Pour obtenir plus d'informations sur l'erreur, il faut appeler la fonction GetLastError().

Note

Il ne faut pas confondre le nom court et de l'indicateur et le nom du fichier qui est spécifié pendant la création de l'indicateur par les fonctionsiCustom() et IndicatorCreate(). Si le nom court de l'indicateur n'est pas spécifié explicitement, alors le nom du fichier avec le code initial de l'indicateur est utilisé pendant la compilation.

La suppression de l'indicateur du graphique ne signifie pas que la partie calculée de l'indicateur sera aussi supprimée de la mémoire du terminal. Pour vider le handle de l'indicateur, utiliser la fonctionIndicatorRelease().

Il est nécessaire de former correctement le nom court de l'indicateur. Celui-ci est écrit dans la propriété INDICATOR_SHORTNAME à l'aide de la fonctionIndicatorSetString() . Nous recommandons que le nom court contienne les valeurs des paramètres d'entrée de l'indicateur, puisque l'identification de l'indicateur supprimé du graphique dans la fonctionChartIndicatorDelete()est faite selon le nom court.

Exemple :

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- récupère l'identifiant du graphique actuel et le numéro de ses sous-fenêtres, y compris la fenêtre principale
   long chart_id = ChartID();
   int  wnd_total= (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL);
   
//--- parcours toutes les fenêtres de graphique actuelles dans une boucle
   for(int w=0w<wnd_totalw++)
     {
      //--- obtient le nombre d'indicateurs attachés à la fenêtre graphique spécifié par l'index de la boucle
      int ind_total=ChartIndicatorsTotal(chart_idw);
      
      //--- écrit l'en-tête de la fenêtre de graphique sélectionnée
      PrintFormat("Chart window %d indicators: "w);
      
      //--- entre dans la boucle et écrit dans la variable tous les noms d'indicateurs attachés à la fenêtre sélectionnée
      string ind_names="";
      for(int i=0i<ind_totali++)
        {
         ind_names+="  "+ChartIndicatorName(chart_idwi)+(i<ind_total-1 ? "\n""");
        }
      //--- écrit la liste obtenue des noms de tous les indicateurs, attachée à la fenêtre graphique spécifiée, dans le journal
      Print(ind_names);
     }
   /*
   résultat :
   Chart window 0 indicators
     AMA(9,2,30)
     SAR(0.02,0.20)
     Fractals
   Chart window 1 indicators
     RSI(14)
     AMA(9,2,30)
   Chart window 2 indicators
     MFI(14)
   */
  }

Voir aussi

ChartIndicatorAdd(), ChartIndicatorDelete(), ChartIndicatorsTotal(), iCustom(), IndicatorCreate(), IndicatorSetString()