ChartOpen

Открывает новый график с указанным символом и периодом.

long  ChartOpen(
   string           symbol,     // имя символа
   ENUM_TIMEFRAMES  period      // период
   );

Параметры

symbol

[in]  Символ графика. NULL oзначает символ текущего графика (к которому прикреплен эксперт).

period

[in]  Период графика (таймфрейм). Может принимать одно из значений перечисления ENUM_TIMEFRAMES. 0 означает период текущего графика.

Возвращаемое значение

При успешном открытии графика функция возвращает идентификатор графика. В противном случае возвращает 0.

Примечание

Максимально возможное количество одновременно открытых графиков в терминале не может быть больше, чем значение CHARTS_MAX.

Пример:

#define CHART_SYMBOL  NULL
#define CHART_PERIOD  PERIOD_CURRENT
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- устанавливаем символ и таймфрейм для нового графика
   string symbol=CHART_SYMBOL;
   if(symbol==NULL)
      symbol=Symbol();
   ENUM_TIMEFRAMES timeframe = (CHART_PERIOD==PERIOD_CURRENT ? Period() : CHART_PERIOD);
   
//--- открываем новый график с заданными символом и периодом
   long chart_id=ChartOpen(symboltimeframe);
   if(chart_id==0)
     {
      Print("ChartOpen() failed. Error "GetLastError());
      return;
     }
 
//--- распечатываем в журнале параметры открытого графика
   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);
   /*
   результат:
   A new chart of the GBPUSD symbol has been opened with a period of M1 and ChartID 133346697706632016
   */
  }