Lavoro terminato
Specifiche
Алгоритм зигзаг смена тренда
Зигзаг рисуется по закрытию свечи. Если свеча того же направления (или додж) что и предыдущая, то зигзаг продолжает тоже направление. Если свеча другого направления, то зигзаг меняет свое направление.
При сломе тренда рисуется уровень разворота (УР) от пробитой вершины
Вершины зигзага и УР должны быть описаны в виде классов (class) mql.
Класс вершин зигзага должен содержать:
нформацию о вершине низине и характеристике свечи образовавшую эту вершину: OHLC, time, volume, timeframe, расположение (вершина, низина), количество свечей до предыдущей вершины, количество пунктов до предыдущей вершины.
Параметры визуального отображения: цвет, тип линии
Класс УР должен содержать:
три вышины (типа класса вершин), которые образовали уровень (на рис. метки 1-3), а также цена хай (лоя) превышения вершины (1) – на рис. метка (4)
тип - enum {buy,sell}
время первого теста УР свечей отличной от свечи пробившей уровень
количество тестов уровня снизу вверх (один на свечу)
количество тестов уровня сверху вниз (один на свечу)
Параметры визуального отображения:
Цвет, тип линии buy УР до теста уровня
Цвет, тип линии buy УР после теста уровня
Цвет, тип линии sell УР до теста уровня
Цвет, тип линии sell УР после теста уровня
Количество тестов после которого уровень убирается с графика
В «описании» линии должно быть время формирования УР и количество тестов
УР и вершины зигзага должны храниться в типизированных (своих классов) массивах
Параметры индикатора настраиваемые при запуске
Рабочий таимфрейм – M1-NM – (тайм может отличаться от текущего)
Количество дней для отображения (это же количество дней + необходимый запас нужно использовать для исторического расчета)
Зигзаг
Отображать – да/нет
Цвет зигзага
Уровни разворота
Отображать – да/нет
Цвет, тип линии buy УР до теста уровня
Цвет, тип линии buy УР после теста уровня
Цвет, тип линии sell УР до теста уровня
Цвет, тип линии sell УР после теста уровня
Количество тестов после которого уровень убирается с графика
Уведомление смены тренда
Алерт – да/нет
Уведомление – да/нет
Уведомление первого теста
Алерт – да/нет
Уведомление – да/нет
Требования к написанию кода
Код должен быть написан с использование ООП. С максимальным использованием объектов (классов) с набором свойств и методов.
Таймфрейм может отличаться от текущего. Должна предусмотрена работа нескольких индикаторов на одном графике с разными настройками. Т.е. несколько накинутых индикаторов на один график не должны мешать работе друг друга.
Для загрузки истории необходимой для расчета должна использоваться функция CopyRates
Построение (расчет) зигзага должен осуществляться по факту закрытия свечи. Расчет теста уровня потиково.
Код должен позволять использовать данный индикатор в качестве основы для написания советника.
Для проверки пригодности кода индикатора для советника, должен быть написан тестовый советник который будет открывать сделки в сторону направления УР при первом тесте УР, фиксированным лотом, со стопом за хай(лой) метки (4) см. рисунок. При обратном сигнале сделка закрывается открывается новая. В одном направлении только одна сделка.