Ошибки в ответах
Ошибки ордеров и отмен обычно возвращаются в виде вектора той же длины, что и пакетный запрос.
Ниже приведён список возможных пакетных ошибок:
| Источник ошибки | Тип ошибки | Строка ошибки |
|---|---|---|
| Order | Tick | Цена должна быть кратна размеру тика. |
| Order | MinTradeNtl | Ордер должен иметь минимальную стоимость $10. |
| Order | MinTradeSpotNtl | Ордер должен иметь минимальную стоимость 10 {quote_token}. |
| Order | PerpMargin | Недостаточно маржи для размещения ордера. |
| Order | ReduceOnly | Reduce-only ордер привёл бы к увеличению позиции. |
| Order | BadAloPx | Post-only ордер был бы немедленно исполнен, bbo был {bbo}. |
| Order | IocCancel | Ордер не смог немедленно сопоставиться ни с одним стоящим ордером. |
| Order | BadTriggerPx | Недопустимая цена TP/SL. |
| Order | MarketOrderNoLiquidity | Для рыночного ордера нет доступной ликвидности. |
| Order | PositionIncreaseAtOpenInterestCap | Ордер увеличил бы открытый интерес при действующем лимите открытого интереса |
| Order | PositionFlipAtOpenInterestCap | Ордер увеличил бы открытый интерес при действующем лимите открытого интереса |
| Order | TooAggressiveAtOpenInterestCap | Ордер отклонён из-за цены более агрессивной, чем цена оракула, при достижении лимита открытого интереса |
| Order | OpenInterestIncrease | Ордер увеличил бы открытый интерес слишком быстро |
| Order | InsufficientSpotBalance | (Только спот) Недостаточный спот-баланс для торговли по ордеру |
| Order | Oracle | Цена ордера слишком далека от цены оракула |
| Order | PerpMaxPosition | Ордер привёл бы к превышению лимита маржинального тира при текущем кредитном плече |
| Cancel | MissingOrder | Ордер не был размещён, уже отменён или исполнен. |
Важно: некоторые ошибки являются детерминированной функцией самой полезной нагрузки и возвращаются раньше — в рамках предварительной валидации. В этом случае для всей полезной нагрузки возвращается только одна ошибка, так как некоторые из этих ошибок не относятся к конкретному ордеру или отмене.
Примеры: пустой пакет ордеров, TP/SL-ордера не в режиме reduce-only, ордер со слишком большим отклонением от референсной цены, а также некоторые формы валидации размера тика.
Пользователям API, использующим пакетирование, рекомендуется обрабатывать случай, когда для пакета из нескольких ордеров возвращается одна ошибка. В этом случае ответ можно продублировать n раз перед передачей в функцию обратного вызова, так как весь пакет был отклонён по той же причине.
Пользователи API, работающие с историческими ордерами, могут найти список всех статусов исторических ордеров cancel / reject здесь.