Продолжаем разговор про автоматический анализ и торговлю на рынках по новостям.
В текущей статье обзор примеров и кода, которые могут пригодиться при создании роботов по теме.
Робот, который добавлялся для проверки функциональности. Он ничего не делает, но единственный его источник как раз BotTabNews. Этот источник может отображать новости в терминале OsEngine и транслировать их роботу в исходный код.
Интеграция LLM (GPT, Claude, DeepSeek) в OsEngine позволяет создать полностью автоматизированную систему, которая торгует на основе данных из новостей. Продолжаем разбираться с тем, как это работает.
Сегодня поговорим про концепцию взаимодействия ИИ и Вашего робота. Примеры роботов будем рассматривать чуть позже в этой серии статей.
Некоторое время назад в OsEngine был добавлен источник, позволяющий подключаться к новостному потоку. RSS, Телеграмм, Смарт-Лаб. Вводная статья здесь: https://smart-lab.ru/company/os_engine/blog/1118776.php
Сделано это было не в праздных интересах, «чтобы было». Сделано это для вполне конкретных вещей автоматизации торговли, чтобы можно было наладить автоматическое исполнение приказов, исходя из новостных лент. Как по явным сигналам, так и при помощи их анализа искусственным интеллектом.
Возвращаемся к теме после небольшого перерыва. Сегодня рассмотрим концептуальные вопросы работы с ИИ.
Компании разработчики LLM предоставляют различные способы взаимодействия с ними.
На выходных в OsEngine добавлено обновление, упрощающее написание торговой логики роботов и индикаторов.
Для роботов добавлены операторы неявного преобразования для упрощения работы c классами StrategyParameterLabel, StrategyParameterInt, StrategyParameterDecimal, StrategyParameterBool, StrategyParameterString, StrategyParameterTimeOfDay, StrategyParameterCheckBox, StrategyParameterDecimalCheckBox.
Для индикаторов добавлены операторы неявного преобразования для упрощения работы c классами IndicatorParameterInt, IndicatorParameterDecimal, IndicatorParameterBool, IndicatorParameterString.
Например, можно использовать экземпляр StrategyParameterInt в контексте, где ожидается int, без явного обращения к свойству ValueInt.
Раньше:
Закончили автоматизацию скачивания исторических данных с FTP сервера биржи Binance. Из интересного, лента сделок с этого типа коннектора качается примерно в 100 раз быстрее, чем через торговый коннектор к Binance. Плюс данное подключение не требует регистрации.
Разбираемся с тем, как это работает.
Через коннектор BinanceData доступно скачивание тиков и свечных данных по криптовалютным парам биржи Binance.
Для использования коннектора не требуется регистрация на бирже.
Исторические данные доступны с момента начала торгов на бирже Binance, то есть с августа 2017 года.
Для запуска коннектора в главном меню OsEngine выбираем Дата:
Сегодня поговорим про то, как пробросить Открытый интерес из коннекторов в роботов. Будем смотреть на способы, которые пробрасывают данные в свечи и ленту сделок.
Рассмотрим реализацию добавления OI в коннектор на примере Transaq Connector. Идём в проекте сюда:

Поговорим сегодня про модуль «Показатели нагрузки на систему». Зачем он нужен и что там можно увидеть.
Открывается окно модуля по кнопке «Нагрузка на систему» вот здесь:
Продолжаем разбираться с сетками в скринерах. Учимся маркетить инструменты не по одному, а пачками. Сегодня посмотрим пример, который выбрасывает сетки в тренд по ускорению рынка относительно усреднённой внутридневной волатильности.
Сегодняшний пример: GridScreenerAdaptiveSoldiers.
Тип сетки: MarketMaking.
Логика: Сигналом для выброса сетки служит паттерн «Три солдата», т.е. три расположенные в одну сторону свечи (растущие или падающие). Три свечи вместе должны соответствовать размеру в N % от усреднённой внутридневной волатильности, которая считается внутри робота.
Закрытие сетки происходит по двум условиям: 1) Кол-во отработанных позиций. 2) Кол-во времени жизни сетки в секундах.
Для начала Вам следует открыть исходный код робота GridScreenerAdaptiveSoldiers. Внутри проекта это здесь:
Сегодня посмотрим на работу с сетками в источнике BotTabScreener. Учимся маркетить инструменты не по одному, а пачками.
Сегодняшний пример: GridBollingerScreener.
Тип сетки: MarketMaking.
Логика: Сигналом для выброса сетки служит индикатор Bollinger. Выше верхней линии – выброс сетки в Short. Ниже нижней линии – выброс сетки в Long. По обратному сигналу – закрытие сетки. Кроме того, у нас есть фильтр по ADX для выброса сетки, чтобы она выбрасывалась только под определённую волатильность. Всё это смотрится по нескольким или десяткам инструментов одновременно, с ограничением максимального кол-ва сеток в рынке.
Из интересного, сразу стоит выделить неторговые периоды для сетки, которые настраиваются из робота напрямую.
Для начала Вам следует открыть исходный код робота GridBollingerScreener. Внутри проекта это здесь: