Risposte di errore
Gli errori relativi a ordini e annullamenti vengono in genere restituiti come un vettore della stessa lunghezza della richiesta in batch.
Di seguito è riportato un elenco delle possibili risposte di errore in batch:
| Error source | Error type | Error string |
|---|---|---|
| Order | Tick | Il prezzo deve essere divisibile per la dimensione del tick. |
| Order | MinTradeNtl | L'ordine deve avere un valore minimo di $10. |
| Order | MinTradeSpotNtl | L'ordine deve avere un valore minimo di 10 {quote_token}. |
| Order | PerpMargin | Margine insufficiente per inserire l'ordine. |
| Order | ReduceOnly | Un ordine reduce only aumenterebbe la posizione. |
| Order | BadAloPx | L'ordine post only sarebbe stato eseguito immediatamente, il bbo era {bbo}. |
| Order | IocCancel | L'ordine non ha potuto essere eseguito immediatamente contro ordini resting. |
| Order | BadTriggerPx | Prezzo TP/SL non valido. |
| Order | MarketOrderNoLiquidity | Nessuna liquidità disponibile per l'ordine market. |
| Order | PositionIncreaseAtOpenInterestCap | L'ordine aumenterebbe l'open interest mentre l'open interest è limitato |
| Order | PositionFlipAtOpenInterestCap | L'ordine aumenterebbe l'open interest mentre l'open interest è limitato |
| Order | TooAggressiveAtOpenInterestCap | Ordine rifiutato per un prezzo più aggressivo dell'oracle mentre è attivo il limite sull'open interest |
| Order | OpenInterestIncrease | L'ordine aumenterebbe l'open interest troppo rapidamente |
| Order | InsufficientSpotBalance | (Solo spot) L'ordine ha un saldo spot insufficiente per negoziare |
| Order | Oracle | Prezzo dell'ordine troppo distante dall'oracle |
| Order | PerpMaxPosition | L'ordine porterebbe la posizione a superare il limite del livello di margine alla leva corrente |
| Cancel | MissingOrder | L'ordine non è mai stato inserito, è già stato annullato o eseguito. |
Importante: alcuni errori sono una funzione deterministica del payload stesso e vengono invece restituiti in anticipo come parte della pre-validazione. In questo caso viene restituito un solo errore per l'intero payload, poiché alcuni di questi errori non si applicano a uno specifico ordine o annullamento.
Alcuni esempi includono: batch vuoto di ordini, ordini TP/SL non reduce-only, ordine troppo distante dal prezzo di riferimento e alcune forme di validazione della dimensione del tick.
Per gli utenti API che utilizzano il batching, si consiglia di gestire il caso in cui venga restituito un singolo errore per un batch di più ordini. In questo caso, la risposta potrebbe essere duplicata n volte prima di essere inviata alla funzione di callback, poiché l'intero batch è stato rifiutato per questo stesso motivo.
Per gli utenti API che utilizzano gli ordini storici, un elenco di tutti gli stati degli ordini storici di annullamento / rifiuto è disponibile qui.