Запобігання самостійній торгівлі

Останнє оновлення: 1 квіт. 2025 р.

Kraken обмежує клієнтів від виконання власних ордерів (одночасне виступання як мейкер, так і тейкер для однієї й тієї ж угоди). Це запобігає вош-трейдингу, який є формою маніпуляції ринком, коли трейдер одночасно купує та продає один і той же фінансовий інструмент для створення оманливої, штучної активності на ринку.

Можливо успішно розмістити ордери на самостійне зіставлення (будуть повернуті дійсні ідентифікатори ордерів), але ордер тейкера буде негайно скасовано. Конкретний потік ордерів, що виникає, коли два ордери з одного облікового запису збігаються, виглядає так:

  • Якщо два ордери однакової кількості призведуть до самовиконання, ордер мейкера (лімітний) залишиться в книзі ордерів, а ордер тейкера (ринковий) буде скасовано (незалежно від розміру ордера).

  • У випадку, якщо ордер може бути частково виконаний з книги ордерів, обсяг, що залишився і призвів би до самостійного зіставлення, буде скасовано.

  • Якщо є два ордери, що очікують виконання, перший матиме пріоритет за часом, а другий може бути скасований разом з будь-яким обсягом, що залишився від третього агресивного ордера.

В управлінні обліковим записом ордер, який було скасовано через запобігання самостійній торгівлі, матиме статус "Скасовано" з причиною "Неможливо торгувати з собою":

Trading_CanceledCannotTradeWithSelf_09102021.png

Нижче наведено приклад потоку ордерів та отриманого статусу ордера через Kraken REST API. Виклики API розміщують лімітний ордер на купівлю у верхній частині книги ордерів XDGUSD, одразу за яким слідує ринковий ордер на продаж XDGUSD, що призводить до автоматичного скасування ринкового ордера через обмеження самостійної торгівлі:

  • $ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=limit price=0.002449 volume=5000 {"error":[],"result":{"descr":{"order":"buy 5000.00000000 XDGUSD @ limit 0.0024490"},"txid":["OQMVWA-LSE57-4LPF45"]}}

  • $ ./krakenapi AddOrder pair=xdgusd type=sell ordertype=market volume=5000 {"error":[],"result":{"descr":{"order":"sell 5000.00000000 XDGUSD @ market"},"txid":["OSLIEB-IQBNV-K7P5ET"]}}

  • $ ./krakenapi QueryOrders txid=OSLIEB-IQBNV-K7P5ET {"error":[],"result":{"OSLIEB-IQBNV-K7P5ET":{"refid":null,"userref":0,"status":"canceled","reason":"Cannot trade with self","opentm":1588683502.71,"closetm":1588683502.7117,"starttm":0,"expiretm":0,"descr":{"pair":"XDGUSD","type":"sell","ordertype":"market","price":"0","price2":"0","leverage":"none","order":"sell 5000.00000000 XDGUSD @ market","close":""},"vol":"5000.00000000","vol_exec":"0.00000000","cost":"0.000000000","fee":"0.000000000","price":"0.000000000","stopprice":"0.000000000","limitprice":"0.000000000","misc":"","oflags":"fciq"}}}

Повні відомості про поля/значення інформації про ордер доступні через документацію QueryOrders та ClosedOrders.

Десяткові та тисячні роздільники, показані в цій статті, можуть відрізнятися від форматів, що відображаються на наших торгових платформах. Перегляньте нашу статтю про те, як ми використовуємо крапки та коми для отримання додаткової інформації.

Потрібна додаткова допомога?