СЛОЖНОСТЬ
Что нельзя было упростить
Частичные исполнения и лимиты API. Наполовину налитая GTC-лимитка оставляет позицию, которую никто не планировал, а наивное решение — ждать TTL — оставляет риск непокрытым. Второе — переподключения: обрыв WebSocket не должен порождать дубли ордеров.
РЕШЕНИЕ
Как закрыли риск
Явная машина состояний ордера. Частично исполненный вход снимает остаток сразу, не дожидаясь TTL, а исполненная часть либо закрывается по рынку, либо получает брекет — по настройке. При переподключении бот восстанавливает последовательность и сверяется с биржей, прежде чем ему разрешено что-либо отправлять.