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

MQL4 インディケータ 統合

指定

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

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

応答済み

1
開発者 1
評価
(34)
プロジェクト
55
31%
仲裁
8
0% / 63%
期限切れ
13
24%
暇
パブリッシュした人: 22 articles, 1 code
2
開発者 2
評価
(71)
プロジェクト
83
39%
仲裁
3
0% / 0%
期限切れ
1
1%
暇
パブリッシュした人: 7 codes
3
開発者 3
評価
(40)
プロジェクト
106
52%
仲裁
17
12% / 65%
期限切れ
25
24%
暇
4
開発者 4
評価
プロジェクト
1
0%
仲裁
0
期限切れ
1
100%
暇
5
開発者 5
評価
(807)
プロジェクト
1127
43%
仲裁
47
49% / 23%
期限切れ
84
7%
暇
6
開発者 6
評価
プロジェクト
3
33%
仲裁
3
0% / 100%
期限切れ
1
33%
暇
7
開発者 7
評価
(80)
プロジェクト
117
67%
仲裁
16
25% / 13%
期限切れ
12
10%
暇
パブリッシュした人: 2 codes
8
開発者 8
評価
(49)
プロジェクト
134
27%
仲裁
62
13% / 53%
期限切れ
58
43%
暇
パブリッシュした人: 351 articles, 1 code
9
開発者 9
評価
(15)
プロジェクト
37
62%
仲裁
1
0% / 100%
期限切れ
1
3%
暇
パブリッシュした人: 1 article, 29 codes

プロジェクト情報

予算
100+ USD
締め切り
最低 7 日