Техническое задание
Основная идея
Необходимо создать индикатор, который будет отрисовывать строго горизонтальный уровень по значению максимальной / минимальной цены закрытых свечей в соответствии с требованиями ниже.
Требования к исполнению
Приоритетно - исполнение для MT4 или MT5
Допускается исполнение в Pine для TradingWiev.
Исполнитель предоставляет исходный код готового продукта без каких либо паролей и блокировок.
Исполнитель имеет право использовать наработки по данному заказу для использования в других коммерческих или личных проектах.
Требования к работе индикатора
1. Индикатор должен отрисовывать уровни как в реальном времени (по последней сформированной свече на графике), так и на исторических данных графика.
2. Индикатор должен предоставлять возможность выбора цветовой раскраски уровней.
3. Анализируемым блоком свечей считается группа свечей, на основе анализа цены которых построен уровень.
4. Индикатор начинает анализ блока свечей от максимальной/минимальной цены первой свечи анализируемого блока свечей.
5. Первой свечей блока может быть любая свеча, максимальная/минимальная цена которой удовлетворяет условиям последующего сравнения.
6. Значение максимальной/минимальной цены каждой последующей свечи анализируемого блока должно быть либо равно максимальной/минимальной цене первой свечи блока, либо находиться в пределах установленного люфта.
7. При анализе последующих свечей индикатор должен предоставлять возможность учитывать или нет нахождение свечей в одной плоскости
8. Индикатор заканчивает анализ блока свечей, если после закрытия очередной свечи в анализируемом блоке свечей, максимальная/минимальная цена последней закрывшейся свечи выходит за пределы люфта. Либо анализ завершается в случае, если количество анализируемых свечей превышает значение настройки «Максимальное количество свечей, по которым формируется уровень».
9. Индикатор отрисовывает уровень после завершения анализа по блоку свечей (как только максимальная цена свечи выходит за пределы люфта).
10. Если в анализе участвует количество свечей, меньше значения (X), указываемого в настройках индикатора, то уровень не отрисовывается.
11. Люфт должен рассчитываться, как отклонение от максимального/минимального значения цены первой свечи анализируемого блока свечей. Размер люфта указывается в настройках индикатора.
12. Уровень должен быть отрисован строго от первой до последней свечи проанализированного блока свечей.
13. Отрисованный уровень на графике должен быть редактируемым вручную - растянуть уровень (влево и/или вправо), сдвинуть уровень (вверх или вниз).
14. Индикатор должен работать на любом временном диапазоне (тайм фрейме).
15. Индикатор должен работать на любом инструменте.
16. Индикатор не должен перерисовывать уровни после завершения анализа по блоку свечей.
17. Индикатор должен предоставлять опцию (чекбокс) протяжки отрисовываемого уровня влево до ближайшей свечи с значением максимальной/минимальной цены (далее пот тексту – формирование Нулевой свечи), совпадающей копейка-в-копейку с минимальной/максимальной ценой первой свечи анализируемого блока. Плоскость нахождения нулевой свечи не учитывается. Для данной опции необходима настройка максимального количества поиска свечей влево для поиска эквивалентной цены.
Необходимые настройки индикатора:
18. Выбор цвета уровня
19. Выбор толщины линии уровня
20. Учитывать нахождение баров в одной плоскости от уровня.
21. Диапазон анализа графика в глубину, начиная от последней свечи на графике - параметр выставляется вручную; минимально допустимое значение = X ; максимально допустимое значение =1000 свечей
22. Минимальное количество свечей, по которым формируется уровень (X) - параметр выставляется вручную; минимально допустимое значение = 2, максимально допустимое значение = 100 (Y)
23. Максимальное количество свечей, по которым формируется уровень - параметр выставляется вручную; минимально допустимое значение = (X+1), максимально допустимое значение = ( Y+2 )
24. Значение люфта- параметр выставляется вручную; указывается в пипсах (pips), то есть по значению последнего разряда цены инструмента; минимально допустимое значение = 0, максимально допустимое значение = 10 000. Если установлено значение 0 (ноль), то максимальная/минимальная цена последующих анализируемых свечей блока должна биться копейка-в-копейку с максимальной/минимальной ценой первой свечи анализируемого блока.
25. Чекбокс "протягивать уровень до свечи с эквивалентной ценой".
· Настройка для данной опции (чекбокса) - максимальное количество свечей влево для поиска нулевой свечи; минимально допустимое значение = 1, максимально допустимое значение = 10 000