PeriodSeconds

이 함수는 기간(초)을 반환합니다.

int  PeriodSeconds(
   ENUM_TIMEFRAMES  period=PERIOD_CURRENT      // 차트 기간
   );

매개변수

period=PERIOD_CURRENT

[in]  열거 ENUM_TIMEFRAMES의 차트 기간 값. 매개변수를 지정하지 않으면 프로그램이 실행되는 현재 차트 기간의 초 수를 반환합니다.

값 반환

선택된 기간의 초 수.

예:

//--- 입력 매개변수
input ENUM_TIMEFRAMES InpPeriod1 = PERIOD_CURRENT;   // First Period
input ENUM_TIMEFRAMES InpPeriod2 = PERIOD_M1;        // Second Period
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- InpPeriod1 및 InpPeriod2 차트 기간의 초의 수를 가져옵니다.
   int sec1=PeriodSeconds(InpPeriod1);
   int sec2=PeriodSeconds(InpPeriod2);
//--- 수신된 값을 로그에 표시합니다.
   PrintFormat("Seconds in period %s: %lu, in period %s: %lu",TimeframeDescription(InpPeriod1),sec1,TimeframeDescription(InpPeriod2),sec2);
//--- 차트 기간이 InpPeriod1인 바에 포함된 InpPeriod2 차트 기간의 바의 수를 계산합니다.
   int res=sec1/sec2;
   if(res==0)
      res=1;
//--- 얻은 값을 로그에 표시합니다.
   PrintFormat("One bar %s contains %d bars %s",TimeframeDescription(InpPeriod1),res,TimeframeDescription(InpPeriod2));
   /*
   Result:
   Seconds in period M5300in period M160
   One bar M5 contains 5 bars M1
   */
  }
//+------------------------------------------------------------------+
//| 차트 주기명 반환                                                   |
//+------------------------------------------------------------------+
string TimeframeDescription(const ENUM_TIMEFRAMES period)
  {
   return(StringSubstr(EnumToString(period==PERIOD_CURRENT ? Period() : period), 7));
  }

추가 참조

_Period, 차트 시간프레임, 날짜 및 시간, 객체의 가시성