ChartOpen

Abre un gráfico nuevo con un símbolo y período especificados

long  ChartOpen(
   string           symbol,     // nombre del símbolo
   ENUM_TIMEFRAMES  period      // período
   );

Parámetros

symbol

[in]  Símbolo del gráfico. NULL significa el símbolo del gráfico corriente (al que está adjuntado Asesor Experto).

period

[in]  Período del gráfico (período de tiempo). Puede adquirir uno de los valores de la enumeración ENUM_TIMEFRAMES. 0 significa el período del gráfico corriente.

Valor devuelto

En caso del éxito la función devuelve el identificador del gráfico. De lo contrario devuelve 0.

Nota

El número máximo posible de gráficos abiertos a la vez en el terminal no puede superar el valor de CHARTS_MAX.

Ejemplo:

#define CHART_SYMBOL  NULL
#define CHART_PERIOD  PERIOD_CURRENT
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- establecemos el símbolo y el marco temporal para el nuevo gráfico
   string symbol=CHART_SYMBOL;
   if(symbol==NULL)
      symbol=Symbol();
   ENUM_TIMEFRAMES timeframe = (CHART_PERIOD==PERIOD_CURRENT ? Period() : CHART_PERIOD);
   
//--- abrimos el nuevo gráfico con el símbolo y periodo establecidos
   long chart_id=ChartOpen(symboltimeframe);
   if(chart_id==0)
     {
      Print("ChartOpen() failed. Error "GetLastError());
      return;
     }
 
//--- imprimimos en el registro los parámetros del gráfico abierto
   PrintFormat("A new chart of the %s symbol has been opened with a period of %s and ChartID %I64u",
               symbolStringSubstr(EnumToString(timeframe), 7), chart_id);
   /*
   resultado:
   A new chart of the GBPUSD symbol has been opened with a period of M1 and ChartID 133346697706632016
   */
  }