Zapobieganie samorealizacji zleceń

Ostatnia aktualizacja: 1 kwi 2025

Kraken ogranicza klientom możliwość realizacji własnych zleceń (jednoczesne bycie twórcą i odbiorcą tego samego handlu). Zapobiega to wash tradingowi, który jest formą manipulacji rynkowej, w której trader jednocześnie kupuje i sprzedaje ten sam instrument finansowy, aby stworzyć wprowadzającą w błąd, sztuczną aktywność na rynku.

Możliwe jest pomyślne złożenie zleceń samorealizujących się (zostaną zwrócone prawidłowe identyfikatory zleceń), ale zlecenie odbiorcy zostanie natychmiast anulowane. Specyficzny przepływ zleceń, który występuje, gdy dwa zlecenia z tego samego konta miałyby się dopasować, jest następujący:

  • Jeśli dwa zlecenia o tej samej ilości skutkowałyby samorealizacją, zlecenie twórcy (limit) pozostałoby w arkuszu zleceń, a zlecenie odbiorcy (rynkowe) zostałoby anulowane (niezależnie od wielkości zlecenia).

  • W przypadku, gdy zlecenie może zostać częściowo zrealizowane z arkusza zleceń, pozostała objętość, która skutkowałaby samorealizacją, zostałaby anulowana.

  • Jeśli istnieją dwa zlecenia oczekujące, pierwsze miałoby priorytet czasowy, a drugie mogłoby zostać anulowane wraz z pozostałą objętością z trzeciego zlecenia agresywnego.

W zarządzaniu kontem, zlecenie, które zostało anulowane z powodu zapobiegania samorealizacji, miałoby status "Anulowane" z powodem "Nie można handlować ze sobą":

Trading_CanceledCannotTradeWithSelf_09102021.png

Poniżej przedstawiono przykład przepływu zleceń i wynikowego statusu zlecenia za pośrednictwem Kraken REST API. Wywołania API składają zlecenie kupna z limitem na szczycie arkusza zleceń XDGUSD, natychmiast po nim następuje zlecenie sprzedaży rynkowej dla XDGUSD, co skutkuje automatycznym anulowaniem zlecenia rynkowego z powodu ograniczenia samorealizacji:

  • $ ./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"}}}

Pełne szczegóły pól/wartości informacji o zleceniach są dostępne w dokumentacji QueryOrders i ClosedOrders.

Separatory dziesiętne i tysięcy pokazane w tym artykule mogą różnić się od formatów wyświetlanych na naszych platformach handlowych. Zapoznaj się z naszym artykułem na temat używania kropek i przecinków, aby uzyskać więcej informacji.

Potrzebujesz więcej pomocy?