Сеточный бот: зарабатывает в коридоре, теряет в тренде
Как устроена сетка заявок, из чего складывается её доход, почему мартингейл не уменьшает риск, а меняет его форму, и чем ограничивают убыток. Код такого бота открыт.
В посте «Спекуляция — это наблюдение» я перечислил неэффективности, на которых делаются деньги, и обещал разобрать каждую отдельно. Там же сказал, что у сеток репутация куда лучше, чем заслуженные ими результаты на длинной дистанции. Выполняю обещание.
Разговор предметный: код сеточного бота я выложил открыто, и всё, о чём пойдёт речь дальше, можно посмотреть в исходниках и запустить у себя.
Как устроена сетка
Сетка — это лесенка лимитных заявок от текущей цены. Для длинной стороны она строится вниз: бот берёт цену за точку отсчёта, отступает от неё шаг и ставит заявку на покупку, ещё шаг — ещё заявку, и так столько раз, сколько задано.
Как только уровень исполнился, на него тут же выставляется встречная заявка — ровно на шаг выше. Цена качнулась вверх, заявка выкупилась, уровень освободился и готов залиться снова. Это и есть весь механизм.
| Уровень | Цена | Объём | Тейк-профит |
|---|---|---|---|
| вход | 100,00 | — | — |
| 1 | 99,00 | 1 | 100,00 |
| 2 | 98,00 | 1 | 99,00 |
| 3 | 97,00 | 1 | 98,00 |
Сетка не угадывает направление. Она ставит ровно на одно: что цена вернётся туда, откуда ушла. Пока колебания есть — сетка работает. Это важно держать в голове, потому что продают её обычно как «бота, который зарабатывает всегда».
Из чего складывается доход
Результат одного оборота считается в одну строку:
шаг сетки − две комиссии, умножить на объём уровня.
Шаг и комиссия известны заранее. Третий множитель — сколько раз цена пройдёт туда-обратно — не знает никто. Весь доход сетки держится на нём, и оценить его можно только по истории конкретного инструмента, а не по обещаниям продавца бота.
Из этой же строки следует ограничение на шаг. Пусть комиссия — 0,02 % с каждой стороны:
- шаг 1 % → бирже уходит 0,04 из 1 %, то есть 4 % дохода;
- шаг 0,1 % → бирже уходит 0,04 из 0,1 %, то есть 40 % дохода;
- если заявки исполняются по рынку, а не лимитом, комиссия почти втрое выше — и мелкий шаг уводит сетку в минус с первого же оборота.
Отсюда два правила, которые видно прямо из арифметики: сетка живёт на лимитных заявках, и шаг не может быть соизмерим с комиссией. Бот, который ставит заявки по рынку, кормит биржу, а не вас.
Что происходит, когда цена не возвращается
Цена пошла в одну сторону и не вернулась. Уровни заливаются один за другим, встречные заявки не выкупаются, позиция растёт, средняя цена входа едет следом за рынком.
В этот момент сетка перестаёт быть сеткой. Остаётся обычная позиция против тренда — набранная автоматически, без решения человека и без ограничения сверху, если его не задали.
На бессрочных фьючерсах к этому добавляется фандинг: за позицию, которая висит сутками, вы ещё и платите — регулярно и тем больше, чем она крупнее.
Мартингейл: риск не уменьшается, он меняет форму
Чтобы средняя цена быстрее догоняла рынок, объём каждого следующего уровня увеличивают. Это и есть мартингейл. Посмотрим, что он делает, на одном и том же движении вниз на 10 %.
Числа условные, важна механика. Шаг — 1 пункт от цены 100, уровней десять.
Ровная сетка, объём каждого уровня — 1:
| Показатель | Значение |
|---|---|
| Куплено всего | 10 |
| Средняя цена | 94,50 |
| Вложено денег | 945 |
| Убыток при цене 90 | −45 |
| Это от вложенного | −4,8 % |
Мартингейл с удвоением, объёмы 1, 2, 4, 8 … 512:
| Показатель | Значение |
|---|---|
| Куплено всего | 1023 |
| Средняя цена | 90,99 |
| Вложено денег | 93 083 |
| Убыток при цене 90 | −1013 |
| Это от вложенного | −1,1 % |
Вот ради чего мартингейл и делают: средняя цена оказалась в одном проценте от рынка, а не в пяти. Чтобы выйти в ноль, достаточно отскока на процент — ровная сетка ждала бы пяти. В процентах просадка тоже выглядит лучше: 1,1 против 4,8.
Теперь то, о чём в рекламе не пишут. На том же самом движении рынка мартингейл потерял в двадцать два раза больше денег и потребовал в девяносто восемь раз больше капитала. Процент стал меньше, сумма — несопоставимо больше.
Мартингейл не уменьшает риск. Он меняет его форму: вместо «терять понемногу и часто» получается «долго не терять почти ничего, а потом не найти денег на следующий уровень». Сетка с мартингейлом не разоряется постепенно. Она разоряется один раз.
И ещё одно, менее очевидное. Движение на 10 % против позиции — для бессрочного фьючерса не катастрофа, а обычный вторник. Сетка, рассчитанная на десять уровней по проценту, упирается в свой предел на рядовом движении рынка.
Что превращает сетку из казино в инструмент
Сетка — рабочая стратегия. Нерабочей её делают настройки «по умолчанию» и отсутствие ограничителей. Что должно быть обязательно:
- Предел объёма позиции. Главное ограничение из всех. Он отвечает на вопрос «сколько я готов потерять», и отвечать на него должны вы, а не прогрессия объёма.
- Стоп-лосс по всей позиции. Сетка сама по себе выхода из тренда не имеет: у неё нет состояния «я ошиблась». Это состояние нужно задать снаружи.
- Ограничение числа живых заявок. Держать в рынке весь план незачем: до дальних уровней цена дойдёт не сегодня, а лимит заявок на счёт не бесконечный.
- Выбор инструмента. Сетка — ставка на диапазон. Значит, и инструмент нужен тот, который в диапазоне ходит, а не тот, у которого «самый большой объём».
- Понимание, чем вы торгуете. Сетка — это продажа волатильности: вы собираете много маленьких премий и однажды платите по-крупному. Доход ровный и предсказуемый, убыток редкий и большой. Так устроена сама стратегия, а не её плохая реализация.
Как проверить до того, как вложить деньги
- Прогон на истории конкретного инструмента. Не на красивой картинке из рекламы бота, а на периоде, в котором был и боковик, и тренд.
- Смотреть не на доход, а на просадку и на максимальный объём позиции: сколько денег стратегии реально понадобилось в худший момент.
- Демо-счёт. Рынок настоящий, деньги виртуальные. Неделя на демо отвечает на больше вопросов, чем месяц чтения отзывов.
Код открыт — посмотрите сами
Всё описанное выше реализовано в SimpleTradeBot — это сеточный бот для бессрочных контрактов Bybit, который я вынес из своей торговой системы в отдельный открытый проект: лесенка уровней, поуровневые тейк-профиты, общий стоп-лосс и трейлинг, предел объёма позиции, веб-интерфейс. Лицензия MIT, инструкция по запуску — на странице проекта.
Разбирать чужой код полезнее, чем читать про стратегию: видно не только что бот делает, но и что он делает, когда что-то идёт не так.
Если нужна сетка под вашу стратегию и ваш инструмент — с вашими правилами набора позиции, выхода и ограничения риска, — посмотрите, что входит в разработку торгового робота, или просто напишите мне. Чем точнее описаны правила, тем быстрее станет понятно, стоит ли вообще браться: иногда честный ответ — «эта стратегия не окупится», и получить его до разработки дешевле, чем после.
Текст не является инвестиционной рекомендацией. Ни один из описанных подходов не гарантирует дохода; прошлые результаты не предсказывают будущих.