ChartIndicatorName

Devuelve el nombre breve del indicador según su número en la lista de indicadores en la determinada ventana del gráfico.

string  ChartIndicatorName(
   long  chart_id,      // identificador del gráfico
   int   sub_window     // número de subventana
   int   index          // índice del indicador en la lista de indicadores agregados a esta ventana del gráfico
   );

Parámetros

chart_id

[in]   Identificador del gráfico. 0 significa el gráfico actual.

sub_window

[in]  Número de subventana del gráfico. 0 significa la ventana principal del gráfico.

index

[in]  Índice del indicador en la lista de indicadores. La numeración de indicadores se empieza desde cero, es decir el primer indicador de la lista tiene el índice cero. El número de indicadores en la lista se obtiene a través de la función ChartIndicatorsTotal().

Valor devuelto

La función devuelve el nombre breve del indicador que se establece en la propiedad INDICATOR_SHORTNAME por la función IndicatorSetString(). Para obtener el nombre breve, se puede usar la función ChartIndicatorName(). Para obtener la información sobre el error, hay que llamar a la función GetLastError().

Nota

No se debe confundir el nombre breve del indicador con el nombre del archivo que se indica durante la creación del indicador por las funciones iCustom() y IndicatorCreate(). Si el nombre breve del indicador no está establecido de una manera explícita, entonces durante la compilación ahí se indica el nombre del archivo que contiene el código fuente del indicador. 

Si un indicador se quita del gráfico, esto no significa que su parte de cálculo también será eliminada de la memoria del terminal. Para liberar el manejador del indicador, hay que usar la funciónIndicatorRelease().

Se debe formar correctamente el nombre breve del indicador. Este nombre se escribe en la propiedad INDICATOR_SHORTNAME mediante la función IndicatorSetString(). Es recomendable que el nombre breve contenga los valores de los parámetros de entrada del indicador, puesto que en la función ChartIndicatorDelete() la identificación del indicador que se quita del gráfico se realiza precisamente por el nombre breve.

Ejemplo:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- obtenemos el identificador del gráfico actual y el número de sus subventanas, incluida la ventana principal
   long chart_id = ChartID();
   int  wnd_total= (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL);
   
//--- iteramos en un ciclo por todas las ventanas del gráfico actual
   for(int w=0w<wnd_totalw++)
     {
      //--- obtenemos el número de indicadores adjuntos a la ventana del gráfico indicada por el índice del ciclo
      int ind_total=ChartIndicatorsTotal(chart_idw);
      
      //--- imprimimos el encabezado para la ventana de gráfico elegida
      PrintFormat("Chart window %d indicators: "w);
      
      //--- obtenemos en un ciclo y escribimos en una variable todos los nombres de los indicadores adjuntos a la ventana seleccionada
      string ind_names="";
      for(int i=0i<ind_totali++)
        {
         ind_names+="  "+ChartIndicatorName(chart_idwi)+(i<ind_total-1 ? "\n""");
        }
      //--- imprimimos en el registro la lista resultante de los nombres de todos los indicadores adjuntos a la ventana del gráfico especificada
      Print(ind_names);
     }
   /*
   resultado:
   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)
   */
  }

Véase también

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