Еще раз про таймзоны, GMT, серверное и локальное время - страница 5

 

getch 18.01.2010 01:39

getch писал(а) >>

Отвечу кодом.

Желательно запускать на EURUSD M1-M5:

Да!.. Хорошая была попытка, и идея интересная, но.... это все равно что пытаться найти зебру пешеходного перехода по замедлению скорости машин перед ней :(когда на переходе нет людей - машины не тормозят, а некоторые тормозят метров за 100 до перехода чтобы подобрать голосующего пассажира.

Вот на одном и том же счете сначала запустил на М5 и тут же на М1

+2 и -10 ... к сожалению это даже не "разброс" это полное непопадание :((


Я расчитывал на то, что где то в недрах папочки может сохранится файл с отметкой времени записи последней котировки по локальному времени, или где то в каком то служебном файле что то такое сидит (ну вроде как способ получения списка валютных пар из файла из symbol.sel )

 

Отличий в результатах между M1 и M5 не должно быть (алгоритм такой) при выставленных параметрах. Раз есть отличия, значит полной истории за Days дней нет по какому-то из таймфрэймов.

Проверял скрипт далеко не на одном ДЦ, работает везде. Также специально вынесены параметры Days и Error, чтобы можно было посмотреть, как они влияют на результат.

Сам скрипт - эта простая реализация высказанной идеи. Реализовать можно по-разному. Сама идея оказалось рабочей.

 

:((( не работает

на каждом из таймов нажал кнопочку Home и потом держал нажатой PgUp пока сервер отдавал хоть чтото (т.е. вроде как закачал всю доступную историю)

вот результаты:

2010.01.18 12:39:44 getch EURUSD,M5: removed
2010.01.18 12:39:44 getch EURUSD,M5: uninit reason 0
2010.01.18 12:39:44 getch EURUSD,M5: ServerGMT = 2
2010.01.18 12:39:44 getch EURUSD,M5: TimeX2 = 15:00
2010.01.18 12:39:44 getch EURUSD,M5 inputs: Days=30; Error=10; TimeX="12:30"; Volumes=false;
2010.01.18 12:39:43 getch EURUSD,M5: loaded successfully
2010.01.18 12:39:39 getch EURUSD,M1: removed
2010.01.18 12:39:39 getch EURUSD,M1: uninit reason 0
2010.01.18 12:39:39 getch EURUSD,M1: ServerGMT = 1
2010.01.18 12:39:39 getch EURUSD,M1: TimeX2 = 13:33
2010.01.18 12:39:39 getch EURUSD,M1 inputs: Days=30; Error=10; TimeX="12:30"; Volumes=false;
2010.01.18 12:39:38 getch EURUSD,M1: loaded successfully

ну да ладно... ставим точку в изысканиях...

да ждем что скажут разработчики. если захотят - сделают добавочку в MarketInfo, если нет - будем и дальше стоять "на ушах"


а вообще-то не понятно, как до сих пор на это никто не натыкался?! Ведь внутридня торговать без учета сессий это настоящий экстрим :) Неужели все всё в уме держат?? Или просто у большинства только один счет и их это не волнует?

 
Напишите в личку название брокера.
 

Я перепутал время выхода новостей по США - 12:30GMT+0. На самом деле оно 13:30GMT+0.

Пункт Error специально был добавлен. Он служит не для подгонки результатов, а для оценки свойств реализации. На вашем сервере (как и на других) скрипт отлично справляется со своей задачей:

2010.01.18 15:08:55 Test-GMT EURUSD,M5: removed
2010.01.18 15:08:55 Test-GMT EURUSD,M5: uninit reason 0
2010.01.18 15:08:55 Test-GMT EURUSD,M5: ServerGMT = 2
2010.01.18 15:08:55 Test-GMT EURUSD,M5: TimeX2 = 15:35
2010.01.18 15:08:55 Test-GMT EURUSD,M5 inputs: Days=30; Error=5; TimeX="13:30"; Volumes=true
2010.01.18 15:08:55 Test-GMT EURUSD,M5: loaded successfully
2010.01.18 15:08:38 Test-GMT EURUSD,M5: removed
2010.01.18 15:08:38 Test-GMT EURUSD,M5: uninit reason 0
2010.01.18 15:08:38 Test-GMT EURUSD,M5: ServerGMT = 2
2010.01.18 15:08:38 Test-GMT EURUSD,M5: TimeX2 = 15:30
2010.01.18 15:08:38 Test-GMT EURUSD,M5 inputs: Days=30; Error=5; TimeX="13:30"; Volumes=false
2010.01.18 15:08:38 Test-GMT EURUSD,M5: loaded successfully

В 13:30GMT+0 (USA news) среднемесячная активность на любом промежутке времени по паре EURUSD остается самой большой.

 

ForexTools писал(а) >>

осталось дождаться ответа разработчиков - может смогут они оторвать от пятерки немножко человекочасов и доделать несколько несложных функций в боевые сервера и терминалы четверки ;)

GMTToLocal, GMTToServer, LocalToServer, LocalToGMT, ServerToLocal, ServerToGMT

ну или хотя бы в MarketInfo добавят два параметра MODE_LOCALTIMEZONE и MODE_SERVERTIMEZONE

уважаемые разработчики - отзовитесь пожалуйста...

уж очень не хочется мне прибегать к решениям а-ля getch если для вас добавить такое новое поле в MarketInfo - полчаса работы ;)

 
ForexTools >>:

Простите "многабукавак", но без них мои следующие два вопроса были бы не совсем понятны. Итак:

1) можно ли как то (не запоминая заранее) определить таймзону сервера в выходные или когда терминал запускается а подключения к серверу нет?

2) разработчкам: можно ли добавить в МТ4 в функцию из МТ5 TimeTradeServer (а еще лучше TimeZoneServer() и TimeZoneLocal()), которая будет возвращать текущее время сервера даже когда поток котировок "остановлен"?


Очевидно, что я туплю и не понимаю в чём проблема.

На любом тике, в любом месте индикатора, советника определяется разница TimeLocal и TimeCurrent, заносится куда то для запоминания. Хоть в реестр, хоть в файл, хоть в гл.переменные. Обновляются эти записи, допустим, каждые полчаса. Когда нужно обратиться к TimeCurrent, всегда обращаешся на самом деле к не к TimeCurrent непосредственно, а TimeLocal с поправкой. Естественно, когда нужно на тиках обновлять запись поправки, это можно делать, только когда сервер в работе и TimeCurrent возвращает нормальное время. В принципе, за пару дней выходных не должна набегать большая ошибка.

В общем, дурацкий какой то совет, не может быть что бы всё так просто было.

 
HideYourRichess >>:

Очевидно, что я туплю и не понимаю в чём проблема.

На любом тике, в любом месте индикатора, советника определяется разница TimeLocal и TimeCurrent, заносится куда то для запоминания....

Проблема в том что хочется иметь УНИВЕРСАЛЬНЫЙ инструмент ;)

Я уже писал в личку разрабочикам, что они создали "уникальный инструмент для ГЛОБАЛЬНОЙ торговли и не предусмотрели возможность синхронизации его отдельных компонент".

Я сейчас взялся за переработку своих инструментов для внутридневной торговли - торговые сессии и события, статистика по размерам и динамике баров в определенные часы торговых сессий. И там вылазит такая вавка: стащил я календарь событий и хочу поставить метку о каком то событии на график. Начал я это делать в выходные и времени для вычисления таймзоны сервера не было. И тут начались танцы с бубном: вместо того чтобы просто получить время события в GMT, получить номер бара по этом времени и на нем нарисовать рысочку события (или таким же образом отметить начало и конец работы Токийской биржи), я начал изучать и выяснять какое время у моих серверов.

 
Понятно.
 
HideYourRichess >>:
Понятно.

Вот я робко и надеюсь что разработчикам тоже станет понятно "чего ему надо" и они сделают добавку в рабочую 4-ку (ибо как в 5-ке это уже есть) :)

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