OsEngine

Сайт продукта: http://o-s-a.net/os-engine.html
OsEngine — OpenSource Framework для алгоритмической торговли.
Полный комплекс программ необходимых для автоматизации торговли на бирже. 

Ссылка на скачивание: https://github.com/AlexWan/OsEngine

Видео: 





Качайте, пользуйтесь. Код полностью открыт – лицензии разрешительные. В комплекте более 30 готовых встроенных роботов. Тренд, КонтрТренд, Арбитраж. Есть возможность делать межбиржевой арбитраж и прочее. Русскоязычная поддержка. Возможность дозаказать коннектор к любой бирже (криптовалют и не только). Есть обучение с нуля для того чтобы быстро самим начать писать роботов.

Подробно про то, что там есть внутри



1. Мощнейший слой создания роботов, похожий на Велс/Тс Лаб. Который можно освоить в кратчайшие сроки.

2. Более 30 встроенных роботов готовых к модернизации и торговли. Тренд, КонтрТренд, Арбитраж.

3. Os.Robot:
a. Индекс Билдер подключенный к роботу. Позволяющий писать арбитражеров в 200 строк.
c. МультиКоннект с одновременным подключением к нескольким источникам.
d. МультиИнструментные стратегии с одновременным доступом из робота к множеству инструментов и индексов.

4. Os.Tester:
a. Свечи, Тики, Стаканы
b. Портфельное (множество ботов одновременно) тестирование.
c. МультиИнструментная эмуляция торгов. Синхронизация в миллисекундах.

5. Os.Optimizer
программа для тестирования на истории одной стратегии с разными параметрами.

6. Os.Data:
a. Сохраняет: Свечи, Тики, Срезы стакана настраиваемой глубины
b. Сохраняет Свечи нестандартных ТФ. От 1 сек.

7. Os.Miner:
Программа для автоматического поиска прибыльных формаций на графике. Майнер  паттернов.
С помощью неё можно быстро и просто «добыть» несколько свежих, рабочих  паттернов. Как свечных, так и индикаторных. И запустить их в торгвлю.
Добавлено: 07. 2018

8. Журнал, рассылка, многоуровневое логирование, скальперский стакан, алерты и т.д.

9. Настоящий Open Source

10. Полностью разрешительная лицензия.


Подключения к классическим площадкам



1.   Квик – популярный терминал для торговли на Московской бирже (MOEX)
2.   СмартКом – не очень популярный терминал для торговли на Московской бирже (MOEX), но гораздо быстрее Квик.
3.   Плаза 2 – профессиональный HFT коннкетор для подключения к Московской бирже. К секции дереватив.
4.   ASTS Bridge, он же Micex TEAP — профессиональный HFT коннектор для подключения к Московской бирже. К секции акций.
5.   Interactiv Brokers – коннектор для торговли через терминал TWS, для торговли Америки и Европы. NYSE, DAX и т.д.
6.   OANDA – форекс… Ну тут без комментариев. В прошлом году заказали робота для арбитража криптовалют, который должен смотреть в котировки EUR/USD. Пришлось делать. (ФОРЕКС – ЗЛО!)
7.     Ninja Trader — западный брокер. Мировые площадки. Криптовалюта. Форекс. (добавлено 06.2018)



Подключения для торговли на биржах криптовалют

1)   BitStamp
2)   Kraken
3)   Bitmex + загрузка истории. Свечи, трейды
4)   Binance. (Spot + Margin + Futures) + загрузка истории. Свечи, трейды
5)   BitFinex.
6)   BitMax.
7)   LiveCoin.
8)   Exmo.
9)   ZB.
10) Gate IO (Spot + Futures)

11) Huobi (Spot + Margin + Futures + SWAP) + загрузка истории. Свечи, трейды

12) HitBtc

Ссылки:

Ссылка на ГитХаб: https://github.com/AlexWan/OsEngine
Канал с инструкциями, кому лень смотреть доки: https://www.youtube.com/channel/UCLmOUsdFs48mo37hgXmIJTQ/videos
Форум поддержки: http://o-s-a.net/forum
Домашняя страница проекта на нашем сайте: http://o-s-a.net/os-engine.html
Обучение программированию в платформе: http://o-s-a.net/training.html
Канал в телеграмме: t.me/bad_quant, там же чатик: t.me/o_s_a_chat 

Ещё раз повторюсь что у проекта полностью открытый код и разрешительные лицензии Apache 2. Всё как Вы любите.

Удачных алгоритмов!

P.S.
Друзья — поддержка на форуме. Если что-то случилось, пишите в поддержку, а не сюда на СмартЛаб.
  1. Аватар OS_Engine_team
    Численный показатель робастности при Walk-Forwards в оптимизаторе OsEngine. Видео.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  2. Аватар OS_Engine_team
    Walk-Forwards оптимизатор в Os Engine. Видео.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  3. Аватар Алексей Ван <o-s-a.net>
    Алготрейдинг и конференция. Душ в столыпинских вагонах «отсталой рашки». Москва Имперская.

    Езжу в МСК раз в год примерно. Всегда получается взглянуть на Россию и этот город по-разному. В этот раз на конференцию СмартЛаб приехал. О чём ниже, но это не главное.

     

    По дороге ещё раз утвердился во мнении что всё хорошо. Порадовался. Хотел поделиться ощущениями. 

     

    1. Москва – Имперская! И это – хорошо!

    Алготрейдинг и конференция. Душ в столыпинских вагонах «отсталой рашки». Москва Имперская.

    Никогда в Москве не меняйте подсветку! Сколько бы денег это не стоило. Пусть будет в подсветке каждое дерево в центре и дальше. Это немцы пусть экономят на электроэнергии! А у нас тут МУЗЕЙ под открытым небом!

    В этот раз въезжал в Москву ночью с вокзала. Пока ехал по центру, чувствовал, как «Имперскость» разливается по жилам.

    Очень красивый город. Особенно ночью. Особенно после дождя. И каждый год лучше!

    Чувствуется – СТОЛИЦА!

     

    2. РЖД – ЛОНГ

    Основную часть пути провёл в поезде. И знаете, что? Офигел от технологичности вагона, в котором ехал.

    Раздельный сбор мусора:



    Авто-репост. Читать в блоге >>>
  4. Аватар OS_Engine_team
    Оптимизатор в OsEngine. Простой перебор параметров. Видео.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  5. Аватар OS_Engine_team
    Bot Station Light в Os Engine. Видео.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  6. Аватар TSiuS
    MoexFixFastTwimeFutures коннектор. Обзор кода в OsEngine. Архитектура, модули.

    Продолжаем знакомится с коннектором к фьючерсной площадке MOEX от OsEngine. В данной статье посмотрим где искать исходный код.

     MoexFixFastTwimeFutures коннектор. Обзор кода в OsEngine. Архитектура, модули.

     Сам проект OsEngine на GitHub по ссылке: https://github.com/AlexWan/OsEngine

     Коннекторы используются для соединения с различными биржами, брокерами и их архитектура должна подчиняться определенным правилам. 

     Сегодня рассмотрим код коннектора MoexFixFastTwimeFutures, как учитывалась специфика работы протоколов, которые используются для совершения транзакций и получения биржевой информации.

     В структуре проекта OsEngine классы коннектора располагаются в папке MoexFixFastTwimeFutures, к которой ведет путь: OsEngine > Market > Servers:

     



    Авто-репост. Читать в блоге >>>
  7. Аватар TSiuS
    OsEngine MoexFixFastTwimeFutures: настройка подключения

    Для работы коннектора MoexFixFastTwimeFutures с демосчетом, про оформление которого я рассказывал в предыдущей статье https://smart-lab.ru/company/os_engine/blog/1070161.php, необходимо дополнительно настроить некоторые сетевые соединения. Тоже самое потом касается и реала!

     OsEngine MoexFixFastTwimeFutures: настройка подключения

    В части взаимодействия с интерфейсами FIX Gate и TWIME ничего настраивать не требуется, подключение осуществляется по протоколу ТСР через Интернет.

    Дополнительные манипуляции потребуются для получения рыночных данных по протоколу FAST:

    1. Подключение к сети Интернет с внешним статическим IP адресом, который был указан в анкете по запросу тестового доступа.
    2. Создать подключение VPN. Например, в ОС Windows 11 заходим в Настройки > Сеть и Интернет > VPN, нажимаем Добавить VPN.

     



    Авто-репост. Читать в блоге >>>
  8. Аватар OS_Engine_team
    Автоматическое переподключение серверов в OsEngine. Видео.
    видео о том, как настроить автоматическое подключение к коннекторам.

    VK Видео:


    RuTube:


    Авто-репост. Читать в блоге >>>
  9. Аватар TSiuS
    OsEngine MoexFixFastTwimeFutures: как открыть демосчет для тестирования высокоскоростных подключений Московской биржи.

    Продолжаем знакомить вас с новым профконнектором платформы OsEngine для Московской биржи. Не обязательно и даже вредно сразу разбираться с таким сложным подключением в реале. Поэтому будем учиться получать демку. Нам необходим доступ к тестовому контуру срочного рынка.

     OsEngine MoexFixFastTwimeFutures: как открыть демосчет для тестирования высокоскоростных подключений Московской биржи.

    Для его получения надо заполнить анкету на сайте Московской биржи по адресу: https://www.moex.com/ru/forms/poll/questionnaire.aspx?id=03

    После заполнения личных данных указываем, что необходимо подключение к срочному рынку, полигон Т0, через Интернет.

     



    Авто-репост. Читать в блоге >>>
  10. Аватар TSiuS
    OsEngine MoexFixFastTwimeFutures: где брать инструкции и мануалы

    Приступая к разработке коннектора, я надеялся на наличие подробных инструкций с образцами кода, желательно на языке C#, который мы используем в OsEngine, но пришлось довольствоваться тем, что было припрятано в глубинах FTP-серверов Московской биржи.

     OsEngine MoexFixFastTwimeFutures: где брать инструкции и мануалы 

    Во-первых, для поиска инструкций на сайте Московской биржи надо зайти в раздел Технологические решения и перейти на вкладку Шлюзовое подключение.

     Находим транзакционные интерфейсы срочного рынка TWIME и FIX Gate.

    На странице, посвященной интерфейсу TWIME, есть ссылка на документацию, которая ведет на FTP-сервер:

     



    Авто-репост. Читать в блоге >>>
  11. Аватар Алексей Ван <o-s-a.net>
    Позиции. Зачем они в алготрейдинге и OsEngine?

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

    Позиции. Зачем они в алготрейдинге и OsEngine?

    1. OsEngine – идейный наследник Wealth-Lab.

    И пока они были на плаву, было СИЛЬНО проще объяснить, как устроен наш слой создания роботов и зачем там позиции…

    Механика управления позициями, способы их открытия и способы их закрытия пришли в OsEngine из Wealth Lab. Не целиком, но почти, и на данный момент слой увеличен раз в пять. И Wealth lab – прекрасный терминал для Алго! Когда-то этот терминал был очень популярен в России и имел приятный на тот момент интерфейс.

    Если посмотреть на скрипт в Wealth-Lab, то можно обнаружить много общего с тем, что в скриптах OsEngine:



    Авто-репост. Читать в блоге >>>
  12. Аватар OS_Engine_team
    Журнал OsEngine. Ансамблирование объёмов. Видео.

    В этом видео рассмотрим один из способов узнать оптимальное соотношение объёмов между роботами. Ансамблирование объёмов, которое можно делать вручную в журнале OsEngine. Эта информация актуальна, если вы торгуете несколькими роботами одновременно.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  13. Аватар OS_Engine_team
    Бест-практикс. Делать в тестах на свечах всю логику в событии завершения свечи. Микроменеджмент позиций в OsEngine #9

    Как не попасть на «логические ошибки тестирования» и сделать робота правильно.

    Заметка про то, как организовать логику робота, если Вы собираетесь вести большие тесты на свечных данных, а так поступают (или должны бы поступить) 95% всех, кто торгует роботами.

    В общем, тема важная.

    Основной её тейк такой: Если делаешь робота для тестов на свечках, старайся делать всю логику в событии завершения свечи.

    И далее почему.

    Бест-практикс. Делать в тестах на свечах всю логику в событии завершения свечи. Микроменеджмент позиций в OsEngine #9 

    1. На свечных данных можно много и быстро делать тесты.

    Отдельно на этом остановлюсь. И Арбитражи, и скринеры, и ребалансировщики, и тесты на одном инструменте – всё это просто и быстро тестируется на свечных данных.

    При этом, если использовать ленту сделок для тестов, сразу же можно напороться на увеличение сложности тестирования в десятки раз (а то и в сотни).

    Поэтому, если у тебя не ХФТ, использовать надо для тестов свечи.

     

    2. В OsEngine очень много событий низкого уровня, и захочется на них подписаться.

    В рамках слоя создания роботов есть события, подходящие для создания логики на тестах. В основном это конечно же:



    Авто-репост. Читать в блоге >>>
  14. Аватар OS_Engine_team
    Усреднение двумя лимитками, ожидающими в рынке. Микроменеджмент позиций в OsEngine #8

    Рассмотрим пример того, как усреднять позицию, выставляя в рынок одновременно несколько ордеров.

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

    Точка входа у робота контртредовая на канале Envelops.

    Итоговая логика робота на графике выглядит так:

    Усреднение двумя лимитками, ожидающими в рынке. Микроменеджмент позиций в OsEngine #8

    Шорт, прикрытый стоп ордером, выход в плюс через профит, и два лимитных ордера на бирже для усреднения.

     

    1. Открываем робот-пример. UnsafeAveragePositions.

    На ГитХаб в репозитории OsEngine это находится здесь:

    https://github.com/AlexWan/OsEngine

    Внутри проекта здесь:



    Авто-репост. Читать в блоге >>>
  15. Аватар OS_Engine_team
    Одновременный выход из позиций лимитками, ожидающими в рынке. Микроменеджмент позиций в OsEngine #7

    Рассмотрим пример того, как выходить из позиции двумя (вообще можно больше, но в примере 2) лимитными ордерами одновременно.

    Это стало возможно совсем недавно, т.к. камрады из сообщества очень просили. Метод, которым будем пользоваться для закрытия позиций, называется CloseAtLimitUnsafe. Отличие от CloseAtLimit такое:

    1. Старый CloseAtLimit, когда Вы его вызываете, отзывает все другие ордера на закрытие позиции.
    2. CloseAtLimitUnsafe никакие заявки не отзывает. Просто выставляет в рынок очередной ордер, не обращая внимания на предыдущие. Т.ч. надо быть аккуратными при его использовании.

    Точка входа у робота контртредовая на канале Envelops.

    Итоговая логика робота на графике выглядит так:

    Одновременный выход из позиций лимитками, ожидающими в рынке. Микроменеджмент позиций в OsEngine #7 

    Шорт, прикрытый стоп ордером, и два лимитных ордера на бирже для закрытия в прибыль.

     

    1. Открываем робот-пример. UnsafeLimitsClosingSample.

    На ГитХаб в репозитории OsEngine это находится здесь:

    https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/PositionsMicromanagement/UnsafeLimitsClosingSample.cs



    Авто-репост. Читать в блоге >>>
  16. Аватар OS_Engine_team
    Вход в позицию через кастомный айсберг для реала. Как протолкнуть в рынок миллиард, не привлекая внимания санитаров? Микроменеджмент позиций в OsEngine #6

    Паттерн позволяет разделить логику тестирования от логики реального входа внутри робота для того, чтобы при входе и выходе не «рисовать свечи» своими большими заявками.

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

    Итоговая логика робота на графике в реале выглядит так:

    Вход в позицию через кастомный айсберг для реала. Как протолкнуть в рынок миллиард, не привлекая внимания санитаров? Микроменеджмент позиций в OsEngine #6

    В примере на графике получилось даже зайти лучше, чем если бы мы это делали одним ордером.

    Сам робот – классический отбойник от боллинджера с выходом в % по стопу и профиту. Выход также в реале через «кастомный айсберг».

     

    1. Открываем робот-пример. CustomIcebergSample.

    На ГитХаб в репозитории OsEngine это находится здесь:



    Авто-репост. Читать в блоге >>>
  17. Аватар OS_Engine_team
    Журнал сделок в OsEngine. Тестирование Граального робота. Видео.

    В этом видео подробно рассмотрим Журнал сделок в OS Engine. А также проведем тесты ГРААЛЬНОГО робота и на его примере подробно объясним, какая нужная информация по тестам (или торговле) записывается в журнал.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  18. Аватар OS_Engine_team
    OsEngine изменения. 2920 - 3018. Импортозамещаем.

    Изменения, баг-фикс и улучшения, которые были внесены в проект за предыдущий месяц.

    OsEngine изменения. 2920 - 3018. Импортозамещаем.

    Приближаемся к продакшен-реди версии. Около нового года можно будет об этом говорить, поэтому фокус смещается на инструкции и удобство работы с проектом для начинающих.

     

    Мега-ГАЙД по OsEngine, алготрейдингу и программированию.

    Сам ГАЙД здесь: https://smart-lab.ru/company/os_engine/blog/1024149.php

    Он делается для того, чтобы было удобно и быстро искать всё в одном месте. Вся информация по алготрейдингу и созданию торговых роботов, которая Вам может понадобиться в одном месте.

    Новое за месяц:

    1. Пример. Таблица в окне параметров 2. https://smart-lab.ru/company/os_engine/blog/1056626.php
    2. Стандартные настройки коннектора в OsEngine. https://smart-lab.ru/company/os_engine/blog/1057253.php
    3. Видео. Конвертеры свечей. https://smart-lab.ru/company/os_engine/blog/1057628.php
    4. Пример. Логирование информации из робота. https://smart-lab.ru/company/os_engine/blog/1057708.php
    5. Видео. Обзор тестера. https://smart-lab.ru/company/os_engine/blog/1057875.php


    Авто-репост. Читать в блоге >>>
  19. Аватар OS_Engine_team
    Алерты в OsEngine. Видео.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  20. Аватар OS_Engine_team
    Усреднение позиций через открытие новых позиций с пересчётом тейк-профита по средней цене входа. Микроменеджмент позиций в OsEngine #3

    Сегодня рассмотрим пример того, как можно усредняться через отложенные ордера на открытие других позиций.

    Данный тип усреднения позволяет в полной мере тестировать торговую логику робота на свечных данных, т.к. использует заявки на усреднение типа BuyAtStop и SellAtStop.

    Усреднение позиций через открытие новых позиций с пересчётом тейк-профита по средней цене входа. Микроменеджмент позиций в OsEngine #3 

     

    1. Открываем робот-пример. EnvelopsCountertrend.

    На ГитХаб в репозитории OsEngine это находится здесь:

    https://github.com/AlexWan/OsEngine

    Внутри проекта здесь:



    Авто-репост. Читать в блоге >>>
  21. Аватар OS_Engine_team
    Видео о том, как участвовать в работе над проектом OsEngine.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  22. Аватар OS_Engine_team
    Как узнать, где у робота утекает ЦП? Профилировка ботов в VisualStudio. Быстрый старт в программировании OsEngine #10

    В данном посте будем учиться запускать «профилирование» в Visual Studio, чтобы глазами увидеть место самых больших нагрузок у бота.

    Ну и в целом заканчиваем нашу минисерию постов про производительность роботов и как делать так, чтобы у Вас никакие очереди не забивались, а роботы работали быстро и качественно.

    Как узнать, где у робота утекает ЦП? Профилировка ботов в VisualStudio. Быстрый старт в программировании OsEngine #10 

    1. Профилировка – это что?

    Профилировка производительности C# — это процесс анализа производительности программы путём мониторинга использования процессора различными функциями и сегментами кода.

    Профилируя приложение C#, можно определить, какие части кода занимают больше всего времени процессора и вызывают проблемы с производительностью. Эта информация важна для оптимизации приложения и улучшения его общей производительности.

    С точки зрения прикладного:

    Профилировка производительности – один из способов запуска проектов на СиШарп (OsEngine), который помогает увидеть «узкие» места в коде, где больше всего расходуется ЦП.

    Так проект OsEngine можно запустить в нескольких режимах:



    Авто-репост. Читать в блоге >>>
  23. Аватар OS_Engine_team
    OsData и Тестер в OsEngine. Качаем слепки стаканов и запускаем на них тесты. Видео.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  24. Аватар OS_Engine_team
    Проблемы при нагрузках на поток, посылающий данные в роботов. Быстрый старт в программировании OsEngine #9

    В данной статье поговорим о проблемах «перегрузки» в пользовательской логике в роботе. Очень условно поговорим про поточную модель OsEngine и о том, почему нельзя нагружать поток робота «лишней» работой или укладывать «Спать».

    Проблемы при нагрузках на поток, посылающий данные в роботов. Быстрый старт в программировании OsEngine #9 

    Для начала давайте взглянем на поток, который отдаёт данные в роботов в реале. Для этого нужно открыть класс AServer. Это вот здесь:



    Авто-репост. Читать в блоге >>>
  25. Аватар OS_Engine_team
    Тестер. Хранение данных и настройки бумаг. Видео.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
Чтобы купить акции, выберите надежного брокера: