Индикатор торговых сессий на основе базы данных TZ Data.

MQL4 Indicateurs Intégration

Spécifications

(Вопрос для специалиста в языке MQL4, компетентного разобраться в механизме задействования в коде индикатора – базы данных tzdata.)

Предпосылки к разработке кода индикатора.

Точность и корректность работы большинства существующих индикаторов, предназначенных для сигнализации о времени наступления событий, зависит от правильности и корректности их временнЫх настроек. Подавляющее большинство т.н. «mql-инструментов», призванных полноценно решать эту задачу, так щедро разбросанных в форумных топиках, равно как и в Code Base всем известного ресурса, являются не более чем – разрекламированными форумчанами бестолковыми пародиями, в 95% случаев неспособными корректно отобразить даже временной диапазон торговых сессий российских бирж. А что уж говорить о таких площадках, как, например - Bombay Stock Exchange, Bovespa или Tadawul… Если речь идет о коррекции времени наступления событий в рамках одного часового пояса, то в этом случае нет никаких сложностей. Два раза в год (в момент перехода с/на летнего/зимнего времени), в настройки времени индикатора вносятся соответствующие коррективы (как правило, сводящиеся к указанию времени, соответствующего текущему времени сервера брокера/ДЦ), и индикатор продолжает свою исправную и точную работу. Если же речь идет о коррекции времени наступления событий в рамках нескольких (двух, трех и более) часовых поясов, механизм корректировки остается тот же, но добавляется комплекс поисковых, сверочных и коррекционных мероприятий, направленных на установление и сверку точного текущего времени (относительно UTC) в зонах отображаемых событий с временем в котором работает индикатор (серверное время брокера/ДЦ). Помимо этого, для корректной работы индикатора, в настройки необходимо внести еще и соответствующие поправки (DST/offset и т.д.). В противном случае, показания индикатора будут ошибочны. Таким образом, чем больше количество временных зон (поясов), события в которых отображает индикатор, тем более громоздкой и обременительной становится настройка/сверка/изменение параметров времени в индикаторе. Предварительное рассуждение заключено в том, что для сведЕния громоздкой настройки индикатора к простому указанию времени сервера брокера/ДЦ, следует использовать в коде индикатора – базу данных tzdata, которая предназначена для автоматического учета разницы временнЫх зон и смещения времени относительно DST, что и является непосредственным решением задачи.

Задача.

Требуется разработка кода индикатора для MetaTrader 4. Код должен представлять из себя - алгоритм расчета времени согласно данных tzdata, которые будут учитывать унифицированное именование часовых поясов и смещение локального времени в различных регионах относительно универсального времени UTC. Конечное назначение индикатора – сигнализация о времени открытия и закрытия торговых площадок путем нанесения соответствующих линий в подокне графика инструмента в терминале MT4.

Код индикатора должен учитывать:

   - UTC-таймзону сервера брокера,

   - UTC-offset (смещение) таймзон городов бирж,

   - время (разницу во времени) DST.

Иными словами, индикатор должен отрисовывать линии соответствующие времени работы той или иной биржи с учетом смещения (offset) времени часовых поясов, а также, с учетом перехода того или иного города на летнее/зимнее время (DST).

Конечное обслуживание индикатора (пользование) должно заключаться в указании/корректировке во внешних переменных – времени открытия/закрытия бирж и установке временной зоны брокера/ДЦ. 

Описание репозитория tzdata:  http://habrahabr.ru/post/130401/

Страница tzdata на Википедии:  https://ru.wikipedia.org/wiki/Tz_database

Ссылки на базу tzdata (IANA TimeZoneDatabase):  http://www.iana.org/time-zones

Пример задействования базы tzdata:  http://stswoon.blogspot.ru/2014/02/time-zones.html

P.S.: ТЗ написано с детальной проработкой многих нюансов. Но, чтобы не бежать впереди паровоза, на данный момент требуется компетентный ответ специалиста на вопросы:

     1. Возможно ли задействование данных базы tzdata в MQL4-коде индикатора – в принципе?

     2. Данные базы tzdata обновляются несколько раз в год. В крайней степени удобно было бы - подразумевать автоматический импорт обновленных данных из базы tzdata в код индикатора. Насколько это технически возможно и осуществимо – вопрос…

     3. В случае невозможности автоматического импорта, требуется оценка степени сложности задействования данных базы tzdata в коде индикатора – простое копирование, конвертация, включение dll или?…

     4. Как вариант для обсуждения – написание кода приложения *.exe (или?), которое выполняло бы все поставленные задачи. 

Недостатком такого варианта будет отсутствие наглядности (вряд ли, удастся транслировать в подокно графика инструмента в MT4 – данные из стороннего приложения).

Если с точки зрения специалиста, не будут выявлены существенные сложности, как в реализации идеи, так и в дальнейшей работе индикатора – рассматриваем ТЗ детально.

Répondu

1
Développeur 1
Évaluation
(34)
Projets
55
31%
Arbitrage
8
0% / 63%
En retard
13
24%
Gratuit
Publié : 22 articles, 1 code
2
Développeur 2
Évaluation
(71)
Projets
83
39%
Arbitrage
3
0% / 0%
En retard
1
1%
Gratuit
Publié : 7 codes
3
Développeur 3
Évaluation
(40)
Projets
106
52%
Arbitrage
17
12% / 65%
En retard
25
24%
Gratuit
4
Développeur 4
Évaluation
Projets
1
0%
Arbitrage
0
En retard
1
100%
Gratuit
5
Développeur 5
Évaluation
(807)
Projets
1127
43%
Arbitrage
47
49% / 23%
En retard
84
7%
Gratuit
6
Développeur 6
Évaluation
Projets
3
33%
Arbitrage
3
0% / 100%
En retard
1
33%
Gratuit
7
Développeur 7
Évaluation
(80)
Projets
117
67%
Arbitrage
16
25% / 13%
En retard
12
10%
Gratuit
Publié : 2 codes
8
Développeur 8
Évaluation
(49)
Projets
134
27%
Arbitrage
62
13% / 53%
En retard
58
43%
Gratuit
Publié : 351 articles, 1 code
9
Développeur 9
Évaluation
(15)
Projets
37
62%
Arbitrage
1
0% / 100%
En retard
1
3%
Gratuit
Publié : 1 article, 29 codes

Informations sur le projet

Budget
100+ USD
Délais
de 7 jour(s)