Ордери
Тут описано типи, параметри й правила, спільні для всіх ордерів. Короткострокові, умовні й алгоритмічні ордери описано на окремих сторінках.
Тип і строк дії
| Параметр | Варіанти |
|---|---|
| Тип | LIMIT - за вказаною ціною або краще. MARKET - одразу за найкращими цінами книги, невиконаний залишок скасовується. |
| Time in force | GTC - стоїть у книзі до виконання або скасування. IOC - виконується одразу, скільки вийде, залишок скасовується. FOK - виконується одразу повністю або скасовується. |
| Good-til-block | Блок, після якого ордер спливає. 0 - без строку. |
Прапорці
- Post-only. Ордер лише додає ліквідність: якщо він виконався б одразу, він скасовується. Працює лише для LIMIT з GTC.
- Reduce-only. Ордер лише зменшує позицію й маржу не резервує. Якщо він більший за позицію, кількість обрізається до її розміру.
- Reduce-only, що закриває позицію повністю, можна виставити й меншим за мінімальний розмір ордера.
- Для GTC це працює, лише якщо на цьому ринку в субакаунта немає інших reduce-only ордерів.
Широкі ордери
Відкривальний ордер далі ніж 20% від ціни оракула приймається лише як post-only. Далі ніж 50% ордер не приймається взагалі.
Номер ордера
client_id - ваш номер ордера. Поки ордер активний, номер має бути унікальним у межах субакаунта й ринку. Після виконання або скасування його можна використати знову. Крім того, мережа присвоює кожному ордеру власний ключ, за яким він однозначно визначається.
Керування ордерами
| Повідомлення | Що робить |
|---|---|
MsgPlaceOrder | Розміщує ордер |
MsgCancelOrder | Скасовує ордер за номером |
MsgReplaceOrder | Скасовує ордер і виставляє новий одним повідомленням |
MsgBatchPlaceOrders | Розміщує до 50 ордерів. Якщо хоча б один не проходить перевірку, не розміщується жоден |
MsgBatchCancelOrders | Скасовує до 50 ордерів |
Статуси й результат розміщення
Статуси ордера: OPEN, PARTIALLY_FILLED, FILLED, CANCELLED, EXPIRED, REJECTED.
Відповідь на розміщення містить статус, виконану кількість і причину в полі placement_result:
| Значення | Що сталося |
|---|---|
resting | Ордер стоїть у книзі, можливо частково виконаний |
filled | Виконано повністю |
ioc_remainder_cancelled | IOC: залишок скасовано |
fok_insufficient_liquidity | FOK: бракувало ліквідності, ордер скасовано |
market_remainder_cancelled | MARKET: залишок скасовано |
post_only_would_cross | Post-only скасовано, бо він виконався б одразу |
resting_rejected | Ордер не зміг стати в книгу й скасований |
no_liquidity | Ринковий або IOC-ордер не знайшов зустрічних ордерів |
settlement_failed | Угоди ордера не пройшли розрахунок |
counterparty_settlement_failed | Не пройшов розрахунок у зустрічної сторони |
not_in_batch | Ордер не потрапив у зведення свого блоку |
tx_failed | Ордер виконався під час зведення, але його транзакція потім не пройшла; виконання лишається в силі |
Ліміти на кількість і розмір ордерів - в «Ончейн-матчинг».