Сегодня посмотрим самый простой индикатор, который только бывает, индикатор Volume. Построчно поговорим о том, что у него там внутри.
1. Где исходники?
Посмотреть исходный код индикатора Volume на ГитХаб можно здесь:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/Volume.cs
В скриптах проекта вот этот файл:
2. Разбор кода.
- Объявлен атрибут «Indicator», и в скобочках указано название класса индикатора. OsEngine после этого понимает, что это индикатор.
- Класс индикатора унаследован от «Aindicator». После этого внутри класса нам доступно создание параметров, и нужно объявить два обязательных метода.
- Объявление серии данных.
- Создан обязательный метод OnStateChange, вызываемый в двух случаях, которые внутри метода обработаны.
- Ветка логики для обработки статуса вызова метода Configure. Это происходит во время создания индикатора.
- Создание серии данных.
- Ветка логики для обработки статуса вызова метода Dispose. Это происходит во время удаления индикатора.
- Удаление ссылки на серию данных путём присваивания её значению ссылки NULL. Необязательная операция, добавлена сюда для примера. После, если Вы создали какие-то массивы, нужно удалить все данные.
- Создан обязательный метод OnProcess, вызываемый в тот момент, когда надо пересчитать значение индикатора по какому-то индексу.
- Присваиваем объём в свече по индексу в значение индикатора по индексу.
Удачных алгоритмов!
Комментарии открыты для друзей!
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