Итак, платформа OsEngine продолжает развиваться, предлагая новые возможности для трейдеров. Одним из последних значимых обновлений является запуск нового коннектора MoexFixFastTwimeFutures, который открывает доступ к срочному рынку Московской биржи для торговли фьючерсами и опционами с помощью транзакционных интерфейсов TWIME и FIX Gate.
1. Зачем нужен новый коннектор?
Коннектор MoexFixFastTwimeFutures разработан для того, чтобы предоставить пользователям OsEngine более эффективный инструмент торговли своих торговых алгоритмов, чувствительных к скорости обработки приказов.
2. Чем отличается от других?
Основное отличие нового коннектора заключается в том, что пользователь может выбрать между двумя протоколами совершения транзакций на срочном рынке — TWIME и FIX.
Торговый протокол FIX уже присутствует в OsEngine в коннекторах для спота и валютной секции Московской биржи. Это популярный во всем мире стандарт для обмена финансовой информацией, который используется в области торговли ценными бумагами и других финансовых инструментов. Версия протокола FIX 4.4 была выпущена в 2001 году и является одной из наиболее популярных версий протокола.
Друзья мои, хочу поздравить Сергея с завершением активной стадии написания коннектора для MOEX FixFast Twime Futures (срочная секция).
Наконец-то у нас есть скоростное подключение для торговли на ФОРТС! Без преувеличения, многие этого ждали!
Сергей, СПАСИБО!
Находятся они в проекте, вот здесь: https://github.com/AlexWan/OsEngine
Несколько статей о том, чем подключение к срочной секции отличается от спота, подключение к API из OsEngine и обзор кода. Будет выложено на следующей неделе.
У нас сейчас ещё будет несколько месяцев обкатывания проекта в боевых торгах. Т.ч. ещё какие-то проблемы обязательно будут исправлены. Плюс будет оптимизация проведена. На данный момент ускоряли только FixFastCurrency подключение. В общем, держите руку на пульсе.

Сегодня будем разбираться, зачем в терминалах для алго нужна такая абстракция, как «Позиция» или Position. У нас была техническая статья по этой теме, но вопросы продолжают поступать… И надо концептуально ещё раз объяснить.

Когда в реале активно торгуются десятки инструментов, не редки случаи, когда позиции у робота и на бирже перестают совпадать. Это бывает в моменты сбоев интернета или лагов со стороны биржи или даже ошибок роботов и самом OsEngine.
Надо быть к этому готовым и уметь сверить позицию у роботов и на бирже. Модуль, отвечающий за сравнение позиций у роботов и на бирже, в OsEngine называется «Модуль сравнения позиций». О нём и будем разговаривать.
В этом видео рассмотрим один из способов узнать оптимальное соотношение объёмов между роботами. Ансамблирование объёмов, которое можно делать вручную в журнале OsEngine. Эта информация актуальна, если вы торгуете несколькими роботами одновременно.
VK Видео:
RuTube:
Согласовали розыгрыши алгопризов у стойки АЛОР на конференции 26 октября.
На конференции будем в четыре этапа разыгрывать обучения и готовые исследования по алготрейдингу. Для клиентов АЛОР, понятное дело. Можно будет зарегистрироваться прямо там, на месте! Не забываем паспорт! Можно заранее, вот ссылка: https://www.alorbroker.ru/open?pr=L0745
Розыгрыш будет тут:
Как не попасть на «логические ошибки тестирования» и сделать робота правильно.
Заметка про то, как организовать логику робота, если Вы собираетесь вести большие тесты на свечных данных, а так поступают (или должны бы поступить) 95% всех, кто торгует роботами.
В общем, тема важная.
Основной её тейк такой: Если делаешь робота для тестов на свечках, старайся делать всю логику в событии завершения свечи.
И далее почему.

1. На свечных данных можно много и быстро делать тесты.
Отдельно на этом остановлюсь. И Арбитражи, и скринеры, и ребалансировщики, и тесты на одном инструменте – всё это просто и быстро тестируется на свечных данных.
При этом, если использовать ленту сделок для тестов, сразу же можно напороться на увеличение сложности тестирования в десятки раз (а то и в сотни).
Поэтому, если у тебя не ХФТ, использовать надо для тестов свечи.
В рамках слоя создания роботов есть события, подходящие для создания логики на тестах. В основном это конечно же:

Рассмотрим пример того, как усреднять позицию, выставляя в рынок одновременно несколько ордеров.
Это стало возможно совсем недавно, т.к. камрады из сообщества очень просили. Методы, которыми будем пользоваться для усреднения позиций, называются BuyAtLimitToPositionUnsafe и SellAtLimitToPositionUnsafe. В отличие от старых методов (Без приписки Unsafe), данные методы не убирают предыдущие ордера на усреднение, и можно выставить в рынок множество ордеров.
Точка входа у робота контртредовая на канале Envelops.
Итоговая логика робота на графике выглядит так:

Рассмотрим пример того, как выходить из позиции двумя (вообще можно больше, но в примере 2) лимитными ордерами одновременно.
Это стало возможно совсем недавно, т.к. камрады из сообщества очень просили. Метод, которым будем пользоваться для закрытия позиций, называется CloseAtLimitUnsafe. Отличие от CloseAtLimit такое:
Точка входа у робота контртредовая на канале Envelops.
Итоговая логика робота на графике выглядит так:

Паттерн позволяет разделить логику тестирования от логики реального входа внутри робота для того, чтобы при входе и выходе не «рисовать свечи» своими большими заявками.
Очень важная заготовка паттерна управления позицией для тех, у кого много денег на счету. В том числе разберём исходный код, чтобы Вы могли модернизировать свои способы входа в реале, опираясь на данные исходники. В примере логика айсберга выделена в отдельный объект и использована многопоточность, но её надо будет переиспользовать без изменений, поэтому не пугайтесь, кто не программист, переиспользовать удастся. Будете входить, как захотите в реале.
Итоговая логика робота на графике в реале выглядит так: