API WebSocket v1 - Exemple de transcription du carnet d'ordres

Dernière mise à jour : 1 avr. 2025

Voici un exemple de transcription du flux du carnet d'ordres de l'API WebSocket v1, avec une explication de chaque message et du changement résultant dans le carnet d'ordres :

1. Instantané initial

Le message d'instantané initial :

[0,{"as":[["5711.80000","8.13439401","1557070784.848047"],["5712.20000","2.00000000","1557070757.056750"],["5712.80000","0.30000000","1557070783.806432"],["5713.00000","3.29800000","1557070774.281619"],["5713.10000","1.00000000","1557070741.315583"],["5713.90000","1.00000000","1557070698.840502"],["5714.70000","0.50000000","1557070743.861074"],["5715.20000","1.00000000","1557070697.871150"],["5716.60000","1.22700000","1557070775.294557"],["5716.80000","0.35000000","1557070749.823148"]],"bs":[["5711.70000","0.00749800","1557070712.848376"],["5709.20000","3.30000000","1557070766.260894"],["5708.30000","0.75483907","1557070781.425374"],["5708.20000","5.00000000","1557070780.762871"],["5707.80000","2.50000000","1557070722.912548"],["5707.40000","4.33000000","1557070732.546143"],["5707.00000","0.00200000","1557070604.962840"],["5706.90000","1.17300000","1557070715.529722"],["5706.40000","0.85600000","1557070777.204262"],["5706.30000","1.00000000","1557070753.118938"]]},"book-10","XBT/USD"]

fournit le carnet d'ordres initial suivant :

Screenshot_2021-06-08_at_07.52.08.png

2. Message de mise à jour/suppression/insertion

Le premier message de mise à jour modifie le côté acheteur du carnet d'ordres, en mettant à jour le niveau de prix existant 5709.2, en supprimant le niveau de prix existant 5708.2 et en insérant (en incluant dans la portée) le nouveau niveau de prix 5705.9 :

[0,{"b":[["5709.20000","3.00000000","1557070785.898642"],["5708.20000","0.00000000","1557070786.010118"],["5705.90000","7.62400000","1557070783.582385","r"]], "c":"2470128591"},"book-10","XBT/USD"]

ce qui donne le carnet d'ordres mis à jour suivant :

Screenshot_2021-06-08_at_07.54.06.png


3. Message de mise à jour/insertion

Le message de mise à jour suivant modifie le côté acheteur du carnet d'ordres, en mettant à jour le niveau de prix existant 5709.2 et en insérant le nouveau niveau de prix 5709.4 (ce qui a pour effet de déplacer tous les niveaux de prix suivants d'un niveau vers l'extérieur et de repousser le niveau de prix 5705.9 hors de portée) :

[0,{"b":[["5709.20000","8.00000000","1557070786.250425"],["5709.40000","0.30000000","1557070786.259115"]], "c":"4148072505"},"book-10","XBT/USD"]

ce qui entraîne le carnet d'ordres mis à jour suivant :

Screenshot_2021-06-08_at_07.55.20.png



4. Message de suppression/insertion

Le message de mise à jour suivant modifie le côté acheteur du carnet d'ordres, en supprimant le niveau de prix 5708.3 et en insérant (en le ramenant dans la portée) le niveau de prix 5705.9 :

[0,{"b":[["5708.30000","0.00000000","1557070786.389495"],["5705.90000","7.62400000","1557070783.582385","r"]], "c":"3093569863"},"book-10","XBT/USD"]

ce qui donne le carnet d'ordres mis à jour suivant :

Screenshot_2021-06-08_at_07.56.51.png



et ainsi de suite à l'infini jusqu'à ce que le flux du carnet d'ordres soit désabonné ou que la connexion WebSocket soit interrompue.

Un exemple de code (en Python) qui implémente un client de carnet d'ordres en ligne de commande et illustre la logique de maintien d'un carnet d'ordres valide est disponible pour consultation et téléchargement :

Les séparateurs décimaux et de milliers affichés dans cet article peuvent différer des formats affichés sur nos plateformes de trading. Consultez notre article sur la façon dont nous utilisons les points et les virgules pour plus d'informations.

Besoin d’aide supplémentaire ?