Książka zamówień Crypto Exchange Websockets dla programistów [skrypty w języku Python]

>

Przychodzimy do Ciebie na żywo z każdej większej giełdy kryptowalut.

Jeśli czas to pieniądz, to wyjaśnia, dlaczego wszyscy zawsze starają się maksymalizować swój czas. Inżynierowie nie są inni. Chcą najszybszych narzędzi, najbardziej wydajnych źródeł danych i niezawodnej infrastruktury.

Dostęp do danych kryptowalut był w przeszłości powolny. Wiele źródeł danych, takich jak CoinMarketCap aktualizacja co 5 minut. W przypadku większości programistów jest to niedopuszczalne.

W tym miejscu z pomocą przychodzi Shrimpy.

Shrimpy jest szybki. Tak szybko, że nie możesz nawet mrugnąć oczami, nie tracąc przy tym szybkości przetwarzania danych z wymiany. Po pierwszym użyciu Shrimpy ludzie mówią na przykład: „Człowieku, te strumienie gniazd są SZYBKIE” (bezpośredni cytat od użytkownika Shrimpy).

W tym samouczku pokażemy, jak uzyskać dostęp do naszych niesamowicie szybkich strumieni z gniazda internetowego w mniej niż 5 minut. Zgadza się, nasze szybkie gniazda sieciowe zasługują na szybki samouczek.

Zanim więc zaczniemy, wykonaj te 3 kroki:

  1. Zarejestruj się w Shrimpy Developer APIs.

  2. Zainstaluj Biblioteka Shrimpy Python.

  3. Utwórz klucz API i zasubskrybuj.

Format danych

Zanim przejdziemy do przykładowych skryptów, musimy najpierw zrozumieć, jakie dane zbieramy. W następnych dwóch sekcjach zajmiemy się „migawkami książki zamówień” i „aktualizacjami księgi zamówień”. Te dwa komunikaty są podobne pod wieloma względami, ale służą różnym celom.

Zamów migawki książek

Migawki dotyczące zamówień to pierwsza wiadomość, którą otrzymasz za pośrednictwem sieci Web po dokonaniu subskrypcji. Ta migawka będzie zawierać całą księgę zleceń dla jednej pary handlowej.

Zauważ, że istnieje element określający „migawka" jest prawdziwy”. Stąd wiemy, że ta wiadomość jest migawką całego portfela zamówień.

{

"Wymieniać się": "coinbasepro",

"para": "ltc-btc",

"kanał": "księga zamówień",

"migawka": prawdziwe,

"sekwencja": 6784322,

"zawartość": {

"pyta": [

{

"Cena £": "59,782355",

"Ilość": "3.456722" },

{

"Cena £": "60,782355",

"Ilość": "3.456722" },

],

"oferty": [

{

"Cena £": "58.782355",

"Ilość": "3.456722" },

{

"Cena £": "56,782355",

"Ilość": "3.456722" },

]

}

}

Zamów aktualizację książki

Po utworzeniu początkowej migawki księgi zamówień aktualizacje będą natychmiast przesyłane strumieniowo przez gniazdo sieciowe. Każda z tych aktualizacji powinna zostać zastosowana do otrzymanej oryginalnej migawki. W ten sposób prowadzona przez Ciebie lokalna księga zamówień jest zawsze aktualna i zawiera najnowsze wartości.

Gdy otrzymamy aktualizację dla określonej „ceny”, powinniśmy zastąpić starą „ilość” nową „ilością”. Jeśli aktualizacja określa „cenę”, której obecnie nie mamy w naszej lokalnej kopii księgi zamówień, powinniśmy zaktualizować naszą książkę zamówień, aby zawierała tę cenę i ilość.

{

"Wymieniać się": "coinbasepro",

"para": "ltc-btc",

"kanał": "księga zamówień",

"migawka": fałszywy,

"sekwencja": 6784322,

"zawartość": {

"pyta": [

{

"Cena £": "59,782355",

"Ilość": "3.456722" },

{

"Cena £": "61,782355",

"Ilość": "3.56722" },

],

"oferty": [

{

"Cena £": "58.782355",

"Ilość": "3.61234" },

{

"Cena £": "56,782355",

"Ilość": "1.34234" },

]

}

}

Przykład prostego skryptu

W poniższym skrypcie połączymy się z websocketem księgi zleceń dla pary handlowej ETH / BTC na Binance. Za każdym razem, gdy otrzymamy wiadomość przez websocket, wydrukujemy ją.

Zauważ, że nie utrzymujemy księgi zamówień za pomocą tego skryptu. Oznacza to, że po wydrukowaniu każdej wiadomości nie robimy nic z wiadomością. Jest to przykładowe tylko do celów.

import krewetek

# zarejestruj się w https://developers.shrimpy.io/, aby uzyskać klucz API

public_key = ‘…’

secret_key = ‘…’

# To jest przykładowa obsługa, po prostu drukuje przychodzącą wiadomość na konsolę

def error_handler (err):

print (err)

# To jest przykładowa obsługa, po prostu drukuje przychodzącą wiadomość na konsolę

def handler (msg):

drukuj (msg)

api_client = shrimpy.ShrimpyApiClient (public_key, secret_key)

raw_token = api_client.get_token ()

client = shrimpy.ShrimpyWsClient (error_handler, raw_token [‘token’])

subscribe_data = {

"rodzaj": "Subskrybuj",

"Wymieniać się": "binance",

"para": "eth-btc",

"kanał": "księga zamówień"}

# Rozpocznij przetwarzanie strumienia Shrimpy Websocket!

client.connect ()

client.subscribe (subscribe_data, handler)

# Po zakończeniu zatrzymaj klienta

client.disconnect ()

Otóż ​​to! Masz teraz dostęp do przesyłania strumieniowego aktualizacji książek zamówień na żywo z każdej większej giełdy.

Zwróć uwagę, że w tym przykładzie skryptu Python nie ujawniliśmy, jak prawidłowo zarządzać księgą zamówień. Ponieważ strategie utrzymania księgi zamówień będą zależeć od konkretnego przypadku użycia, zalecamy zbadanie różnych opcji i wdrożenie wersji, która najlepiej Ci odpowiada.

Wnioski

Łączenie się z giełdami kryptowalut i przesyłanie strumieniowe danych księgi zamówień na żywo jest proste dzięki interfejsom API programisty Shrimpy. Dostęp do każdej wymiany można uzyskać w ten sam sposób, ponieważ Shrimpy wykonuje ciężkie prace, jeśli chodzi o zbieranie danych, przetwarzanie aktualizacji i konwertowanie wszystkich danych do spójnego formatu.

Przypomnienie: Efekty uboczne korzystania z interfejsów API programisty Shrimpy obejmują: (1) Zakończenie projektów przed terminem i poniżej budżetu (2) Nieumyślne mamrotanie słowa „wow” pod nosem podczas wpatrywania się w dane migające na ekranie (3) Zapominanie, co to jest było jak przetwarzanie danych z wymiany, zanim zacząłeś używać Shrimpy.

Migawki historii zamówień

Uzyskaj dostęp do ponad 1 miliarda historycznych migawek książek zamówień dzięki najpotężniejszym interfejsom API danych kryptograficznych.

Dodatkowe dobre lektury

Jak stworzyć bota handlowego Crypto za pomocą Pythona

Jak pobrać dane świecowe kryptowaluty z giełd

Skrypty arbitrażowe dla botów do handlu kryptowalutami

Skrypt Bitcoin Price Live Ticker (przy użyciu Websockets)

O Shrimpy

Shrimpy’s Developer Trading API to ujednolicony sposób integracji funkcji handlowych na każdej większej giełdzie. Zbieraj dane rynkowe, korzystaj z gniazd internetowych w czasie rzeczywistym, realizuj zaawansowane strategie handlowe i zarządzaj nieograniczoną liczbą użytkowników.

Shrimpy Crypto Trading API: Shrimpy | Crypto Trading API dla programistów

Nie zapomnij nas śledzić Świergot i Facebook o aktualizacje i zadawaj pytania naszemu niesamowitemu Telegram społeczność.

Zespół Shrimpy

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me