工作已完成
![](https://c.mql5.com/i/avatar/avatar_na2.png)
![](https://c.mql5.com/i/avatar/avatar_na2.png)
指定
Краткое описание задания:
Есть график с индикатором, который строит определенную разметку в виде волн, каналов, стрелочек и пр. элементов визуализации. Изменение каждого из этих элементов и/или их цветов и пр. параметров/свойств является определенным событием.
Событие – изменение свойств/параметров объекта (графического элемента).
Требуется инструмент (индикатор/эксперт), который будет считывать с графика разметку графического индикатора и кодировать в текстовом формате два определенных события.
Исходника графического индикатора нет.
Требуется написать инструмент (индикатор/эксперт) для МТ4, который должен:
1. Создавать текстовый документ в папке …\MQL4\Files каталога терминала.
Имя текстового документа берется с графика, на котором запущен индикатор по названию текущего инструмента (со всеми префиксами и пр. при наличии таковых), например, AUDUSDf.
В файле должны. быть две пронумерованные строки, изначально пустые.
2.1. Анализ графика.
Считывать с графика разметку графического индикатора каждую минуту. При считывании анализировать параметры/свойства следующих объектов:
- объект Label, имя объекта SAKS 233: W1 (см. рис.1-3),
- объект Label, имя объекта фаза_H4 (см. рис.4-9).
2.2.1. Объект Label SAKS 233: W1 может иметь следующие варианты свойств/параметров:
1. Вариант «А1» (рис.1):
- описание – й,
- свойства:
- текст – й,
- шрифт – Wingdings,
- размер шрифта – 12,
- цвет шрифта – DodgerBlue,
Назовем этот вариант «Условие 1».
2. Вариант «А2» (рис.2):
- описание – к,
- свойства:
- текст – к,
- шрифт – Wingdings,
- размер шрифта – 12,
- цвет шрифта – OrangeRed,
Назовем этот вариант «Условие 2».
3. Вариант «А3» (рис.3):
- описание – [пусто],
- свойства:
- текст – [пусто],
- шрифт – Wingdings,
- размер шрифта – 12,
- цвет шрифта – None,
Назовем это вариант «Условие 3».
2.2.1. Объект Label фаза_H4 может иметь следующие варианты свойств/параметров:
1. Вариант «В1» (рис.4):
- описание – Ф-3
- свойства:
- текст – Ф-3,
- шрифт – Arial Black,
- размер шрифта – 8,
- цвет шрифта – Magenta,
Назовем этот вариант «Условие 4».
2. Вариант «В2» (рис.5):
- описание – Ф-3
- свойства:
- текст – Ф-3,
- шрифт – Arial Black,
- размер шрифта – 8,
- цвет шрифта – DodgerBlue,
Назовем этот вариант «Условие 5».
3. Вариант «В3» (рис.6):
- описание – Ф-2
- свойства:
- текст – Ф-2,
- шрифт – Arial Black,
- размер шрифта – 8,
- цвет шрифта – Magenta,
Назовем этот вариант «Условие 6».
4. Вариант «В4» (рис.7):
- описание – Ф-2
- свойства:
- текст – Ф-2,
- шрифт – Arial Black,
- размер шрифта – 8,
- цвет шрифта – DodgerBlue,
Назовем этот вариант «Условие 7».
5. Вариант «В5» (рис.8):
- описание – Ф-1
- свойства:
- текст – Ф-1,
- шрифт – Arial Black,
- размер шрифта – 8,
- цвет шрифта – Magenta,
Назовем этот вариант «Условие 8».
6. Вариант «В6» (рис.9):
- описание – Ф-1
- свойства:
- текст – Ф-1,
- шрифт – Arial Black,
- размер шрифта – 8,
- цвет шрифта – DodgerBlue,
Назовем этот вариант «Условие 9».
3.1. Сигналы.
Сигнал «1» возникает (появляется) при логической сумме «Условия 1» И «Условия 4», т.е.: «Условие 1» + «Условие 4» = Сигнал «1»
Сигнал «2» возникает (появляется) при логической сумме «Условия 2» И «Условия 5», т.е.: «Условие 2» + «Условие 5» = Сигнал «2»
При всех прочих комбинациях вариантов (условий) сигналы отсутствуют.
Если хотя бы одно из условий (или оба) возникновения/существования Сигнала «1» не выполняется, Сигнал «1» прекращается.
Если хотя бы одно из условий (или оба) возникновения/существования Сигнала «2» не выполняется, Сигнал «2» прекращается.
3.2. Запись в текстовый документ.
При возникновении Сигнала «1», внести запись из одного символа в виде цифры в первую строку текстового документа – 1 (один).
При отсутствии Сигнала «1» внести запись из двух символов в виде цифр в первую строку текстового документа – 10 (один ноль).
При возникновении Сигнала «2», внести запись из одного символа в виде цифры во вторую строку текстового документа – 2 (два).
При отсутствии Сигнала «2» внести запись из двух символов в виде цифр во вторую строку текстового документа – 20 (два ноль).
4. ВАЖНО:
1. Все, что записано после // - комментарий, в текстовый документ это записываться не должно.
Текстовый документ создается один раз, далее значения символов в нем только редактируются (записываются/перезаписываются).
2. После первой проверки сигналов значения записываются в пустые строки текстового документа. После каждой последующей проверки сигналов, значения в текстовом документе перезаписываются (редактируются):
- В первой строке:
- с «1» (один) на «10» (один ноль)
- с «10» (один ноль) на «1» (один)
- Во второй строке;
- с «2» (два) на «20» (два ноль)
- с «20» (два ноль) на «2» (два)
3. Чтобы не обращаться к текстовому документу каждую минуту, запись в текстовый документ делать только при возникновении сигнала и при окончании (прекращении) сигнала, а саму запись «держать в голове» инструмента.
4. После записи обязательно производить проверку на ошибки:
- текстовый документ существует,
- в текстовом документе сделана запись соответствующая текущей разметке
5. Проверка на ошибки выводит в журнал сообщений сообщение: «Проверка успешно завершена.».
5. E-MAIL УВЕДОМЛЕНИЕ:
После каждого внесения записи в текстовый документ отправлять уведомление на e-mail адрес, который вводится в настройках инструмента пользователем вручную.