ChartOpen

지정된 심볼과 기간으로 새 차트를 열기

long  ChartOpen(
   string           symbol,     // 심볼 이름
   ENUM_TIMEFRAMES  period      // 기간
   );

매개변수

심볼

[in]  차트 심볼. NULL 은 현재 차트의 심볼을 의미합니다 (엑스퍼트 어드바이저가 첨부됨).

기간

[in]  차트 기간 (시간프레임). ENUM_TIMEFRAMES 값 중 하나일 수 있습니다. 0은 현재 차트 기간을 의미합니다.

값 반환

성공하면 열린 차트 ID를 반환합니다. 그렇지 않으면 0을 반환합니다.

주의

터미널에서 동시에 열려 있는 최대 차트 수는 CHARTS_MAX 값을 초과할 수 없습니다.

예:

#define CHART_SYMBOL  NULL
#define CHART_PERIOD  PERIOD_CURRENT
 
//+------------------------------------------------------------------+
//| 스크립트 프로그램 시작 함수                                         |
//+------------------------------------------------------------------+
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
   */
  }