Избранное трейдера Bat
Сегодня поговорим о роботе, который уплачивает налоги в тестере. Его можно добавить в Ваш комплект ботов при портфельных тестах и точно рассчитать, сколько средств будет списано в пользу государства. Кроме того, это повышает итоговую точность теста, что всегда полезно.
Рассмотрим робота TaxPayer, который предназначен для расчета и списания налогов по окончании года при тестировании стратегий в Тестере.
Каждое обновление свечи робот проверяет, является ли последняя свеча первой свечой нового года. Далее он проходит по всем роботам, включённым в Тестере, просматривает в их журналах закрытые сделки за предыдущий год и подсчитывает по ним прибыль. После этого рассчитывает, какой налог должен быть уплачен за тот год, и проводит сделку на соответствующую сумму у себя. Таким образом налог списывается с депозита портфеля. То же самое повторяется каждый год.
Ссылка на GitHub: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/Helpers/TaxPayer.cs
Сегодня поговорим об индикаторе ADX (Average Directional Index).
Посмотрим историю его появления, формулы расчёта, разберём торговые сигналы. Рассмотрим готового робота для OsEngine, в котором использован этот индикатор.
VK Видео:
RuTube:
В мире алгоритмической торговли доминируют крупные фонды с их колоссальными ресурсами. Но что, если мы, частные инвесторы и разработчики, можем создать собственный мощный и доступный инструмент? Что, если больше не придётся зависеть от проприетарных платформ или писать с нуля сложную инфраструктуру для тестирования каждой новой идеи?
Сегодня у нас есть Python и такие мощные библиотеки, как Backtrader. Однако голый фреймворк — это лишь половина дела. Чтобы он стал по‑настоящему народным инструментом, ему нужна удобная обвязка: готовая структура проекта, автоматический импорт стратегий, наглядные отчёты, тепловые карты для оптимизации и бесшовное подключение к API брокеров — не только российских, но надо начать с Мосбиржи.
Мы стремимся сделать инструмент таким же удобным, как TradingView. Простота в использовании и доступность всех функций для пользователей без глубокой технической экспертизы — мне кажется вот идеал. Чтобы каждый, кто заинтересован в алгоритмической торговле, мог без усилий внедрить свою стратегию, протестировать её и получить результаты, не проводя часы и дни за настройкой системы.
Сегодня посмотрим на работу с сетками в источнике BotTabScreener. Учимся маркетить инструменты не по одному, а пачками.
Сегодняшний пример: GridBollingerScreener.
Тип сетки: MarketMaking.
Логика: Сигналом для выброса сетки служит индикатор Bollinger. Выше верхней линии – выброс сетки в Short. Ниже нижней линии – выброс сетки в Long. По обратному сигналу – закрытие сетки. Кроме того, у нас есть фильтр по ADX для выброса сетки, чтобы она выбрасывалась только под определённую волатильность. Всё это смотрится по нескольким или десяткам инструментов одновременно, с ограничением максимального кол-ва сеток в рынке.
Из интересного, сразу стоит выделить неторговые периоды для сетки, которые настраиваются из робота напрямую.
Для начала Вам следует открыть исходный код робота GridBollingerScreener. Внутри проекта это здесь:
Начинаем обзор роботов-сеточников из публичной сборки OsEngine.
От включения сетки по трендовому сигналу до полноценного маркет-мейкинга на две ноги в пару по сигналу ускорения бумаг друг к другу (снятого с графика минимальных остатков от разницы между двумя ценовыми рядами с оптимальным мультипликатором).
Рассмотрим пример: GridLenearRegression.
Тип сетки: Открытие позиции.
Логика: Сигналом для выброса сетки служит индикатор линейной регрессии. Выбрасывает сетку типа «Открытие позиции» и закрывает ее общим трейлинг-стоп ордером. Когда цена закрытия свечи оказывается выше верхней канальной линии индикатора — сетка выбрасывается.
Для начала Вам следует открыть исходный код робота. Внутри проекта это здесь:
Вот лишь несколько примеров:
| Синтетическая позиция | Компоненты | Преимущества |
|---|---|---|
| Синтетический фьючерс | Длинный колл + короткий пут (или наоборот) | Имитирует длинную или короткую позицию по фьючерсу с меньшими требованиями к марже |
| Синтетический стрэддл | Длинный фьючерс + длинный пут + короткий колл (или наоборот) | Позволяет извлекать прибыль из роста волатильности без необходимости прогнозировать направление движения цены |
| Синтетический календарный спред | Длинный фьючерс + короткий колл + длинный пут (разные даты истечения) | Позволяет извлекать прибыль из разницы во временной стоимости опционов |
| Синтетическая бабочка | Длинный фьючерс + короткий колл + длинный пут (разные страйки) | Позволяет извлекать прибыль из ожидаемого снижения волатильности |

Сегодня будем смотреть пример, в котором трейлинг стоп по позиции подтягивается по ленте сделок, а сама позиция открывается из события завершения свечи.
На графике это выглядит так:
Продолжаем обзор роботов-скринеров из публичной сборки OsEngine. Сегодня на очереди пример скринера, анализирующий стакан котировок по многим инструментам одновременно.
Для начала Вам следует открыть исходный код робота. Внутри проекта это здесь:
Продолжаем обзор роботов-скринеров из публичной сборки OsEngine. Сегодня на очереди пример скринера, работающего по ленте сделок.
Один раз в секунду скринер анализирует движения по бумаге за N секунд и входит в позицию, если мы прошли за это время N%.
Для начала Вам следует открыть исходный код робота. Внутри проекта это здесь:

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