Лондонский отрыв - страница 3

 
gchrmt4:
Как, используя только ту информацию, которую предоставляет MT4, вы узнаете, что на прошлой неделе брокер был в GMT+2?


Потому что сегодня смещение к GMT составляет +3 с учетом перехода на летнее время, а на прошлой неделе, когда брокер был в стандартном времени, смещение было +2.

Единственная разница - переход на летнее время.

 
SDC:

С точки зрения здравого смысла сервер MT4 должен был бы постоянно использовать GMT, но вы знаете, что они не собираются этого делать.


Я думаю, что MT4 должен кодировать часовой пояс и переход на летнее время в своей временной структуре. Это позволит точно использовать историческое время. :)
 
Thirteen:


Потому что сегодня при переходе на летнее время смещение к GMT составляет +3, а на прошлой неделе, когда брокер был в стандартном времени, смещение было +2.

Единственное различие - переход на летнее время.

Скажу иначе: как, используя только ту информацию, которую предоставляет MT4, вы узнаете, что брокер перешел на летнее время по американскому графику, а не по европейскому (или вообще не перешел)? Откуда вы знаете, что они не перешли на зимнее время и перейдут 30 марта?
 

gchrmt4:
[1] how . . . do you know that the broker moved to DST on the US schedule rather than the European schedule (or not at all)?

[2] Откуда вы знаете, что они не находятся сейчас на зимнем времени и не перейдут на него 30 марта? Или что они не используют постоянное GMTZ?
  1. Как я указал в своем первом сообщении, брокер заявил, что он переходит на DST по расписанию США, а не ЕС.
  2. Брокер утверждает, что в стандартное время это GMT+2. Кроме того, используя новую функцию TimeGMT(), теперь можно легко рассчитать смещение сервера относительно GMT.
 
Thirteen:
  1. Как я указал в своем первом сообщении, брокер заявил, что он переходит на DST по расписанию США, а не ЕС.
  2. Брокер утверждает, что в стандартное время это GMT+2. Кроме того, используя новую функцию TimeGMT(), теперь можно легко рассчитать смещение сервера относительно GMT.
Это не информация, которую предоставляет MT4. Это информация, которую предоставляете вы, потому что вы знаете, какого брокера вы используете. Вы не можете, например, дать другим людям часть кода для запуска на неизвестном сервере брокера, который затем надежно конвертирует историческое время в GMT (или, через GMT, в другой часовой пояс, например, Лондон).
 
gchrmt4:
Это не информация, которую предоставляет MT4. Это информация, которую предоставляете вы, потому что вы знаете, какого брокера вы используете. Вы не можете, например, дать другим людям часть кода для запуска на неизвестном сервере брокера, который затем надежно конвертирует историческое время в GMT (или, через GMT, в другой часовой пояс, например, Лондон).

... Возвращаясь к вопросу OP, как вы предлагаете дать им пример кода, который будет надежно работать на любом сервере брокера, который он/она использует, чтобы определить лондонское время и лондонские цены?

Единственный момент, который я все это время пытался донести, заключается в том, что да, вы можете делать конвертацию в GMT или другие часовые пояса, если вы знаете смещение начала отсчета, но MT4 не предоставляет надежной альтернативы, кроме запроса ввода пользователем каких-то настроек времени брокера.

 

Вы можете получить локальное смещение GMT из Windows. Простое сравнение даст вам смещение брокеров, не требуя ввода данных пользователем.

 
Большое спасибо за все комментарии! Я сообщу, когда мой советник будет готов! С моей кривой обучения для MQL4 я надеюсь, что к концу этого года ;-)
 
Nour:
Большое спасибо за все комментарии! Я сообщу, когда мой советник будет готов! С моей кривой обучения MQL4 я надеюсь к концу этого года ;-)
по ссылке https://docs.mql4.com/series/ibarshift, которую я вам дал

Пример:

datetime some_time=D'2004.03.21 12:00';
int shift=iBarShift("EURUSD",PERIOD_M1,some_time);
Print("shift бара с временем открытия",TimeToStr(some_time)," is ",shift);

когда открывается Лондон, в каком часовом поясе?

Какое время было у брокера сегодня в момент открытия Лондона ?? some_time= .................

Какое время было у вашего брокера в этот момент....

 
Обратите внимание, что для любых расчетов по Гринвичу бэктестирование часто должно проводиться иначе, чем форвард-тестирование.