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

MQL4 Indicadores Integração

Termos de Referência

(Вопрос для специалиста в языке 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 – данные из стороннего приложения).

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

Respondido

1
Desenvolvedor 1
Classificação
(34)
Projetos
55
31%
Arbitragem
8
0% / 63%
Expirado
13
24%
Livre
Publicou: 22 artigos, 1 código
2
Desenvolvedor 2
Classificação
(71)
Projetos
83
39%
Arbitragem
3
0% / 0%
Expirado
1
1%
Livre
Publicou: 7 códigos
3
Desenvolvedor 3
Classificação
(40)
Projetos
106
52%
Arbitragem
17
12% / 65%
Expirado
25
24%
Livre
4
Desenvolvedor 4
Classificação
Projetos
1
0%
Arbitragem
0
Expirado
1
100%
Livre
5
Desenvolvedor 5
Classificação
(807)
Projetos
1127
43%
Arbitragem
47
49% / 23%
Expirado
84
7%
Livre
6
Desenvolvedor 6
Classificação
Projetos
3
33%
Arbitragem
3
0% / 100%
Expirado
1
33%
Livre
7
Desenvolvedor 7
Classificação
(80)
Projetos
117
67%
Arbitragem
16
25% / 13%
Expirado
12
10%
Livre
Publicou: 2 códigos
8
Desenvolvedor 8
Classificação
(49)
Projetos
134
27%
Arbitragem
62
13% / 53%
Expirado
58
43%
Livre
Publicou: 351 artigos, 1 código
9
Desenvolvedor 9
Classificação
(15)
Projetos
37
62%
Arbitragem
1
0% / 100%
Expirado
1
3%
Livre
Publicou: 1 artigo, 29 códigos

Informações sobre o projeto

Orçamento
100+ USD
Prazo
de 7 dias