Продолжаем обсуждать базовый источник в OsEngine – BotTabSimple.
В этой статье на очереди следующие события:
- Изменение портфеля источника на бирже.
- Первый трейд в текущем торговом дне.
- Обновление индикатора.
- Подписались на инструмент.
- Удаление робота. Удаление источника.
События, которые рассматриваются сегодня, внутри источника BotTabSimple находятся здесь:
PortfolioOnExchangeChangedEvent.
Событие будет вызвано, когда из коннектора пришло обновление по портфелю. При этом изменения могут быть любые, не только по позициям тех инструментов, к которому подключен источник.
Подробнее про биржевой портфель: https://smart-lab.ru/company/os_engine/blog/1043474.php
Пример подписки из робота:
- Подписка на событие.
- Обработчик события.
- Портфель приходит в качестве параметра.
FirstTickToDayEvent.
Событие будет вызвано, если в текущем календарном дне прошёл первый трейд (Новая запись в ленте сделок). Это наиболее простой и точный способ понять, что торговая сессия началась.
Подробнее про класс Trade и ленту сделок: https://smart-lab.ru/company/os_engine/blog/1042480.php
Пример подписки из робота:
- Подписка на событие.
- Обработчик события.
- Первый сегодня трейд приходит в качестве параметра.
IndicatorUpdateEvent.
Событие вызывается при манипуляциях с индикаторами на источнике в трёх случаях:
- Когда по какому-то индикатору источника изменились настройки.
- Когда был создан новый индикатор.
- Когда индикатор был удалён.
Пример подписки из робота:
- Подписка на событие.
- Обработчик события.
SecuritySubscribeEvent.
Событие вызывается в момент полной доступности биржевого инструмента и его обновлении.
Подробнее про биржевой инструмент: https://smart-lab.ru/company/os_engine/blog/1043241.php
Пример подписки из робота:
- Подписка на событие.
- Обработчик события.
- Биржевой инструмент, который подключен к источнику.
DeleteBotEvent и TabDeletedEvent.
Событие вызывается, когда был запрос на удаление робота, соответственно и вкладки.
ВАЖНО!!! Использовать данные события не рекомендуется. Они здесь для технических целей слоя создания роботов.
Чтобы узнать, когда робот был удалён пользователем, рекомендуется использовать DeleteEvent самого робота. Вот так:
- Подписываемся на событие удаления роботов.
- Обработчик. Здесь можно очистить за собой память и остановить потоки, если Вы их запускали.
Удачных алгоритмов!
Комментарии открыты для друзей!
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