Лонгрид 4 из 5FAQ
Чего не делать
Содержание
Ошибки, которые дорого стоят
Что делают | Чем заканчивается |
|---|---|
Кладут secret_key в код или в лог | Ключ утекает вместе с репозиторием или выгрузкой логов |
Повторяют торговую команду, не дождавшись ясности | Две заявки вместо одной, обе настоящие |
Считают деньги двоичным float | Цена уезжает на копейку и заявка не проходит проверку шага |
Передают количество в лотах | Объём заявки отличается от задуманного в разы |
Игнорируют ошибку внутри payload | Клиент считает, что подписка работает, и торгует по пустым данным |
Берут первый счёт из списка | Торговая команда уходит не на тот счёт |
Частые вопросы
Ответ на заявку не пришёл. Это ошибка или успех?
Ни то, ни другое. Это неизвестный результат, и обращаться с ним нужно отдельно: сохранить команду и
client_order_id, не отправлять новую, запросить активные заявки и события счёта, найти свою заявку. Если однозначно найти не удалось — остановить автоматическую торговлю и передать ситуацию человеку.client_order_id ведь делает повтор безопасным?
Нет. Поле помогает сопоставить вашу команду с заявкой, но не даёт права вслепую повторять отправку. Сначала сверка, потом решение.
Почему нельзя просто округлить цену?
Цена должна быть кратна шагу инструмента, а шаг считается из
min_stepиdecimals. Округление «на глаз» даёт цену, которую сервер отклонит, а в худшем случае — цену, по которой вы не собирались торговать.Что писать в логи, а что нет?
Пишите время, результат,
expires_at, номер попытки, тип подписки, метод и путь-шаблон, идентификаторы заявок и сделок, количество расхождений при сверке. Не пишите заголовокAuthorization, secret_key и тело запроса авторизации — даже на уровне debug.
Конец лонгрида