Sundancer0369
Sundancer0369 личный блог
Вчера в 09:17

Сеточный бот с открытым кодом: забирайте, но сначала прочитайте про тренд

Я выложил в открытый доступ сеточного бота — тот самый алгоритм, который работает в моей торговой системе. Код на C#, лицензия MIT, бесплатно, забирайте. И сразу, до всяких описаний: это не денежная машина, и ниже я честно напишу, где эта стратегия теряет.

Что он делает

Бот ведёт один инструмент — бессрочный контракт на Bybit. От текущей цены строит лесенку лимитных заявок с заданным шагом. Каждый залитый уровень получает свой тейк-профит: цена колыхнулась вниз, уровень залился, цена вернулась — уровень закрылся в плюс. На этом сетка и зарабатывает.

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

Базы данных нет, всё состояние живёт в памяти процесса. Это осознанное упрощение, а не недоделка: такой код читается подряд, без миграций, очередей и фоновых служб. Из него же следуют два правила — при запуске бот снимает свои прошлые заявки и не встаёт поверх позиции, которую открыл не он.

Где он теряет

Теперь неприятная часть, ради которой я и написал этот пост.

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

И вот тут подстерегает ловушка, в которую попадают почти все. Рынок проводит в коридорах большую часть времени, кривая доходности выглядит ровной и красивой, и возникает ощущение, что найден грааль. Проблема в том, что эта ровная кривая — не доход, а накопленная плата за риск, который ещё не реализовался. Один сильный тренд съедает её целиком и добавляет сверху.

Отдельно про мартингейл — наращивание объёма на каждом следующем уровне. Он не уменьшает риск, он меняет его форму: вместо редких средних убытков вы получаете много мелких прибылей и один очень большой убыток. Статистика сделок при этом выглядит прекрасно: процент прибыльных под девяносто. До того дня, когда она выглядеть перестаёт.

Что превращает сетку из казино в инструмент

Три вещи, и ни одна из них не про поиск «правильных» параметров:

Стоп по всей позиции. Не по уровню, а по всей сетке целиком. Он превращает неограниченный убыток в известную заранее сумму. Да, он будет срабатывать и забирать накопленное — это и есть цена работы стратегии, а не её поломка.

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

Понимание, что у стратегии есть фаза рынка, в которой она не работает. Это не дефект конкретного бота, это свойство подхода. Либо вы её распознаёте и выключаетесь, либо платите стопом.

Что внутри технически

C# и .NET 9. Заявки уходят по REST, состояния заявок и сделки приходят приватным сокетом, публичный поток сделок кормит стратегию. Перед каждым закрытием позиция сверяется с биржей: если там её уже нет, закрытие отменяется — иначе заявка не закрыла бы позицию, а открыла встречную. Такие мелочи и отличают работающего бота от написанного за вечер.

Есть веб-интерфейс: запуск, остановка, закрытие позиции, уровни сетки, живые заявки и лента событий. Демо-торговля, testnet и реальный счёт переключаются одной настройкой — начинать, разумеется, с демо. Все параметры в одном файле настроек, ключи в переменных окружения. На математику сетки, учёт позиции и весь торговый цикл написан 51 тест.

Зачем я это выложил

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

Я пишу торговых роботов под чужие стратегии, и этот бот — кусок моей собственной системы. Выкладываю как есть, без поддержки и без обещаний: работает на демо-счёте, работает на реальном, но решение торговать и чем рисковать остаётся за вами.

По ссылке ниже — страница проекта: снимок интерфейса, разбор стратегии, инструкция по запуску по шагам и кнопка на репозиторий.
https://ngcorp.pro/projects/simple-trade-bot/?utm_source=smartlab&utm_medium=post&utm_campaign=simple-trade-bot

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
7 Комментариев
  • rog
    Вчера в 09:52
    а в кубиках ТСЛаба случайно нет у вас этого бота?
  • ezomm
    Вчера в 10:49
    Тренд? Эта зверушка из 3х шагов (3 атаки трех солдат) и один шаг растянутый, и 2й шаг не самый малый. Я учу торговать 2 шаг тренда (не коррекции).Если 1й шаг(после полной коррекции) из 3х шагов, то это 1 волна Эллиота(импульс).Если из 2х шагов, то это а-в-с (волна А)… типа 1 шаг коррекции. После 2х шагов (а-в-с) против импульса ( 1 шаг(1 волна Эллиота))… делаем вход. Вход — поглощение 5й волны от С волны во 2й волне Эллиота (типично 62% от 1 волны).  Это вход в 3ю волну Эллиота. Танец цены из 5 шагов .+1(1 шаг),+1(2 шаг(3я волна Эллиота)),+1(3 шаг).Это шаги тренда без перекрытия волн импульса. Иногда любой шаг тренда (импульса) может растянутья на ..+2 шага..+2 шага и тд.
    Коррекция?.. Правило коррекции 2+4=100%. 1 шаг против импульса это А волна… это -1, 2 шаг против импульса это С волна Эллиота ( делает манипуляцию… те идет дальше А волны)… тоже -1. Я называю фрактал Эллиота 3-2  -  Танец Цены .
    Мораль — мы (профи) не торгуем 4 шага танца цены. Это номера шагов 1,3,-1,-2. Это информация о будущем 2 шаге цены большего тайма.
    Автор дал нам сетку для торговли 4 волны Эллиота (типично 38% от 3 волны). Это плоскость А, В, С. Для нее работает коридор ВВ — Болинжер Б.  Тут робот — сетка включается… когда индикатор тренда\ R- квадрат \меньше 0.2.Выше 0.2 уже 2й шаг(3 волна Эллиота) и включается робот -тренд. Тренд(импульс) из 8-10(3) новых шагов по свечному анализу. В тренде нечет шаги цены не имеют перекрытия . 
    Индикатор коридор для тренда ( 2 шаг цены ) это — Коридор Ошибки .
    Мораль — учимся читать график по каждой свече.Свечи — буквы книжки под названием -График.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн