Разбираем лучшую практику разработки и тестирования торговых роботов в OsEngine на свечных данных — это перенос всей логики в событие завершения свечи (CandleFinishedEvent).
VK Видео:
Rutube:
Авто-репост. Читать в блоге >>>
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Разбираем лучшую практику разработки и тестирования торговых роботов в OsEngine на свечных данных — это перенос всей логики в событие завершения свечи (CandleFinishedEvent).
VK Видео:
Rutube:
В этом видео разбираем EMA (Exponential Moving Average) — экспоненциальную скользящую среднюю, которая помогает быстрее отслеживать тренды на рынке. Мы расскажем, как рассчитывается EMA, какие сигналы она даёт и как её можно использовать в OsEngine. Кроме того, покажем бесплатного робота, который умеет торговать по EMA, а также результаты его тестирования на реальных данных.
VK Видео:
Rutube:
В этом выпуске разбираем индикатор VWMA (Volume Weighted Moving Average) — чем он отличается от обычной скользящей средней, как рассчитывается с учётом объёма и какие торговые сигналы даёт. Покажем, как использовать VWMA в OsEngine. Также протестируем готового бесплатного робота на VWMA (версия со сдвигом) и разберём результаты тестирования.
VK Видео:
Rutube:
Функция автоматического обновления программы OsEngine предназначена в первую очередь для пользователей, которые хранят своих роботов в папке Custom или пользуются только встроенными роботами. Раньше, чтобы обновить работающий терминал, надо было скачать весь код проекта с сайта Github в виде zip-архива, распаковать, перенести туда папки Data, Engine, Custom, запоминать версию, с которой ушёл, и испытывать прочие неудобства.

Сейчас предлагается упрощённый способ обновления: нажатием пары кнопок закачать свежие файлы программы в старое расположение и через несколько секунд продолжить торговлю.
После скачивания архива с версией OsEngine, содержащей модуль обновления, начальное окно после запуска будет выглядеть так:
В этом видео разбираем, как в OsEngine создаются торговые роботы и работает класс BotFactory. Заглянем в исходный код, посмотрим где хранятся роботы и чем отличаются встроенные стратегии от кастомных скриптов.
VK Видео:
Rutube:
В публичную сборку добавлен новый сеточный робот, cпециально созданный для ловли ложных пробоев вниз в неликвидных бумагах, когда основной рынок движется в противоположном направлении.
Сегодняшний пример: GridVolumeBollingerRankingScreener.
Тип сеточной стратегии: MarketMaking.
Логика работы:
Сигналом для выброса сетки служит индикатор Bollinger. Если цена выше верхней линии — выброс сетки в Short. Если ниже нижней линии – выброс сетки в Long. По обратному сигналу сетка закрывается.
Главное в этом роботе — фильтры:
Фильтр 1: торгуем только бумаги, которые по объёму не входят в первую десятку (настраивается).
Фильтр 2: Входим в Long по конкретной бумаге, если её цена ниже нижней линии Bollinger, а N % всех бумаг в роботе находятся выше верхней линии Bollinger — общий тренд движения вверх.
В результате Long сетка выбрасывается в момент, когда весь рынок агрессивно растёт, а по отдельной бумаге происходит ложный пробой вниз.
Тесты с 2025 года проводились на ленте сделок с комиссией 0.04% на каждую сделку:
Статья о том, как настроить покупку фонда денежного рынка в ночь, если вы торгуете на этом же счёте сетками и у вас множество ордеров постоянно находятся в рынке.
В такой конфигурации есть проблема, так как выставленные в рынок ордера влияют на количество свободных средств, и робот-ребалансировщик может рассчитывать их неверно. Решение заключается в том, чтобы настроить неторговые периоды с отзывом ордеров по сеткам, чтобы на ночь в рынке не оставалось заявок. Как это сделать – разбираемся ниже.
* Для крипто-API это не актуально, так как там торговля ведётся круглосуточно. Это актуально для Московской биржи.
1) Настраиваем ребалансировщик на работу перед закрытием рынка
Основная статья по роботу-ребалансировщику доступна здесь: https://smart-lab.ru/company/os_engine/blog/1243481.php
Выставляем в настройках время, в которое планируется совершать покупку или продажу TMON@:
*Для крипто-АПИ это не актуально, потому что там идёт торговля круглосуточно. Это относится только к Московской бирже.
1) Режим торговли раз в секунду — приоритетный для сетки.
Роботу нужно входить в торговую логику по определённому условию. В реальности есть два варианта на выбор. Оба варианта имеют свои преимущества и недостатки:
Разбираем индикатор SMA (Simple Moving Average) - один из самых старых и самых узнаваемых инструментов технического анализа.
В видео:
1) как считается SMA
2) какие сигналы он даёт
3) как использовать SMA в OsEngine
4) готовый бесплатный торговый робот на SMA и примеры тестов
Подходит для тех, кто изучает алготрейдинг и автоматизацию торговых стратегий.
VK Видео:
Rutube:

В данной статье рассмотрим новый коннектор OsEngine для получения новостей из каналов стандарта RSS и Atom.
RSS (Really Simple Syndication) и Atom — это два формата синдикации веб-контента, которые позволяют пользователям подписываться на обновления сайтов, блогов и новостных ресурсов через специальные программы-агрегаторы или браузеры.
Если при использовании OsEngine вы хотите в своем роботе получать новости и как-то их использовать, необходимо найти новостной портал с интересующей вас информацией и убедиться в наличии у него RSS канала, который обычно отмечен значком.
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.В роботах, особенно с большим кол-вом настроек, бывает, требуется как-то визуально выделить некоторые Параметры и/или разделить их на группы. В OsEngine имеется такая возможность, и сегодня мы рассмотрим доступный функционал, как он выглядит и как им пользоваться.
Знакомиться с функционалом будем на примере робота VisualSettingsParametersExample. Открываем проект OsEngine в Visual Studio и находим файл в папке Robots\TechSamples:
Открываем робота, смотрим Конструктор:
Уже много лет у нас классическая IT компания, базирующаяся на Open Source проекте. Это означает, что в основном мы делаем софт на заказ.
Это в каком-то смысле даже стандарт для Open Source. Сотни и тысячи компаний так живут:
1 – Имеем классный Open Source бесплатный, которым пользуются люди.
2 – Получаем от рынка классные заказы на разработку расширений для него (в нашем случае в основном торговых роботов).
Решили написать для ГАЙДА небольшую серию статей о том, как это работает.
В данной серии постов пойдёт речь о том:
И это введение и оглавление для этой серии!
Оглавление:
Удачных алгоритмов!
Комментарии открыты для друзей!
Каждые полгода мне кажется, что через полгода мы закончим и я наконец удовлетворюсь состоянием OsEngine) Бедные мои сотрудники, наверное, видят мои выступления на планёрках как-то так:
Но на самом деле это очень классное когнитивное искажение, позволяющее чувствовать себя бодрячком и просто работать. Т.ч. это даже хорошо.
У нас есть только путь…
Если одним предложением, то так: Работаем над процессом перехода от кодомассы к продукту. Года два назад мне захотелось это сделать. Оказалось, что это чертовски сложно и долго.
Готовность на данный момент (примерная):
Ещё полгодика – и должны закончить. ))
Ну ладно. Давайте в этот раз заложим на это ЦЕЛЫЙ ГОД. Тогда точно не промахнёмся.
В данном посте поговорим о параметрах индикаторов в OsEngine. Какие они бывают. Как их добавлять в индикатор. Как различные типы параметров потом выглядят в пользовательском интерфейсе.

Параметры для индикаторов упрощают и стандартизируют настройку индикаторов в OsEngine. Позволяют несколькими строками кода дать возможность пользователю настраивать индикатор, дают автоматические средства для сохранения настроек между перезагрузками.
Всего в слое создания индикаторов есть четыре различных типа параметров:
Посмотреть на реализацию параметров для индикаторов можно вот в этом классе:
В данном посте посмотрим, где взять заготовку для индикатора в OsEngine в проекте. Она Вам понадобится, чтобы делать на её основе свои индикаторы в дальнейшем. И поговорим об обязательных методах в индикаторе.
Пример лежит на ГитХаб здесь: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Indicators/Samples/Sample1Blank.cs
В проекте это тут:
Восстановление позиций в OsEngine после аварий.
Что делать, если реализовался неторговый риск, и позиции в роботе не соответствуют позициям на бирже? В сегодняшнем видео разберемся, как восстановить актуальное состояние позиций после внешней аварии, и рассмотрим самые простые стратегии защиты.
VK Видео:
RuTube:
Последние пару лет встала проблема скачивания (обновления) истории данных эмитентов с местной кухни после того как Финам в конец ожлобился и прикрыл раздачу данных со своих серверов. Остался ручной вариант скачивания с того же Финама, МФД..- но это не удобно и долго..
Автор проекта OSEngine вроде заявил, что в этой платформе есть опция OS Data позволяющая качать данные с различных источников местной кухни…
Убил в итоге пол дня- но то что в 90г с помощью разных программ делалось за минуты с помощью OS Data не смог загрузить дневки по 20 эмитентов с разных источников данных по разным причинам!?? Похожая история была с Гидрой StockSharp..
Может у кого есть положительный опыт решения проблемы скачивания Данных разных фреймов по здешней песочнице- поделитесь своим опытом! Или дайте ссылку на рабочие инструменты (программы) для этой задачи..
Рядом с Os Engine лежит несколько инструкций для командной строки Windows, которые могут помочь с управлением программой. Они могут сразу включать определённые типы интерфейсов, выключать и перезагружать программу в бою. Поговорим о том, как это всё работает.
BAT-файлы, или в простонародье «батники» — это текстовые файлы с расширениями .bat. Они хранят в себе некоторые команды, которые выполняет операционная система Windows.
Знакомство с созданием задач и «собственных событий для роботов». Изучение многопоточности.
В теоретической части поговорим про то что такое многопоточность с точки зрения C# и торгового робота.
В практической части будем создавать роботов, использующих многопоточность в своей логике.
VK Видео:
RuTube:
В данном посте будем учиться собирать сборку OsEngine в, так называемый, релиз. Это нужно в случае, если Вы хотите ускорить работу оптимизатора. Ускорение не большое, в районе 10%, но в некоторых случаях это может быть нужно.
Эта магия доступна только для программистов, поэтому в нашем Гайде находится в разделе о программировании.
Понадобится скачать OsEngine: https://smart-lab.ru/company/os_engine/blog/1041420.php
Установить Visual Studio: https://smart-lab.ru/company/os_engine/blog/1041231.php
И перед нами будет вот такая папка: