Отмена заявки: почему нажатая кнопка ещё не означает отсутствие сделки
Как проверить отмену поручения и избежать повторного входа из-за задержки терминала или ответа сервера.
Запрос и подтверждение — разные события
Команда отмены поступает в торговую систему после отправки первоначальной заявки. Пока запрос обрабатывается, первоначальный приказ может успеть исполниться полностью или частично. Подтверждение получения команды не обязательно означает успешную отмену всего объёма. Поэтому после нажатия кнопки нужно проверить конечный статус и историю сделок. Этот порядок особенно важен при быстром движении рынка, когда интерфейс и фактическое состояние счёта обновляются с заметной задержкой.
Как возникает удвоенная позиция
Предположим, трейдер отправил покупку 40 единиц, не увидел результат и решил заменить её. Он нажал отмену, затем сразу отправил новую покупку 40. Если первая заявка уже исполнилась, итоговый объём может оказаться 80. При частичном исполнении первой команды он будет другим. Ошибка не связана с прогнозом цены: она возникает из неверного предположения о состоянии поручения. Убыток при этом способен превысить расчёт, сделанный для исходного объёма.
Последовательность сверки
Найдите первоначальный приказ по идентификатору, проверьте исполненное количество и остаток, затем сопоставьте их с текущей позицией. При неопределённом ответе используйте предусмотренный площадкой способ запроса статуса. Отсутствие строки в локальном окне не является доказательством отсутствия сделки. Если связь восстановилась после перерыва, сначала загрузите актуальные открытые заявки и исполнения. Только после согласования состояния решайте, требуется ли новое поручение и на какой объём.
Что предусмотреть в автоматическом роботе
Робот должен различать состояния «отправлено», «подтверждено», «частично исполнено», «отменено» и «неизвестно». Для последнего нужен отдельный сценарий сверки. Например, документация Binance предупреждает, что тайм-аут API не всегда означает неудачу запроса в торговом движке. Это частный пример общей операционной проблемы; коды ошибок и безопасный порядок повторов зависят от API. Слепая отправка той же торговой команды после любой ошибки может увеличить позицию вместо восстановления работы.
След для последующего разбора
Сохраняйте время команд, ответы, идентификаторы и снимок позиции после сверки. Не размещайте в публичном обсуждении ключи доступа или закрытые данные счёта. Обезличенная цепочка событий полезна для оценки качества исполнения: по ней видно, было ли решение изменить сделку осознанным или возникло из ошибки повторной отправки.
ПУЛЬС / ЗНАНИЯ
ПУЛЬС / ЗНАНИЯ