Рассмотрим еще один пример бесплатного арбитражного робота. Продолжаем знакомиться с возможностями BotTabIndex.
Торговая идея:
Брать инструменты, которые отклоняются от широкого рынка без импульса и торговать их на возврат к индексу.
Спам коннектора заявками на смену цены ордера. Спец-тест для проф-коннекторов к MOEX. Камрады, надо делать защиту от такого. Надеюсь, каждый при чтении этой статьи вспомнит и защитит сервер от спама со стороны роботов.
Тесты функционала смены цены ордера. Необходим, если данный функционал у коннектора реализован. Проверяют правильную реакцию коннектора, если подавать в качестве новой цены не правильные значения.
666 лайков от пользователей ГитХаб.
333 клона проекта в работе у пользователей ГитХаб.
Понятия не имею, что бы это могло значить. Но цифры красивые)) Ещё так по 10 раз и будем праздновать победу)
Сам репозиторий:
https://github.com/AlexWan/OsEngine
Напоминаю…
Как и всегда в таких победобесных постах. Работы ещё очень много. Вы видите каждый месяц, что делается колоссальная работа. OsEngine никогда не был коммерческим проектом и до сих пор им не является в классическом представлении. Решение о том, что OsEngine должен стать образцово-показательным терминалом было принято менее чем 2 года назад. Работа идёт. Нам всем ещё есть над чем работать. Нас немного, но мы сильны как никогда.
Спасибо всем, кто помогает проекту!
Спасибо нашим пользователям, за поддержку и терпимость к тем шероховатостям, которые нам ещё предстоит поправить.
Всем приятных выходных!
Так победим!На примере самого простого арбитражного бота разберем способ использования вкладки типа BotTabIndex. Примеры будут и далее.
Перед нами стоит следующая задача: построить график спреда двух торговых инструментов, набросить индикатор ценового канала на график и при расхождении спреда открывать разнонаправленные позиции. По сути, у нас должен получится двуногий арбитраж, который открывает позиции при расхождении спреда, в надежде дождаться сужения и выйти из позиций. В качестве канала будем использовать индикатор LastDayMiddle. Пример робота является демонстрационным и не гарантирует прибыли. Его задача — познакомить вас с возможностями BotTabIndex.
Рассмотрим список полей, используемых в роботе:
Источник BotTabIndex является источником для создания индексов, спредов и других отношений между инструментами. Именно он отвечает за создание индексов и автоформул в роботах OsEngine.
Позволяет собирать несколько бумаг воедино и на основании заданной формулы строить индекс корзины инструментов. Как правило индексная вкладка используется вкупе с простыми вкладками.
Индекс строится в виде свечного графика по заданной формуле и высылает в робота события при изменении последнего значения этого графика по аналогии с простыми вкладками.
Робот анализирует эту информацию и совершает торговые операции уже при помощи простых вкладок. Такой способ отображения позволяет накладывать на график любые индикаторы и использовать их в торговле. Фактически число инструментов в корзине не ограниченно. Таким образом вы самостоятельно можете повторить любой существующий индекс. Единственное ограничение — производительность вашего ПК.
1. Расположение в проекте.
Код класса BotTabIndex располагается в папке проекта OsEngine\project\OsEngine\OsTrader\Panels\Tab\
Расширение слоя тестирование коннекторов. Сегодня закрываем мою личную боль, как глав-тестера. Боль, связанную с отсутствием данных при большой нагрузке на боевой коннект. Сейчас это приходится делать, подключая реальные скринеры-роботы. Исправляем.
Суть теста заключается в том, что мы берём какой-то класс бумаг и подписываемся через скринер на N штук разом. Минимум 15, но я буду тестировать на приёмке в районе 100 и вплоть до полной подписки на весь класс бумаг.
Третья статья про то, как готовить наборы данных для тестов. В первой поговорили про пропуски свечек в данных. Во второй о времени начала и конца набора. Сейчас поговорим о том, как делать наборы данных с разных бирж в одном.
В любых вариациях межбиржевых арбитражей.
Сеты могут качать данные только с одной биржи. Однако тестировать межбиржевой арбитраж нужно одновременно на нескольких площадках. Да и в парном арбитраже это может пригодиться, включая таковые на индексе:
Мы уже говорили про пропуски данных на малоликвидных инструментах. Теперь надо обратить внимание на листинг и делистинг бумаг с площадки. Если не уделить данному вопросу внимание, это поставит под вопрос возможность тестирования стратегий, ориентированных на индекс.
Скачивая большие пакеты данных и выбирая бумаги по принципу «качаем все», вы неизбежно натолкнётесь на ситуацию, когда тикер был только что введён на биржу или уже снят с торгов.
Это видно в OsData в колонках «Start» / «End» / «Load %»:
Сегодня будем учиться собирать индекс в OsEngine по автоформуле. Посмотрим на интерфейсы и поговорим про общую концепцию.
Собирать будем его в тестере. При этом помните, в реале всё плюс минус то же самое.
В прошлой статье на тему мы скачали с Вами два сета данных. Сегодня нам понадобятся данные по Российскому рынку. А именно нефтянка. Будем строить секторальный индекс, взвешенный по объёму:
Напоминаю, нефтянку качали при помощи OsData с сервера MoexDataServer (IIS):