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

MQL5 Scripts

Termos de Referência

Скрипт расставляющий метки новостей из текстового файла (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).

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

Arquivos anexados:

Respondido

1
Desenvolvedor 1
Classificação
(40)
Projetos
106
52%
Arbitragem
17
12% / 65%
Expirado
25
24%
Livre
2
Desenvolvedor 2
Classificação
(473)
Projetos
1138
44%
Arbitragem
51
31% / 33%
Expirado
500
44%
Livre
3
Desenvolvedor 3
Classificação
(71)
Projetos
254
53%
Arbitragem
16
50% / 38%
Expirado
83
33%
Livre
4
Desenvolvedor 4
Classificação
(15)
Projetos
37
62%
Arbitragem
1
0% / 100%
Expirado
1
3%
Livre
5
Desenvolvedor 5
Classificação
(2)
Projetos
5
20%
Arbitragem
2
50% / 0%
Expirado
0
Livre

Informações sobre o projeto

Orçamento
10 - 20 USD
Desenvolvedor
9 - 18 USD
Prazo
de 1 para 5 dias