Усложняем примеры индикаторов. Сегодня на очереди индикатор с параметрами и двумя сериями данных. Индикатор «Price Channel», или «Ценовой канал», или «Donchian Channel». Поговорим о том, как он устроен.

1. Где исходники?
Посмотреть исходный код индикатора PriceChannel на ГитХаб можно здесь:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/PriceChannel.cs
В скриптах проекта, это вот этот файл:

2. Разбор класса.

- Объявлен атрибут «Indicator» и в скобочках указано название класса индикатора. OsEngine после этого понимает, что это индикатор.
- Класс индикатора унаследован от «Aindicator». После этого внутри класса нам доступно создание параметров и нужно объявить два обязательных метода.
- Объявление параметра глубины поиска max High для верхней серии данных.
- Объявление параметра глубины поиска min Low для нижней серии данных.
- Объявление серии для верхней линии индикатора.
- Объявление серии для нижней линии индикатора.
- Создан обязательный метод OnStateChange.
- Создан обязательный метод OnProcess, вызываемый в тот момент, когда надо пересчитать значение индикатора по какому-то индексу.
3. Метод OnStateChange.

- Создание параметра глубины поиска max High для верхней серии данных.
- Создание параметра глубины поиска min Low для нижней серии данных.
- Создание серии для верхней линии индикатора.
- Создание серии для нижней линии индикатора.
4. Метод OnProcess.

- Ищем максимальный хай за N свечей назад.
- Ищем минимальный лой за M свечей назад.
- Устанавливаем значения в серии данных.
Удачных алгоритмов!
Комментарии открыты для друзей!

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php
