Kraken restreint la possibilité pour les clients d’exécuter leurs propres ordres (c’est-à-dire d’être à la fois donneur et preneur d’ordre pour la même transaction). Cette restriction permet d’éviter le "wash trading", qui est une forme de manipulation du marché dans laquelle un trader achète et vend simultanément le même instrument financier pour créer une activité trompeuse et artificielle sur le marché.
Il est possible de passer des ordres qui s’autoremplissent avec succès (des numéros d’ordre valides seraient renvoyés), mais l’ordre taker serait immédiatement annulé. Le flux d’ordres spécifique qui se produit lorsque deux ordres provenant du même compte se remplissent est le suivant :
- •Si deux ordres de même quantité donnent lieu à une auto-exécution, l’ordre maker (limite) reste dans le carnet d’ordres et l’ordre taker (marché) est annulé (quelle que soit la taille de l’ordre).
- •Dans le cas où un ordre peut être partiellement rempli à partir du carnet d’ordres, le volume restant qui entraînerait une auto-exécution serait annulé.
- •S’il y a deux ordres en attente d’être exécutés, le premier serait prioritaire dans le temps et le second pourrait être annulé en même temps que le volume restant du troisième ordre.
Dans le cadre de la gestion des comptes, un ordre qui a été annulé en raison de la prévention de l’auto-trading afficherait le statut "Annulé" avec la raison "Impossible de faire une transaction avec soi-même" :
Voici un exemple du flux d’ordres et de l’état des ordres qui en résulte via le Kraken REST API. Les requêtes API placent un ordre d’achat à cours limité en haut du carnet d’ordres XDGUSD, immédiatement suivi d’un ordre de vente au marché pour XDGUSD, ce qui entraîne l’annulation automatique de l’ordre au marché en raison de la restriction d’auto-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"}}}
Les détails complets des informations d’ordre incluant les champs/valeurs sont disponibles via la documentation QueryOrders et ClosedOrders.
Les séparateurs de décimales et de milliers présentés dans cet article peuvent différer des formats affichés sur nos plateformes de trading. Consultez notre article sur l’utilisation des points et des virgules pour plus d’informations.