Ордери

Тут описано типи, параметри й правила, спільні для всіх ордерів. Короткострокові, умовні й алгоритмічні ордери описано на окремих сторінках.

Тип і строк дії

ПараметрВаріанти
ТипLIMIT - за вказаною ціною або краще. MARKET - одразу за найкращими цінами книги, невиконаний залишок скасовується.
Time in forceGTC - стоїть у книзі до виконання або скасування. 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_cancelledIOC: залишок скасовано
fok_insufficient_liquidityFOK: бракувало ліквідності, ордер скасовано
market_remainder_cancelledMARKET: залишок скасовано
post_only_would_crossPost-only скасовано, бо він виконався б одразу
resting_rejectedОрдер не зміг стати в книгу й скасований
no_liquidityРинковий або IOC-ордер не знайшов зустрічних ордерів
settlement_failedУгоди ордера не пройшли розрахунок
counterparty_settlement_failedНе пройшов розрахунок у зустрічної сторони
not_in_batchОрдер не потрапив у зведення свого блоку
tx_failedОрдер виконався під час зведення, але його транзакція потім не пройшла; виконання лишається в силі

Ліміти на кількість і розмір ордерів - в «Ончейн-матчинг».