MQL4 - automated forex trading   /  

Форум

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

К списку тем Авторизуйтесь или зарегистрируйтесь, чтобы создать новую тему

avatar
88
Zebra 16.01.2012 05:36 
Подскажите, пожалуйста, есть ли в MQL4 функция с помощью которой можно узнать время терминала, например, EET, GMT или какое-то другое?

Организуйте багтрекинг и техсаппорт для своей компании

В TeamWox имеются все для того чтобы организовать багтрекинг. Интегрировав модуль Сервисдеск с веб-сайтом, Вы сможете получать заявки своих клиентов напрямую в TeamWox. Более того, вся переписка с клиентами автоматически распознается и попадает в архив, где ее без труда можно найти в будущем.


avatar
4232
Zhunko 16.01.2012 14:40 

avatar
88
Zebra 16.01.2012 16:51 
Спасибо, эти функции мне известны, но мне нужно получить не само значение времени, а часовой пояс к которому привязаны временные данные.

avatar
624
zxc 16.01.2012 17:08 
Такой функции в MQL4 нет. Именно поэтому, ночные скальперы делаются с ручным вводом значения параметра GMT.

avatar
1409
jartmailru 16.01.2012 18:07 
Ну, вообще-то, локальное время и его GMT известно,
имея текущее время сервера- вычислить его GMT- тривиально.

avatar
3672
IgorM 16.01.2012 18:08 
может этот топик поможет: http://forum.mql4.com/ru/29015

avatar
88
Zebra 16.01.2012 19:42 
спасибо, коллеги, буду разбираться.

avatar
2222
HIDDEN 16.01.2012 20:40 
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

К списку тем  

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий