Prevenzione del self-trading

Ultimo aggiornamento: 1 apr 2025

Kraken impedisce ai clienti di eseguire i propri ordini (essendo contemporaneamente il maker e il taker per lo stesso trade). Ciò previene il wash trading, una forma di manipolazione del mercato in cui un trader acquista e vende contemporaneamente lo stesso strumento finanziario per creare attività fuorvianti e artificiali nel mercato.

È possibile piazzare ordini auto-corrispondenti con successo (verrebbero restituiti ID ordine validi), ma l'ordine taker verrebbe immediatamente annullato. Il flusso di ordini specifico che si verifica quando due ordini dallo stesso account si corrispondono è il seguente:

  • Se due ordini della stessa quantità dovessero comportare un'auto-esecuzione, l'ordine maker (limite) rimarrebbe nel book degli ordini e l'ordine taker (a mercato) verrebbe annullato (indipendentemente dalla dimensione dell'ordine).

  • Nel caso in cui un ordine possa essere parzialmente eseguito dal book degli ordini, il volume rimanente che comporterebbe un'auto-corrispondenza verrebbe annullato.

  • Se ci sono due ordini in attesa, il primo avrebbe priorità temporale e il secondo potrebbe essere annullato insieme a qualsiasi volume rimanente dal terzo ordine aggressore.

Nella gestione dell'account, un ordine che è stato annullato a causa della prevenzione del self-trading mostrerebbe uno stato di "Annullato" con la motivazione "Impossibile fare trading con se stessi":

Trading_CanceledCannotTradeWithSelf_09102021.png

Di seguito è riportato un esempio del flusso di ordini e dello stato dell'ordine risultante tramite la Kraken REST API. Le chiamate API piazzano un ordine limite di acquisto nella parte superiore del book degli ordini XDGUSD, immediatamente seguito da un ordine di mercato di vendita per XDGUSD, con conseguente annullamento automatico dell'ordine di mercato a causa della restrizione del self-trading:

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

I dettagli completi dei campi/valori delle informazioni sull'ordine sono disponibili tramite la documentazione QueryOrders e ClosedOrders.

I separatori decimali e delle migliaia mostrati in questo articolo potrebbero differire dai formati visualizzati sulle nostre piattaforme di trading. Consulta il nostro articolo su come utilizziamo punti e virgole per maggiori informazioni.

Hai ancora bisogno di aiuto?