Spezifikation
Необходимо написать индикатор который:
1) Наносит на график Ценовые уровни по алгоритму (см. ТЗ).
2) По запросу хэндла передает в советник набор параметров (см. ТЗ).
3) Выводит на графическую панель основные параметры индикатора.
Пример скрина разметки во вложении.
Вот алгоритм
1) у цены 2 состояния. она растет или снижается. если мы пробили очередной уровень БАЙ или движемся от разворотной зоны БАЙ, цена растет и наоборот. То есть это логическая переменная рост/падение и состояние когда еще неизвестно в начале работы индюка.
2) смена направления. это событие.
Может произойти двумя способами. например мы шли вверх - для смены направления должны либо пробить уровень бай вверх телом свечи с закрепом, а потом пробить вниз с закрепом (CLOSE сначала за уровнем - пробой, потом с другой стороны- возврат. Либо пойти вниз от текущего уровня и если между ним и нижней разворотной зоной нет ни одного больше уровня пробить нижнюю разворотку.
по этому событию меняется тренд
3) фазы жизни уровня
1) создание - это зона сопротивления которая смогла продержаться не менее N свечй.
2) пробитие тенью. - зона не считеется пробитой но за ней лесенкой чуть дальше по очередному экстремуму рисуется новая.
3) истинное пробитие уровня - закрытие тела свечи дальше уровня.
4) обратный пробой. После этого объект Уровень - становится Разворотным уровнем.
5) пробой разворотного уровня телом свечи – уровень пробит рисуется далее без заливки. Смены тренда не происходит, за ним если формируется рисуем опять очередной ценовой уровень по направлению движения цены.
То есть у уровня должно быть 5 логических параметров и только один из них одновременно может быть истиной.
Дальше, чтобы не загромождать график - мы выбираем сколько последних зон контролить. ( реально это число 2-3) но пусть будет возожность менять. от 1 до 10. Это количество БЛИЖАЙШИХ уровней продолжает рисоваться дальше вправо.
Зона в фазе жизни уровня «Создан» - сплошная заливка.
фаза 2-3 границы тем же цветом, заливка прозрачная
фаза 4 - меняем цвет на желтый.
5-я фаза это уже пробитие разворотной зоны. после этого она тоже без заливки.
ТЗ подготовлено в екселе. Смотрите все листы ТЗ пожалуйста.
Дополнительные требования:
1) В дальнейшем индикатор будет использоваться в работе советника, который планируется заказывать у того же исполнителя - чтобы меньше было накладок. Поэтому нужен исполнитель готовый в будущем к продолжению работы в несколько большем объеме чем просто написать индикатор.
2) Каждая строка кода должна быть внятно прокомментирована, чтобы человек знакомый с программированием на начальном уровне смог понять общие принципы работы индикатора.
3) Исходные коды передаются заказчику.
4) Результаты работы не подлежат свободному распространению исполнителем.