Скрипт расставляющий метки новостей из текстового файла (GMT 0, не CSV) с коррекцией под время брокера и сменой летнего/зимнего времени

MQL5 脚本

指定

Скрипт расставляющий метки новостей из текстового файла (GMT 0, не CSV) с коррекцией под время брокера и сменой летнего/зимнего времени.

Нужен для визуального тестирования внутридневной стратегии. В дальнейшем планируется использовать данные этого скрипта для написания СОВЕТНИКА по стратегии, поэтому данные, которые будут расставляться должны распознаваться им, т.е. не абстрактные метки.

Файл данных был "выдран" с forexfactory.com. В теории можно было бы брать оттуда напрямую, используя мой аккаунт и пароль, но я не знаю как это автоматизировать чтобы брать данные и за предыдущие года, а не только за текущее время. ;-)

В скрипте должна быть возможность выбора событий по валюте пары + дополнительная (например USD), например перечисление через пробел.

Метки, как в FFCal не устраивают, т.к. он очень громоздок и захламляет график. Хотелось бы, чтобы это были стрелки или какой-либо другой значёк (с возможностью изменения размера и цвета в скрипте) с всплывающей подсказкой при наведении мыши на объект-метку новости.

Т.к. использую свечи Haiken Ashi, то нужен отступ от свечи, чтоб значёк не перекрывался свечой. 

Возможность удаления всех меток с помощью этого же скрипта (триггер "добавить, расставить, убрать" метки).

Чтобы мог расставлять метки и как-бы вперёд, на грядущие события (на forexfactory есть анонсы примерно на месяц вперёд). Естественно, тут речи об отступе уже не идёт, т.к. непонятно что будет. :)

Скрипт должен быть достаточно подробно документирован, чтобы я мог сам в дальнейшем его анализировать, либо корректировать (сейчас опыта очень мало). 

Некоторые нюансы:

Если в текстовом файле по текущей паре Bank Holiday - метка с подсказкой "в этот день не торгуем".

Если новостей по текущей паре много (более ???, число задаётся в скрипте) и они приходятся на время основной сессии по этой валютной паре, то - метка с подсказкой "в этот день не торгуем".

Из текстового файла можно брать информацию о переводе на зимнее/летнее время (Daylight Saving Time Shift), но т.к. перевод осуществляется в выходные, то метки никакой, естественно, не будет.

Бывают события и в воскресенье вечером (Новая Зеландия, Япония). Т.к. я торгую в ДЦ, который начинает рабочий день ещё в воскресенье, то возможность расставить метки должна быть и в этот день. 

Длительность сессий, как на www.stocktime.ru,

Пример с "текущими временами" (зимними) GMT0: Новая Зеландия - лето (21:00-3:45); Австралия - лето (23:00-5:00); Токио, Шанхай, Сингапур (объединены)- без перевода (0:00-9:00); Европа - зимнее время (8:00-16:30), США и Канада - зимнее время (14:30-21:00).

Пример текстового файла и пример картинки с всплывающей подсказкой приложены. 

附加的文件:

反馈

1
开发者 1
等级
(40)
项目
106
52%
仲裁
17
12% / 65%
逾期
25
24%
空闲
2
开发者 2
等级
(473)
项目
1138
44%
仲裁
51
31% / 33%
逾期
500
44%
空闲
3
开发者 3
等级
(71)
项目
254
53%
仲裁
16
50% / 38%
逾期
83
33%
空闲
4
开发者 4
等级
(15)
项目
37
62%
仲裁
1
0% / 100%
逾期
1
3%
空闲
5
开发者 5
等级
(2)
项目
5
20%
仲裁
2
50% / 0%
逾期
0
空闲

项目信息

预算
10 - 20 USD
开发人员
9 - 18 USD
截止日期
 1  5 天