ChartOpen

Abre um novo gráfico com o símbolo e período especificado.

long  ChartOpen(
   string           symbol,     // Nome Simbolo
   ENUM_TIMEFRAMES  period      // Período
   );

Parâmetros

symbol

[in]  Simbolo do gráfico. NULL significa o símbolo do gráfico de corrente (Expert Advisor é anexado).

period

[in]  Período do Gráfico (Prazo). Pode ser um dos valores de ENUM_TIMEFRAMES. 0 (zero) significa o período do atual gráfico.

Valor retornado

Se com sucesso, retorna à abertura do ID gráfico. Caso contrário, retorna 0(zero).

Observação

O número máximo possível de cartas abertas simultaneamente no terminal não pode exceder o valor CHARTS_MAX.

Exemplo:

#define CHART_SYMBOL  NULL
#define CHART_PERIOD  PERIOD_CURRENT
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- definimos o símbolo e o período de tempo para o novo gráfico
   string symbol=CHART_SYMBOL;
   if(symbol==NULL)
      symbol=Symbol();
   ENUM_TIMEFRAMES timeframe = (CHART_PERIOD==PERIOD_CURRENT ? Period() : CHART_PERIOD);
   
//--- abrimos um novo gráfico com o símbolo e o período especificados
   long chart_id=ChartOpen(symboltimeframe);
   if(chart_id==0)
     {
      Print("ChartOpen() failed. Error "GetLastError());
      return;
     }
 
//--- imprimimos no log os parâmetros do gráfico aberto
   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
   */
  }