TimeCurrent

"마켓 워치(Market Watch)" 창에서 선택한 심볼 중 하나에 대해 마지막으로 확인된 서버 시간, 마지막 시세 수신 시간을 반환. OnTick() 처리기에서 이 기능은 수신된 틱 처리 시간을 반환. 다른 경우(예:핸들러 OnInit(), OnDeinit(), OnTimer()등에서 호출)는 "마켓 워치(Market Watch)" 창에서 사용할 수 있는 심볼에 대한 마지막 시세 수신 시간이며, 이 창 제목에 표시된 시간입니다. 시간 값은 거래 서버에서 형성되며 시스템의 시간 설정에 따라 달라지지 않습니다. 함수의 2가지 변수가 있습니다.

매개변수 없이 호출

datetime  TimeCurrent();

MqlDateTime 유형 매개변수를 사용하여 호출

datetime  TimeCurrent(
   MqlDateTime&  dt_struct      // 구조 유형 변수
   );

매개변수

dt_struct

[out] MqlDateTime 구조 유형 변수.

값 반환

datetime 유형의 값

주의

MqlDateTime 구조 유형 변수가 매개변수로 전달된 경우 그에 따라 채워집니다.

고해상도 카운터 및 타이머를 정렬하려면 밀리초 단위의 값을 생성하는 GetTickCount() 함수를 사용합니다.

전략 테스터에서 테스트하는 동안 과거 데이터에 따라 TimeCurrent() 이 시뮬레이션됩니다.

예:

void OnStart()
  {
//--- 날짜/시간 데이터로 채워질 MqlDateTime 변수를 선언하고 Market Watch 창에서 마지막 시세 시간을 가져옵니다.
   MqlDateTime tm={};
   datetime    time1=TimeCurrent();    // 첫 번째 호출 형태: 종합시세 창에 있는 심볼 중 하나에 대한 마지막 쿼트의 시간
   datetime    time2=TimeCurrent(tm);  // 두 번째 호출 형식: MqlDateTime 구조를 채운 Market Watch 창의 심볼 중 하나에 대한 마지막 쿼트 시간
   
//--- 날짜/시간을 수신하고 해당 데이터로 구조를 로그에 채운 결과를 표시
   PrintFormat("Tick time: %s\n- Year: %u\n- Month: %02u\n- Day: %02u\n- Hour: %02u\n- Min: %02u\n- Sec: %02u\n- Day of Year: %03u\n- Day of Week: %u (%s)",
               (string)time1tm.yeartm.montm.daytm.hourtm.mintm.sectm.day_of_yeartm.day_of_weekEnumToString((ENUM_DAY_OF_WEEK)tm.day_of_week));
  /*
  결과:
   Tick time2024.04.18 15:40:06
   - Year2024
   - Month04
   - Day18
   - Hour15
   - Min40
   - Sec06
   - Day of Year108
   - Day of Week4 (THURSDAY)
  */
  }