Что будет с открытыми позициями, если бот остановится

· 11 мин чтения

Если бот остановится, ваши открытые позиции останутся ровно там, где были, — а вместе с ними и ордера на выход. На Binance Futures тейк-профит — это reduce-only ордер LIMIT, а стоп-лосс — reduce-only ордер STOP_MARKET, и оба отправляются на биржу сразу после того, как Binance принимает вход. Они стоят на Binance, а не в памяти бота. Если процесс упадёт, они продолжат ждать цену, и Binance исполнит их независимо от того, следит за ними кто-нибудь или нет. Останавливается только то, что требует работающего процесса: новые входы, уборка лишних ордеров и сообщения в Telegram о том, что ордер исполнился.

Обложка: ордера на выход живут на бирже, а не в боте

Эта статья написана по опыту работы автотрейдера на 500+ парах Binance USDT-M. В ней описано, что программа делает на самом деле, включая неудобные места, потому что «а что, если он упадёт» — вопрос, который любой здравомыслящий человек задаёт, прежде чем отдать API-ключ чему бы то ни было.

Где живёт каждый ордер после открытия сделки

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

Таблица: где живут ордера на вход, тейк-профит и стоп и какие из них переживают сбой

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

Тейк-профит — reduce-only ордер LIMIT по цели сигнала. Reduce-only означает, что Binance позволит ему только уменьшить или закрыть позицию — никогда не открыть новую и не развернуть направление. Он отправляется на Binance и стоит в стакане. Если участник выбрал вместо этого трейлинг-тейк-профит, это ордер TRAILING_STOP_MARKET, который держит сервис условных ордеров Binance, — он тоже на бирже и тоже не зависит от бота. При включённом объединении тейк-профитов (по умолчанию с 30 сентября 2026 года) второй вход по той же монете заменяет тейк-профит одним ордером на весь объём бота по цели, взвешенной по размеру входов.

Стоп-лосс — ордер STOP_MARKET, тоже reduce-only и тоже на стороне Binance; он выставляется, только если у участника задан стоп. У новых аккаунтов стоп есть сразу: 35% от цены каждого входа. Дистанция стопа задаётся без учёта плеча, так что стоп 2% — это движение цены на 2%, а не потеря 2% маржи. При типе стопа SINGLE (по умолчанию) у каждого входа свой стоп на свой объём; при COMBINED один стоп покрывает всю позицию.

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

Последовательность, на которой всё держится

Четыре шага: исполняется рыночный вход, на Binance выставляется тейк-профит, затем стоп, исполнения возвращаются потоком

Порядок действий важен. Тейк-профит и стоп отправляются сразу после того, как Binance принимает рыночный вход, на объём этого входа. Нет такого шага, на котором ордер на выход ждал бы в памяти бота удобного момента.

Дальше информация идёт в обратную сторону. Binance присылает каждое исполнение и каждое изменение позиции по WebSocket-потоку пользовательских данных (user-data stream). Бот не опрашивает биржу, чтобы узнать, сработал ли ваш тейк-профит, — биржа сама ему об этом сообщает. По той же причине бот может какое-то время лежать, а вернувшись, подхватить текущее состояние счёта: источник истины никогда не находился в боте.

Что продолжает работать во время сбоя

Сравнение: что продолжает работать, а что встаёт на паузу, пока бот недоступен

Тейк-профит продолжает работать. Если цена дойдёт до цели, Binance исполнит reduce-only LIMIT, и позиция закроется. Деньги оказываются на вашем кошельке в тот же момент; пропадает только сообщение в Telegram об этом исполнении — подробнее в следующем разделе.

Стоп продолжает работать. Тот же механизм. STOP_MARKET на Binance срабатывает на Binance.

Ликвидация — дело Binance, а не бота. Собственному маржинальному движку биржи всё равно, жив ли ваш бот.

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

Фандинг не ждёт. Расчёты по фандингу идут по своему расписанию в любом случае. Если вы держите позицию во время сбоя, фандинг по-прежнему платится или начисляется.

Что встаёт на паузу и почему это важно

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

Уборка осиротевших ордеров приостанавливается. Это место требует объяснения. Когда срабатывает тейк-профит входа, его собственный стоп остаётся на Binance, хотя защищать ему больше нечего. Обычно бот видит исполнение в потоке пользовательских данных и сразу отменяет этот стоп, а когда позиция по монете обнуляется, отменяет все оставшиеся по ней стопы. Пока бот лежит, он этого сделать не может.

Сообщения об исполнениях за это время не отправляются. Исполнения, случившиеся, пока бот лежал, после переподключения не воспроизводятся, поэтому сообщения о них в Telegram так и не придут. В собственной истории сделок Binance есть каждое из них.

Картина позиций в памяти устаревает. При перезапуске бот заново собирает её с биржи — и позиции, и открытые ордера, — и именно поэтому ему можно доверять. Ваша пауза по монете, если вы её задали, переживает перезапуск.

Сбой поминутно

Хронология условного сбоя: процесс остановлен, срабатывает тейк-профит, остаётся лишний стоп, новых входов нет, перезапуск

Хронология выше условная, но последовательность событий именно такая. Единственный по-настоящему неловкий момент — осиротевший стоп: STOP_MARKET, переживший свою позицию.

Насколько опасен такой ордер? Меньше, чем кажется. Бот отправляет каждый стоп как reduce-only, а такой ордер Binance позволяет только уменьшать существующую позицию, поэтому сработавший осиротевший стоп не может открыть позицию сам. Убрать его всё равно стоит: он подействует на любую следующую позицию по той же монете, откроете вы её вручную или бот откроет её по новому сигналу, и закроет её часть на уровне, который для этой сделки никто не выбирал. Поэтому работающий бот отменяет такие стопы, и поэтому в чек-листе ниже есть пункт о том, чтобы их поискать.

Осиротевший стоп и что с ним делает бот

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

Если Binance отклоняет отмену, бот пишет предупреждение в лог с идентификатором ордера и идёт дальше, а не повторяет попытку вслепую. Если отмена выбрасывает исключение, он пишет ошибку. В любом случае осиротевший ордер попадает в отчёт, а не прячется.

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

Что проверить самому, если бот недоступен

Чек-лист: что проверить на Binance, пока бот лежит

Две вкладки Binance Futures отвечают на все вопросы этой статьи: Позиции (Positions) и Открытые ордера (Open Orders).

У каждой открытой позиции должен быть reduce-only тейк-профит (один на всю позицию при объединённых тейк-профитах, иначе по одному на каждый вход) и, если вы задали стоп, STOP_MARKET с противоположной стороны (по одному на вход при SINGLE, один на позицию при COMBINED). Если видите стоп без соответствующей позиции, это осиротевший ордер — отмените его. Если у позиции нет стопа, потому что вы его никогда не задавали, так было и до сбоя, и сбой этого не изменил.

Затем посмотрите на коэффициент маржи. Если до сбоя он был комфортным, он комфортный и сейчас: отсутствие бота не меняет ваше плечо.

Иллюстративная шкала: ручная проверка занимает около двух минут

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

Всё, что можно сделать вручную

Четыре варианта ручных действий во время сбоя

Вмешиваться вручную можно в любой момент, работает бот или нет. Можно закрыть позицию по рынку, передвинуть или добавить стоп, отменить осиротевший ордер или уменьшить объём. Знать нужно одно: как стоп бота соотносится с тем, что вы добавляете вручную. При стопах SINGLE у каждого входа бота свой стоп на свой объём, так что под объёмом, добавленным вручную, стопа бота нет, и ордера бота на выход его никогда не закроют. При COMBINED бот рассчитывает один стоп на всю позицию, включая добавленное вами. Прежде чем считать, что выставленный стоп покрывает всё, проверьте, в каком вы режиме (его показывает /summary в @hafizebot). Арифметика размера разобрана в руководстве о том, как поставить стоп-лосс в крипте.

Когда автоторговля выключена, а не упала

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

  • Вы отправляете /off или удаляете ключ на сайте: новых входов нет, ничего открытого бот не трогает.
  • Binance отклоняет вход из-за нехватки свободной маржи (ошибка -2019): бот выключает автоторговлю при первом же отказе и сообщает вам об этом один раз, потому что остальные сигналы из той же волны тоже были бы отклонены. Ваши открытые позиции, их тейк-профиты и стопы бот не трогает.
  • Включение обратно: /on сначала спрашивает Binance, работает ли ваш сохранённый ключ. Если Binance его отклоняет или не отмечена галочка Enable Futures, автоторговля остаётся выключенной, и бот объясняет почему.

Ваш риск определяют две настройки, выбранные заранее

Матрица: задан ли стоп и каков размер позиции — вот где на самом деле живёт риск сбоя

Сбой не создаёт риск. Он показывает риск, который вы уже несли.

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

Иллюстративный график: цена пересекает выставленный стоп во время сбоя

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

Чего бот не делает — намеренно

HafizeBot никогда не выводит и не переводит деньги с вашего счёта Binance и никогда не нуждается в разрешении на вывод. Ключу нужно только разрешение на торговлю фьючерсами, поэтому создавайте его с выключенным выводом; если сохранённый ключ разрешает вывод, страница ключей и бот вас предупредят. Руководство по безопасному подключению бота к Binance по API разбирает разрешения по пунктам, а если коротко, то единственное разрешение, которое нужно торговому боту, — разрешение торговать.

Три числа: ордера на выход на каждый вход, разрешения на вывод, которые нужны боту, одно место для проверки

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

Как проверить, что всё это правда

Живая страница результатов каждый час пересобирается из той же таблицы, в которую бот записывает сигнал при отправке. Она оценивает сигналы, а не счета участников: дошёл ли каждый разосланный сигнал до цели в пределах максимального срока удержания. Поэтому выход, не сработавший на чьём-то счёте, она бы не показала, и проверять эту статью нужно не там. Проверять нужно на своём счёте: в истории сделок Binance есть каждое исполнение, а /myresults в боте показывает, что ордера самого бота сделали на вашем счёте за последние 30 дней.

Если вопрос шире — стоит ли вообще запускать бота, — честный ответ в статье о том, стоят ли криптоботы своих денег, а разбор HafizeBot — развод или нет собирает доказательства, а не обещания. Если хотите спросить команду напрямую, сам бот отвечает в t.me/hafizebot.

Часто задаваемые вопросы

Если бот упадёт, закроется ли моя открытая позиция? Нет. Позицию не закрывает ничто, кроме исполнения ордера. Ваша позиция остаётся открытой, а тейк-профит и стоп, если он стоит на Binance, работают точно так же, как раньше. Останавливаются новые входы и сообщения об исполнениях.

Переживают ли ордера тейк-профит и стоп-лосс сбой? Да. Оба отправляются на Binance сразу после принятия входа: reduce-only LIMIT в стакане и reduce-only STOP_MARKET, который Binance запускает сам. Это ордера биржи, а не бота, и Binance исполняет их независимо от того, работает бот или нет.

Что такое осиротевший стоп и опасен ли он? Это стоп-ордер, позиция которого уже закрыта, обычно потому, что первым сработал тейк-профит. Бот отправляет стопы как reduce-only, поэтому осиротевший стоп не может открыть позицию сам, но подействует на следующую позицию по той же монете. Бот отменяет такие стопы, когда видит закрытие; закрытие во время сбоя не воспроизводится, поэтому после него проверьте вкладку «Открытые ордера» и отмените любой стоп без позиции за ним.

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

Может ли бот вывести мои средства — лёжа или работая? Нет. HafizeBot никогда не выводит и не перемещает деньги с вашего счёта и никогда не нуждается в разрешении на вывод. Создавайте ключ с выключенным выводом; если сохранённый ключ его разрешает, страница ключей и бот вас предупредят.

Что проверить в первую очередь, если бот недоступен? Вкладки «Позиции» и «Открытые ордера» на Binance Futures. Убедитесь, что у каждой позиции есть ордера на выход, отмените осиротевшие стопы и взгляните на коэффициент маржи. Это занимает около двух минут.

В заключение

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

Ничто из этого не является инвестиционной рекомендацией. Торговля криптофьючерсами сопряжена с высоким риском потерь; торгуйте только теми деньгами, которые можете позволить себе потерять.

торговый бот упал что с открытыми позициями что будет если торговый бот остановится сбой бота binance открытые ордера криптобота сбой автотрейдера