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
    Тестирование роботов в OsEngine: почему логика должна быть в CandleFinishedEvent. Видео.

    Разбираем лучшую практику разработки и тестирования торговых роботов в OsEngine на свечных данных — это перенос всей логики в событие завершения свечи (CandleFinishedEvent).

    VK Видео:

    Rutube:

     



    Авто-репост. Читать в блоге >>>
  2. Аватар OS_Engine_team
    Индикатор EMA: история появления, сигналы и бесплатный робот для OsEngine. Видео.

    В этом видео разбираем EMA (Exponential Moving Average) — экспоненциальную скользящую среднюю, которая помогает быстрее отслеживать тренды на рынке. Мы расскажем, как рассчитывается EMA, какие сигналы она даёт и как её можно использовать в OsEngine. Кроме того, покажем бесплатного робота, который умеет торговать по EMA, а также результаты его тестирования на реальных данных.

    VK Видео:


    Rutube:

     



    Авто-репост. Читать в блоге >>>
  3. Аватар OS_Engine_team
    Индикатор VWMA (Volume Weighted Moving Average): формула расчёта, сигналы и бесплатный робот в OsEngine. Видео.

    В этом выпуске разбираем индикатор VWMA (Volume Weighted Moving Average) — чем он отличается от обычной скользящей средней, как рассчитывается с учётом объёма и какие торговые сигналы даёт. Покажем, как использовать VWMA в OsEngine. Также протестируем готового бесплатного робота на VWMA (версия со сдвигом) и разберём результаты тестирования.

    VK Видео:

     

    Rutube:



    Авто-репост. Читать в блоге >>>
  4. Аватар OS_Engine_team
    Модуль обновления OsEngine: как обновить терминал в автоматическом режиме

    Функция автоматического обновления программы OsEngine предназначена в первую очередь для пользователей, которые хранят своих роботов в папке Custom или пользуются только встроенными роботами. Раньше, чтобы обновить работающий терминал, надо было скачать весь код проекта с сайта Github в виде zip-архива, распаковать, перенести туда папки Data, Engine, Custom, запоминать версию, с которой ушёл, и испытывать прочие неудобства.


    Модуль обновления OsEngine: как обновить терминал в автоматическом режиме


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

    После скачивания архива с версией OsEngine, содержащей модуль обновления, начальное окно после запуска будет выглядеть так:



    Авто-репост. Читать в блоге >>>
  5. Аватар OS_Engine_team
    Как в OsEngine создаются торговые роботы: класс BotFactory

    В этом видео разбираем, как в OsEngine создаются торговые роботы и работает класс BotFactory. Заглянем в исходный код, посмотрим где хранятся роботы и чем отличаются встроенные стратегии от кастомных скриптов.

    VK Видео:

    Rutube:



    Авто-репост. Читать в блоге >>>
  6. Аватар OS_Engine_team
    Скринер на сетках с открытым кодом. Автосетка с фильтром щитков и ранжированием общего направления рынка. Сетки #19

    Скринер на сетках с открытым кодом. Автосетка с фильтром щитков и ранжированием общего направления рынка. Сетки #19

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

    Сегодняшний пример: GridVolumeBollingerRankingScreener.
    Тип сеточной стратегии: MarketMaking.

    Логика работы:
    Сигналом для выброса сетки служит индикатор Bollinger. Если цена выше верхней линии — выброс сетки в Short. Если ниже нижней линии – выброс сетки в Long. По обратному сигналу сетка закрывается.

    Главное в этом роботе — фильтры:
    Фильтр 1: торгуем только бумаги, которые по объёму не входят в первую десятку (настраивается).
    Фильтр 2: Входим в Long по конкретной бумаге, если её цена ниже нижней линии Bollinger, а N % всех бумаг в роботе находятся выше верхней линии Bollinger — общий тренд движения вверх.

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

    Тесты с 2025 года проводились на ленте сделок с комиссией 0.04% на каждую сделку:



    Авто-репост. Читать в блоге >>>
  7. Аватар OS_Engine_team
    Как запустить сетку и ребалансировщик на одном счёте? Сетки #18

    Статья о том, как настроить покупку фонда денежного рынка в ночь, если вы торгуете на этом же счёте сетками и у вас множество ордеров постоянно находятся в рынке.

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

    * Для крипто-API это не актуально, так как там торговля ведётся круглосуточно. Это актуально для Московской биржи.

    Как запустить сетку и ребалансировщик на одном счёте? Сетки #18

     

    1) Настраиваем ребалансировщик на работу перед закрытием рынка

    Основная статья по роботу-ребалансировщику доступна здесь: https://smart-lab.ru/company/os_engine/blog/1243481.php

    Выставляем в настройках время, в которое планируется совершать покупку или продажу TMON@:



    Авто-репост. Читать в блоге >>>
  8. Аватар OS_Engine_team
    Настройки неторговых периодов для сетки. Сетки #17
    Поговорим сегодня о важности настройки неторговых периодов для сетки, особенно в режиме торговли один раз в секунду. Как это сделать правильно для MOEX?

    *Для крипто-АПИ это не актуально, потому что там идёт торговля круглосуточно. Это относится только к Московской бирже.

     

    Настройки неторговых периодов для сетки. Сетки #17

     

    1) Режим торговли раз в секунду — приоритетный для сетки.

    Роботу нужно входить в торговую логику по определённому условию. В реальности есть два варианта на выбор. Оба варианта имеют свои преимущества и недостатки:



    Авто-репост. Читать в блоге >>>
  9. Аватар OS_Engine_team
    SMA (Simple Moving Average): как работает индикатор и бесплатный робот для OsEngine. Видео.

    Разбираем индикатор SMA (Simple Moving Average) - один из самых старых и самых узнаваемых инструментов технического анализа.
    В видео:
    1) как считается SMA
    2) какие сигналы он даёт
    3) как использовать SMA в OsEngine
    4) готовый бесплатный торговый робот на SMA и примеры тестов

    Подходит для тех, кто изучает алготрейдинг и автоматизацию торговых стратегий.

    VK Видео:

    Rutube:



    Авто-репост. Читать в блоге >>>
  10. Аватар Ибрагим
    OS Engine и ошибки тестирования в Скринерах и Мультитикерных стратегиях и БАГИ БАГИ
    В общем решил попробовать стратегии OS_Engine_team из рекламируемого АлгоСтарта !
    Все скачал запустил, показывает неплохую растущую эквити вроде все круто.
    НО решил все перепроверить в используя модный Vibe Coding и другую систему создания стратегий.
    И тут начались проблемы с воспроизведением результатов которые давала OSEngine:
    — доходность упала в два раза
    — Sharpe уменьшился в два раза
    — Max DrawDown вырос до 50%
    И пришлось все ДЕТАЛЬНО анализировать с помощью дебаггера и создания логов.
    В результате нашел что скринер по волатильности у меня считался немного по другому, поменял расчет, 
    после этого MAX DrawDown уменьшился до -15%, что уже неплохо и почти как в оригинале, НО доходность НЕ выросла,
    и первые 5 лет с 2015 по 2020 год эквити почти топчется на месте, у в оригинале эквити всегда растет.
    Пришлось вернуться назад и заново все детально проверять.
    И вот какую ошибку я нашел в результате проверок:
    (это мое предположение почему есть проблема)
    ---------------------------------------------------------------------------------

    Авто-репост. Читать в блоге >>>
  11. Аватар Красаучег
    Сравним библиотеки для алготрейдеров Python vs C#( OsEngine)
    Попробуем сравнить Python и С# (берем OsEngine) в скорости тестирования стратегий
    и смотрим что получится.

    Сравним библиотеки для алготрейдеров  Python vs C#( OsEngine)

    Для тестирования берем простую стратегию «Пересечение двух SMA», торгуем только лонг 1контракт, 
    данные по акции Сбербанк 1мин  c 01.01.2024 по 10.10.2025 года все примерно 428000 свечек.

    Сразу надо уточнить что с новой OsEngine на .NET 9 были проблемы, она напрочь отказывалась запускаться
    на чистой машине с Windows10 и .NET 9.0
    Вот с такой ошибкой при запуске


    Авто-репост. Читать в блоге >>>
  12. Аватар OS_Engine_team
    RSS лента новостей в Вашем роботе на OsEngine.

    В данной статье рассмотрим новый коннектор OsEngine для получения новостей из каналов стандарта RSS и Atom.

    RSS (Really Simple Syndication) и Atom — это два формата синдикации веб-контента, которые позволяют пользователям подписываться на обновления сайтов, блогов и новостных ресурсов через специальные программы-агрегаторы или браузеры.

    RSS лента новостей в Вашем роботе на OsEngine. 

    1. Выбор источника.

    Если при использовании OsEngine вы хотите в своем роботе получать новости и как-то их использовать, необходимо найти новостной портал с интересующей вас информацией и убедиться в наличии у него RSS канала, который обычно отмечен значком.



    Авто-репост. Читать в блоге >>>
  13. Аватар Beach Bunny
    Как в OS Engine считается Sharpe ! "Это ж просто "Евросеть просто о###еть"
    Если кратко то это просто писец как они считают, вот чел рассказывает.
    vkvideo.ru/video-195406323_456239122



    Так вот это нифига не верно, там считается какая-то херь а не Sharpe.
    Вы попробуйте возьмите для примера свою самую простую стратегию, перепишите под то чем все пользуются типа Wealh-Lab или под питон и сравните со своими результатами.

    Sharpe считается НЕ по сделкам, а по дневным Equity . 
    Можно считать и не по дневным, НО обычно по умолчанию ВСЕ считают по дневным.

    Вот как считается в Pandas-TA
    github.com/twopirllc/pandas-ta/blob/b465491f226d9e07fffd4e59cd0affc9284521ca/pandas_ta/utils/_metrics.py#L185

    def sharpe_ratio(close: Series, benchmark_rate: float = 0.0, log: bool = False, use_cagr: bool = False, period: int = RATE["TRADING_DAYS_PER_YEAR"]) -> float:
        """Sharpe Ratio of a series.
    
        Args:
            close (pd.Series): Series of 'close's
            benchmark_rate (float): Benchmark Rate to use. Default: 0.0
            log (bool): If True, calculates log_return.


    Авто-репост. Читать в блоге >>>
  14. Аватар UHSF
    Оформление окна Параметров OsEngine

    В роботах, особенно с большим кол-вом настроек, бывает, требуется как-то визуально выделить некоторые Параметры и/или разделить их на группы. В OsEngine имеется такая возможность, и сегодня мы рассмотрим доступный функционал, как он выглядит и как им пользоваться.

     

    Знакомиться с функционалом будем на примере робота VisualSettingsParametersExample. Открываем проект OsEngine в Visual Studio и находим файл в папке Robots\TechSamples:

    Оформление окна Параметров OsEngine

    Открываем робота, смотрим Конструктор:



    Авто-репост. Читать в блоге >>>
  15. Аватар OS_Engine_team
    Основной бизнес OsEngine. Разработка софта на заказ #1

    Уже много лет у нас классическая IT компания, базирующаяся на Open Source проекте. Это означает, что в основном мы делаем софт на заказ.

    Это в каком-то смысле даже стандарт для Open Source. Сотни и тысячи компаний так живут:

    1 – Имеем классный Open Source бесплатный, которым пользуются люди.

    2 – Получаем от рынка классные заказы на разработку расширений для него (в нашем случае в основном торговых роботов).

    Основной бизнес OsEngine. Разработка софта на заказ #1

    Решили написать для ГАЙДА небольшую серию статей о том, как это работает.

    В данной серии постов пойдёт речь о том:

    1. Кто наши заказчики;
    2. Кто наши программисты-разработчики и как попасть к нам в команду;
    3. Как мы ведём проекты;
    4. Какие заказы приходится делать.

    И это введение и оглавление для этой серии!

    Оглавление:

    1. Мы здесь…

     

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

    Комментарии открыты для друзей!



    Авто-репост. Читать в блоге >>>
  16. Аватар OS_Engine_team
    Эмулятор в OsEngine. Видео.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  17. Аватар OS_Engine_team
    OsEngine. Итоги года 2024 и что дальше.

    Каждые полгода мне кажется, что через полгода мы закончим и я наконец удовлетворюсь состоянием OsEngine) Бедные мои сотрудники, наверное, видят мои выступления на планёрках как-то так:

    OsEngine. Итоги года 2024 и что дальше.

    Но на самом деле это очень классное когнитивное искажение, позволяющее чувствовать себя бодрячком и просто работать. Т.ч. это даже хорошо.

    У нас есть только путь…

     

    1. Процесс перехода от кодовой базы к завершённому терминалу в самом разгаре.

    Если одним предложением, то так: Работаем над процессом перехода от кодомассы к продукту. Года два назад мне захотелось это сделать. Оказалось, что это чертовски сложно и долго.

    Готовность на данный момент (примерная):

    1. Слои создания роботов: 80%.
    2. Гайды и мануалы: 70%.
    3. Рефакторинг кода: 50%.
    4. Процессы обслуживания и поддержки: 70%.

    Ещё полгодика – и должны закончить. ))

    Ну ладно. Давайте в этот раз заложим на это ЦЕЛЫЙ ГОД. Тогда точно не промахнёмся.



    Авто-репост. Читать в блоге >>>
  18. Аватар OS_Engine_team
    Параметры индикаторов в OsEngine. Индикаторы OsEngine #3

    В данном посте поговорим о параметрах индикаторов в OsEngine. Какие они бывают. Как их добавлять в индикатор. Как различные типы параметров потом выглядят в пользовательском интерфейсе.

    Параметры индикаторов в OsEngine. Индикаторы OsEngine #3
    Параметры для индикаторов упрощают и стандартизируют настройку индикаторов в OsEngine. Позволяют несколькими строками кода дать возможность пользователю настраивать индикатор, дают автоматические средства для сохранения настроек между перезагрузками.

    Всего в слое создания индикаторов есть четыре различных типа параметров:

    1. Int – числовой.
    2. Decimal – числовой с точностью после нуля.
    3. Bool – булев параметр, принимающий значение True или False.
    4. String – строка или коллекция строк.

    Посмотреть на реализацию параметров для индикаторов можно вот в этом классе:



    Авто-репост. Читать в блоге >>>
  19. Аватар OS_Engine_team
    Универсальная заготовка индикатора. Индикаторы OsEngine #2

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

    Универсальная заготовка индикатора. Индикаторы OsEngine #2 

    Пример лежит на ГитХаб здесь: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Indicators/Samples/Sample1Blank.cs

    В проекте это тут:



    Авто-репост. Читать в блоге >>>
  20. Аватар OS_Engine_team
    Редактирование позиций из журнала в OsEngine. Видео.

    Восстановление позиций в OsEngine после аварий.

    Что делать, если реализовался неторговый риск, и позиции в роботе не соответствуют позициям на бирже? В сегодняшнем видео разберемся, как восстановить актуальное состояние позиций после внешней аварии, и рассмотрим самые простые стратегии защиты.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  21. Аватар igor12
    OSEngine – живой проект или так!?

    Последние пару лет встала проблема скачивания (обновления) истории данных эмитентов  с местной кухни после того как Финам в конец  ожлобился и прикрыл раздачу данных со своих серверов. Остался ручной вариант скачивания с того же Финама,  МФД..- но это не удобно и долго..

    Автор проекта OSEngine вроде заявил, что в этой платформе есть опция OS Data позволяющая качать данные с различных источников местной кухни…

    Убил в итоге пол дня- но то что в 90г с помощью разных программ делалось  за минуты с помощью OS Data не смог загрузить дневки по 20 эмитентов с разных источников данных по разным причинам!??  Похожая история была с Гидрой StockSharp..

     

    Может у кого есть положительный опыт решения проблемы скачивания Данных разных фреймов  по здешней песочнице- поделитесь своим опытом! Или дайте ссылку на рабочие инструменты  (программы) для этой задачи..



    Авто-репост. Читать в блоге >>>
  22. Аватар OS_Engine_team
    Bat-файлы для OsEngine.

    Рядом с Os Engine лежит несколько инструкций для командной строки Windows, которые могут помочь с управлением программой. Они могут сразу включать определённые типы интерфейсов, выключать и перезагружать программу в бою. Поговорим о том, как это всё работает.

    Bat-файлы для OsEngine.

    1. Что такое Bat-файлы?

    BAT-файлы, или в простонародье «батники» — это текстовые файлы с расширениями .bat. Они хранят в себе некоторые команды, которые выполняет операционная система Windows.

     

    2. Где лежат Bat-файлы для OsEngine?



    Авто-репост. Читать в блоге >>>
  23. Аватар OS_Engine_team
    Риск менеджер в OsEngine. Видео.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  24. Аватар OS_Engine_team
    C# для алготрейдера. Лекция 8. Многопоточность в C# и HFT в OsEngine.
    Заключительное видео из восьмидневного курса лекций от Алексея Ван в школе АЛОР. Изучаем язык C# прямо в конструкторе для создания роботов, OsEngine. С нуля. Данная серия лекций Вам поможет реализовывать свои идеи в алготрейдинге и править логику ранее встроенных в OsEngine роботов (их около 300).


    Знакомство с созданием задач и «собственных событий для роботов». Изучение многопоточности.

    В теоретической части поговорим про то что такое многопоточность с точки зрения C# и торгового робота.
    В практической части будем создавать роботов, использующих многопоточность в своей логике.

    VK Видео:


    RuTube:



    Авто-репост. Читать в блоге >>>
  25. Аватар OS_Engine_team
    Собираем релизную сборку OsEngine для ускорения на 10 %.

    В данном посте будем учиться собирать сборку OsEngine в, так называемый, релиз. Это нужно в случае, если Вы хотите ускорить работу оптимизатора. Ускорение не большое, в районе 10%, но в некоторых случаях это может быть нужно.

    Эта магия доступна только для программистов, поэтому в нашем Гайде находится в разделе о программировании.

    Собираем релизную сборку OsEngine для ускорения на 10 %. 

    1. Открываем папку с проектом.

    Понадобится скачать OsEngine: https://smart-lab.ru/company/os_engine/blog/1041420.php

    Установить Visual Studio: https://smart-lab.ru/company/os_engine/blog/1041231.php

    И перед нами будет вот такая папка:



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