ChartOpen

Apre un nuovo grafico con il simbolo e periodo specificati.

long  ChartOpen(
   string           symbol,     // Nome del Simbolo
   ENUM_TIMEFRAMES  period      // Periodo
   );

Parametri

symbol

[in] Simbolo del Grafico. NULL significa il simbolo del grafico corrente (a cui è allegato l' Expert Advisor).

period

[in]  Periodo del Grafico (timeframe). Può essere uno dei valori ENUM_TIMEFRAMES. 0 indica il corrente periodo del grafico.

Valore restituito

In caso di successo, restituisce l'ID del grafico aperto. Altrimenti restituisce 0.

Nota

Il numero massimo possibile di grafici aperti simultaneamente nel terminale non può superare il valore CHARTS_MAX.

Esempio:

#define CHART_SYMBOL  NULL
#define CHART_PERIOD  PERIOD_CURRENT
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- impostare un nuovo grafico per un simbolo e timeframe
   string symbol=CHART_SYMBOL;
   if(symbol==NULL)
      symbol=Symbol();
   ENUM_TIMEFRAMES timeframe = (CHART_PERIOD==PERIOD_CURRENT ? Period() : CHART_PERIOD);
   
//--- aprire un nuovo grafico con il simbolo e il periodo specificati
   long chart_id=ChartOpen(symboltimeframe);
   if(chart_id==0)
     {
      Print("ChartOpen() failed. Error "GetLastError());
      return;
     }
 
//--- stampare i parametri del grafico aperto nel journal
   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);
   /*
   risultato:
   A new chart of the GBPUSD symbol has been opened with a period of M1 and ChartID 133346697706632016
   */
  }