Продолжаем исследовать слой создания индикаторов в OsEngine.
В данном посте посмотрим на конечный интерфейс индикаторов в системе. IIndicator – то, как все индикаторы в системе видит OsEngine.
Интерфейс IIndicator представляет собой определенный контракт, реализация которого позволяет модулям терминала единообразно взаимодействовать с индикаторами. Сам интерфейс находится в проекте вот здесь:
В иерархии наследования во время создания индикатора мы находимся здесь:
Т.е. это ещё не конечный класс-родитель для индикаторов. Aindicator будем рассматривать в одной из следующих статей.
Если рассматривать интерфейс большими мазками, то можно выделить следующих четыре смысловые группы членов:
TypeIndicator задает способ отображения индикатора в области графика. Перечисление IndicatorChartPaintType может иметь следующие значения:
Colors – список цветов для серий данных индикатора.
ValuesToChart – список всех значений индикатора, распределенных по сериям данных.
CanDelete указывает, можно ли удалять индикатор с графика. Данный флаг нужен для того, чтобы запрещать удалять индикаторы, которые являются источниками данных для других индикаторов.
NameSeries – название для серии данных, которое будет отображаться на графике.
NameArea – название области графика, на которой текущий индикатор будет отображаться.
Name – уникальное название для индикатора.
PaintOn – флаг указывает, нужно ли отображать данный индикатор на графике.
Save – метод сохраняет настройки индикатора в хранилище.
Load – метод загружает настройки индикатора из хранилища.
Delete – метод удаляет файл с настройками индикатора из хранилища.
Clear – метод удаляет серии данных из индикатора.
ShowDialog – открывает окно с настройками индикатора.
NeadToReloadEvent – событие сигнализирует о том, что необходимо перерисовать данный индикатор.
Process – метод принимает серию свечей, выполняет расчеты серий данных индикатора.
Но примерно с 2020 года у нас появился новый упрощенный слой создания индикаторов, который на себя взял большую часть работы.
Поговорим об этом в следующей статье…
Удачных алгоритмов!
Комментарии открыты для друзей!
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