Время в метатрейдре

 
Подскажите, пожалуйста, есть ли в MQL4 функция с помощью которой можно узнать время терминала, например, EET, GMT или какое-то другое?
 
Спасибо, эти функции мне известны, но мне нужно получить не само значение времени, а часовой пояс к которому привязаны временные данные.
 
Такой функции в MQL4 нет. Именно поэтому, ночные скальперы делаются с ручным вводом значения параметра GMT.
 
Ну, вообще-то, локальное время и его GMT известно,
имея текущее время сервера- вычислить его GMT- тривиально.
 
может этот топик поможет: https://www.mql5.com/ru/forum/123222
 
спасибо, коллеги, буду разбираться.
 
Zebra:
Подскажите, пожалуйста, есть ли в MQL4 функция с помощью которой можно узнать время терминала, например, EET, GMT или какое-то другое?

Zёbra, без WinAPI эту задачу не решить. Вот писал тут сейчас для своего проекта... получите и распишитесь как говорится...

#import "kernel32.dll"
int GetTimeZoneInformation(int& TZInfoArray[]);
#import


int start(){
   int TZInfoArray[43]; int dst = GetTimeZoneInformation(TZInfoArray);
//----
   int TimeZone = TZInfoArray[0];          // часовой пояс на основе локальных данных DLL (разница с GMT)
   int SummerTime = dst-1;                 // переход на зимнее/летнее время: 1 = лето, 0 = зима
 
   datetime Broker = TimeCurrent();        // переменная времени BROKER
   Print("Brokers = ",TimeToStr(Broker,TIME_DATE|TIME_SECONDS));
   datetime Local = TimeLocal();           // переменная времени LOCAL
   Print("Local = ",TimeToStr(Local,TIME_DATE|TIME_SECONDS));
   datetime GMT = Local + (TimeZone * 60);   // переменная времени GMT
   Print("GMT = ",TimeToStr(GMT,TIME_DATE|TIME_SECONDS));
//----
   return(0);
  }

В 2-х словах, если локальное время на компе выбрано не правильно, т.е. не та зона, то естественно работать будет не правильно. Как в винде синхронизировать время, выставить свою тайм зону написано в яшке и гугле.

Вдогонку для экспериментов: http://www.autoforex.ru/articles/timezones/timezones.php

Причина обращения: