Die API für Crypto Trading Bots

>

Crypto Trading Bots sind eines der am häufigsten verwendeten Tools von Händlern. Diese Anwendungen bieten Händlern bequeme Möglichkeiten, Strategien auszuführen, deren Implementierung mühsam wäre.

Leider haben Entwickler Schwierigkeiten, Handelsanwendungen zu erstellen. Die Entwicklung der Infrastruktur, die mit jeder Vermittlungsstelle verbunden ist, erfordert viel Zeit und Geduld. Viele Teams glauben fälschlicherweise, dass es einfache Möglichkeiten gibt, die Handelsinfrastruktur zu skalieren, stellen jedoch schnell fest, dass dies weitaus komplizierter ist, als es zunächst erscheint.

Viele Handelsdienstleistungen haben Schwierigkeiten, auch nur eine einzige Börsenintegration zu überwinden. Jede neue Börsenintegration nach den größten Börsen führt zu immer niedrigeren Renditen, was es unpraktisch macht, einen Service für mehr als die wenigen Top-Börsen aufzubauen.

In den folgenden Abschnitten wird erläutert, wie Entwickler jeden wichtigen Austausch integrieren können, ohne sich jemals um die Wartung und Skalierung der komplexen Infrastruktur kümmern zu müssen, die für den Austausch erforderlich ist.

Crypto Trading Bots – Der vollständige Leitfaden

Probleme bei der Integration von Börsen

Entwickler haben Schwierigkeiten, Handelsanwendungen zu erstellen, die eine Verbindung zu Kryptowährungsbörsen herstellen.

Wenn Sie sich auf den Weg machen, um ein Kryptowährungs-Handelstool wie einen Bot zu erstellen, ist es wichtig, zunächst die Risiken des Aufbaus der Exchange-Infrastruktur von Grund auf zu verstehen.

Hinweis: Dies sind nur etwas der Probleme, die Sie betreffen sollten. Es gibt viele weitere, über die wir nicht sprechen werden.

Inkonsistenz

Jeder Austausch ist anders. Keine zwei Börsen unterstützen dieselben APIs, Handelsfunktionen, Datenformate oder dasselbe Verhalten. Es gibt keine Standards für den Aufbau von Krypto-Austauschen.

Das Ergebnis ist, dass jede Austauschintegration ein neues Abenteuer ist. Keines dieser angenehmen Abenteuer, bei denen man sich innerlich lebendig fühlt. Es ist wie eines dieser Abenteuer, bei denen man sich 2 Monate lang in der Wüste verirrt und den Unterschied zwischen Halluzinationen und Trugbildern nicht mehr erkennen kann. Im wahrsten Sinne des Wortes sieht alles wie eine Oase aus, aber am Ende ist es nur mehr Wüste.

Es kann Monate dauern, um die verschiedenen Fallstricke jedes Austauschs zu verstehen. Die Entwicklung einer einheitlichen Handelsmethode an jeder Börse kann fast unmöglich erscheinen. Die Infrastruktur, die Sie entwickeln, muss sich immer wieder ändern, wenn Sie neue Wege entdecken, wie der Austausch Ihr bisheriges Design durcheinander bringt.


Die Inkonsistenz ist nicht nur auf API-Endpunkte beschränkt. Vermögenswerte über Börsen hinweg haben unterschiedliche Tickersymbole, Namen und andere identifizierende Informationen. Um alle Assets an einer Börse zu unterstützen, müssen Entwickler die Assets manuell über Börsen hinweg zuordnen, indem sie untersuchen, welche Assets an der Börse aufgelistet sind.

Da es Tausende von Assets gibt, kann der Prozess Wochen dauern. Ganz zu schweigen davon, dass Entwickler jedes Mal, wenn eine Börse ein neues Asset auflistet, das neue Asset validieren müssen.

Das automatische Zuordnen von Assets ist nahezu unmöglich. Um die Genauigkeit zu gewährleisten, muss es sich um einen manuellen Prozess handeln.

Die Shrimpy Developer APIs lösen dieses Problem, indem sie Assets über Börsen hinweg automatisch identifizieren und kennzeichnen. Das Handelsverhalten und die Formate, die wir für Daten verwenden, sind an jeder Börse konsistent. Alle manuellen Prozesse werden vom Shrimpy-Team ausgeführt, sodass Sie sich auf die Funktionsentwicklung konzentrieren können.

Instandhaltung

Wie bereits erwähnt, listen einige Börsen Vermögenswerte häufig auf. Der Prozess zum Verwalten des Listungsprozesses, zum Kennzeichnen von Assets und zum Zuordnen von Assets über Börsen hinweg erfolgt weitgehend manuell.

Dies ist nicht die einzige Wartung, die für den Aufbau der Handelsinfrastruktur erforderlich ist. Der Austausch wird häufig wegen Wartungsarbeiten unterbrochen, die APIs werden aktualisiert oder das Verhalten von Anforderungen wird unerwartet geändert.

Für jede von einem Exchange vorgenommene Änderung müssen Entwickler Updates veröffentlichen, Server erneut bereitstellen und automatisch erkennen, wann diese Änderungen vorgenommen werden. Unter bestimmten Umständen benachrichtigt der Austausch die Entwickler nicht einmal, wenn eine Änderung eintritt. Sie werden eines Morgens aufwachen und die APIs werden unterschiedlich sein.

Ganz zu schweigen von den kontinuierlichen Bemühungen, neue Funktionen, die vom Austausch unterstützt werden, zu integrieren, alte Funktionen oder Endpunkte zu verwerfen und den Code zu aktualisieren, wenn sich die Bedingungen für den Austausch ändern.

Die Shrimpy Developer APIs lösen dieses Problem, indem sie Updates verwalten, die Infrastruktur erneut bereitstellen und neue Funktionen integrieren, ohne die API-Schnittstelle zu ändern. Entwickler können sich nachts einfach ausruhen und wissen, dass sie mit einem Produkt aufwachen, das mitsummt.

Ratenlimits

Jede Börse hat unterschiedliche Kurslimits und Regeln für die Interaktion mit den APIs. Um diese Regeln einzuhalten, müssen Entwickler häufig eine Serverfarm unterhalten, die für das von der Anwendung ausgeführte Handelsvolumen erforderlich ist.

Diese Serverfarm erfordert Koordination und intelligentes Routing, um sicherzustellen, dass der Dienst die API-Einschränkungen einhält und dennoch Trades für jeden Benutzer rechtzeitig ausführt.

Mit zunehmender Anzahl Ihrer Benutzer nimmt dieses Problem nur an Komplexität zu. Die Verwaltung von Hunderten von Servern, die jeweils unabhängig voneinander mit dem Austausch verbunden sind, wird zum Albtraum.

Die Shrimpy Developer APIs lösen dieses Problem, indem sie die Serverfarm für Sie verwalten. Unsere Infrastruktur passt sich Ihnen an. Unabhängig davon, ob Sie 1 Benutzer oder 1.000 Benutzer haben, sind keine Änderungen an der Erweiterung Ihrer Infrastruktur erforderlich.

Kosten

Die Serverkosten, die für die Verwaltung von Zehntausenden oder Hunderttausenden von Benutzern erforderlich sind, sind teuer. Tatsächlich würde der Aufbau einer robusten Infrastruktur die meisten Teams zwischen 3 und 6 US-Dollar pro Benutzer und Monat kosten. Obwohl dies hoch klingt, sind es die Kosten für die Wartung einer so großen Serverfarm, die eine Verbindung zu Börsen herstellt.

Leider sind darin nicht einmal die Entwicklungskosten enthalten. Es kann teuer sein, erstklassige Entwickler einzustellen, die über ausreichende Erfahrung verfügen, um die von Ihnen benötigte Infrastruktur aufzubauen. Die Kosten steigen nur, wenn Sie zusätzliche Integrationen benötigen.

Der Aufbau einer Infrastruktur für den Austausch ist teuer.

Die Shrimpy Developer APIs sind kostengünstig. Die Kosten beginnen bei 1,40 USD / Benutzer / Monat und sinken, wenn Sie mehr Benutzer an Bord haben.

Benutzerkontenverwaltung

Nachdem wir die Schwierigkeiten bei der Verwaltung der Exchange-Infrastruktur verstanden haben, werden wir uns Beispiele ansehen, wie wir die Shrimpy Developer APIs nutzen können, um unseren Entwicklungsprozess zu vereinfachen.

Zu Beginn müssen wir wissen, wie Benutzer verwaltet, eine Verbindung zu Benutzertauschkonten hergestellt und auf deren Kontoinformationen zugegriffen wird.

Mit den Shrimpy-APIs wird jeder Benutzer individuell verwaltet, sodass er der Art und Weise entspricht, wie Sie Ihre Anwendung entwickeln. Wenn Ihre Anwendung 1.000 Benutzer enthält, werden 1.000 Benutzer mit den Shrimpy-APIs erstellt.

Einrichten unserer Python-Umgebung

Bevor wir beginnen, richten wir unsere Python-Umgebung ein, indem wir die Shrimpy Python Library installieren.

Pip installieren Shrimpy-Python

Hinweis: Die Shrimpy Python Library funktioniert mit Python3. Wenn Sie Python2 verwenden, aktualisieren Sie bitte Ihre Version von Python.

Shrimpy & API-Schlüssel austauschen

Wann immer Sie die folgenden Zeilen in den Skriptbeispielen sehen, müssen wir unsere öffentlichen und geheimen API-Schlüssel von Shrimpy eingeben. Diese werden generiert, indem Sie sich bei Shrimpy anmelden und neue API-Schlüssel erstellen.

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

Zusätzlich zu den Shrimpy-API-Schlüsseln werden im Code Stellen für den Austausch öffentlicher und geheimer API-Schlüssel angezeigt. Diese Schlüssel sind erforderlich, um eine Verbindung zu Exchange-Konten herzustellen.

exchange_public_key = ‘…’

exchange_secret_key = ‘…’

Benutzer erstellen

Jedes Mal, wenn sich ein Benutzer für Ihre Dienste anmeldet, müssen Sie lediglich einen neuen Benutzer mit Shrimpy erstellen. Dieser Vorgang kann wie folgt aussehen.

# erforderliche Bibliotheken importieren

Garnelen importieren

# Weisen Sie Ihre Shrimpy Master-API-Schlüssel zur späteren Verwendung zu

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Erstellen Sie den Shrimpy-Client

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Erstellen Sie einen Benutzer, der mit unserem Austausch verknüpft wird

create_user_response = client.create_user (‘The Shrimp Master’)

user_id = create_user_response [‘id’]

Speichern Sie die “Benutzer-ID”, damit sie in späteren Skripten verwendet werden kann. Dies ist die ID, mit der Sie Ihren Benutzer dem mit Shrimpy erstellten Benutzer zuordnen. Diese Zuordnung kann irgendwo wie in einer Datenbank gespeichert werden.

Börsen verbinden

Sobald Sie einen Benutzer erstellt haben, möchten diese wahrscheinlich eine Verbindung zu ihren verschiedenen Börsen herstellen. Mit Shrimpy können Sie standardmäßig bis zu 20 Exchange-Konten pro Benutzer verbinden (dieses Limit kann auf Anfrage erhöht werden). Das Verknüpfen eines neuen Exchange-Kontos mit einem Benutzer ist unkompliziert.

# erforderliche Bibliotheken importieren

Garnelen importieren

# Weisen Sie Ihre Shrimpy Master-API-Schlüssel zur späteren Verwendung zu

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Weisen Sie Ihre Umtauschschlüssel zu, für die Sie auf die Kontostanddaten zugreifen möchten

Austauschname = "Bittrex"exchange_public_key = ‘…’

exchange_secret_key = ‘…’

# Weisen Sie die Benutzer-ID zu, die im letzten Skriptbeispiel generiert wurde

user_id = ‘…’

# Wenn Sie sich nicht an Ihre ‘user_id’ erinnern können, rufen Sie sie von Shrimpy ab

# Es sollte der erste Benutzer sein, wenn Sie nur einen erstellt haben

users = client.list_users ()

user_id = users [0] [‘id’]

# Erstellen Sie den Shrimpy-Client

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Verknüpfen Sie unseren ersten Austausch, damit wir auf Kontostanddaten zugreifen können

link_account_response = client.link_account (

Benutzeridentifikation,

Austauschname,

exchange_public_key,

exchange_secret_key

)

account_id = link_account_response [‘id’]

Speichern Sie die “account_id”, damit wir sie in späteren Skripten verwenden können. Jedes Austauschkonto für den Benutzer hat eine eindeutige ID.

Kontostand abrufen

Sobald das Exchange-Konto mit einem Benutzer verknüpft ist, können wir auf die Guthaben für dieses Exchange-Konto zugreifen, indem wir das folgende Skript ausführen.

Garnelen importieren

# Verwenden Sie die öffentlichen und privaten Schlüssel Ihrer Shrimpy-API, um den Client zu erstellen

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Hinweis: Da wir in unserem vorherigen Beispielskript einen Benutzer erstellt haben,

# Wir können einfach unsere Benutzerliste abrufen.

users = client.list_users ()

user_id = users [0] [‘id’]

# Rufen Sie die diesem Benutzer zugeordneten Konten ab

Accounts = client.list_accounts (

Benutzeridentifikation

)

account_id = accounts [0] [‘id’]

# Zugriff auf Kontostanddaten für das zuvor erstellte Benutzerkonto

balance = client.get_balance (

Benutzer_ID, # Benutzer_ID

account_id # account_id

)

Das Ergebnis dieses Skripts ist eine Liste aller Assets, deren Eigentümer der Benutzer ist, sowie die genaue Menge der einzelnen Assets.

Handel & Bestellverwaltung

Ohne Handel wäre es unmöglich, einen Handelsbot zu bauen. Die Shrimpy Developer APIs bieten die robustesten Optionen für den Handel. Diese Optionen rationalisieren den Entwicklungsprozess, vereinfachen Strategien und optimieren die Art und Weise, wie Trades ausgeführt werden.

Es gibt einige verschiedene Auftragstypen, die von den Shrimpy-Entwickler-APIs unterstützt werden. Die wichtigsten Auftragsarten werden hier in die Diskussion einbezogen.

Bestellungen begrenzen

Shrimpy unterstützt zwei verschiedene Arten von Limit Orders. Dies sind IOC- und AGB-Bestellungen. Während beide die gleiche Prämisse haben, haben sie leicht unterschiedliche Verhaltensweisen, die sie ideal für unterschiedliche Situationen machen.

Sofortige oder stornierte (IOC) Bestellungen

IOC-Aufträge können sofort ausgeführt werden. Die Bestellung sollte zu einem Preis aufgegeben werden, der derzeit von einer offenen Bestellung belegt ist, damit die Bestellung sofort zum angegebenen Preis oder besser ausgeführt wird. Wenn sich der Markt bewegt und der angegebene Preis nicht mehr verfügbar ist, wird die Bestellung sofort storniert und das in der Bestellung gesperrte Geld an den Benutzer zurückgegeben.

Das Ausführen eines IOC-Auftrags würde mit Shrimpy ungefähr so ​​aussehen.

Garnelen importieren

# Verwenden Sie die öffentlichen und privaten Schlüssel Ihrer Shrimpy-API, um den Client zu erstellen

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Hinweis: Da wir in unserem vorherigen Beispielskript einen Benutzer erstellt haben,

# Wir können einfach unsere Benutzerliste abrufen.

users = client.list_users ()

first_user_id = users [0] [‘id’]

# Rufen Sie die diesem Benutzer zugeordneten Konten ab

Accounts = client.list_accounts (

first_user_id

)

first_account_id = accounts [0] [‘id’]

# Zugriff auf Kontostanddaten für das zuvor erstellte Benutzerkonto

balance = client.get_balance (

first_user_id, # user_id

first_account_id # account_id

)

# Führen Sie eine IOC-Limit-Order aus

place_limit_order_response = client.place_limit_order (

first_user_id, # user_id

first_account_id, # account_id

‘ETH’, # base_symbol

‘BTC’, # quote_symbol

‘0.01’, # Menge an base_symbol

‘0.026’, # Preis

‘VERKAUFEN’, # Seite

‘IOC’, # time_in_force

)

limit_order_id = place_limit_order_response [‘id’]

Beachten Sie, wie genau dieses Skript für jeden Austausch ausgeführt werden kann. Sie müssten nichts anderes als das Exchange-Konto ändern, auf das Sie verweisen, um einen Trade an einer anderen Exchange auszuführen.

Dieses Verhalten ist nur bei Shrimpy zu beobachten. Um die Infrastruktur selbst zu implementieren, müssen Sie für jeden einzelnen Austausch benutzerdefinierten Code schreiben.

Hinweis: Der hier enthaltene Preis für den Handel ist nur ein Beispielpreis. Der Preis sollte auf der Grundlage der aktuellen Marktlage berechnet werden. Führen Sie dieses Skript nicht “wie es ist” aus..

Good Til ’Cancel (AGB)

AGB-Bestellungen werden zu einem bestimmten Preis und einer bestimmten Menge aufgegeben. Die Bestellung bleibt an der Börse geöffnet, bis ein anderer Händler die Bestellung kauft oder bis Sie die Bestellung stornieren. Für eine offene Order, die von einem anderen Händler angenommen wird, fallen Maker-Handelsgebühren an.

Die Maker-Gebühren sind an vielen Börsen in der Regel niedriger als die Abnehmergebühren, da das Verlassen offener Aufträge an der Börse dem Markt Liquidität verleiht. Aus diesem Grund möchten viele Börsen die zusätzliche Liquidität belohnen.

Garnelen importieren

# Verwenden Sie die öffentlichen und privaten Schlüssel Ihrer Shrimpy-API, um den Client zu erstellen

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Hinweis: Da wir in unserem vorherigen Beispielskript einen Benutzer erstellt haben,

# Wir können einfach unsere Benutzerliste abrufen.

users = client.list_users ()

first_user_id = users [0] [‘id’]

# Rufen Sie die diesem Benutzer zugeordneten Konten ab

Accounts = client.list_accounts (

first_user_id

)

first_account_id = accounts [0] [‘id’]

# Zugriff auf Kontostanddaten für das zuvor erstellte Benutzerkonto

balance = client.get_balance (

first_user_id, # user_id

first_account_id # account_id

)

# Führen Sie eine AGB-Limit-Order aus

place_limit_order_response = client.place_limit_order (

first_user_id, # user_id

first_account_id, # account_id

‘ETH’, # base_symbol

‘BTC’, # quote_symbol

‘0.01’, # Menge an base_symbol

‘0.026’, # Preis

‘VERKAUFEN’, # Seite

‘AGB’, # time_in_force

)

limit_order_id = place_limit_order_response [‘id’]

Hinweis: Der hier enthaltene Preis für den Handel ist nur ein Beispielpreis. Der Preis sollte auf der Grundlage der aktuellen Marktlage berechnet werden. Führen Sie dieses Skript nicht “wie es ist” aus..

Lesen Sie mehr über Limit Orders

Smart Order Routing

Das Sammeln von Daten über Hunderte von Handelspaaren und das Analysieren der Daten für ein optimiertes Handelsrouting ist kompliziert. Aus diesem Grund bietet Shrimpy Smart Order Routing (SOR) sofort an.

SOR automatisiert die Auftragsausführung, sodass Sie mehr Zeit damit verbringen können, zu verwalten, wohin die Gelder fließen sollen, als wie sie dort ankommen. Shrimpy leitet die Order intelligent über Handelspaare weiter, um die beste Orderausführung sicherzustellen.

Beispiel: Angenommen, Sie möchten die ETH gegen LTC eintauschen.

An jeder Börse können 10 verschiedene Wege beschritten werden, um die ETH zu verkaufen und LTC zu kaufen. Du könntest zur ETH gehen->BTC->LTC, ETH->LTC, ETH->USDT->LTC, ETH->USDC->LTC und so weiter. Jede dieser Raten hat unterschiedliche Raten, die sich ständig ändern.

SOR bewertet automatisch alle diese Optionen, teilt die Aufträge auf und führt die optimalen Trades aus.

Garnelen importieren

# Verwenden Sie die öffentlichen und privaten Schlüssel Ihrer Shrimpy-API, um den Client zu erstellen

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Hinweis: Da wir in unserem vorherigen Beispielskript einen Benutzer erstellt haben,

# Wir können einfach unsere Benutzerliste abrufen.

users = client.list_users ()

first_user_id = users [0] [‘id’]

# Rufen Sie die diesem Benutzer zugeordneten Konten ab

Accounts = client.list_accounts (

first_user_id

)

first_account_id = accounts [0] [‘id’]

# Zugriff auf Kontostanddaten für das zuvor erstellte Benutzerkonto

balance = client.get_balance (

first_user_id, # user_id

first_account_id # account_id

)

# eine Market Order ausführen

smart_order_response = client.create_trade (

first_user_id, # user_id

first_account_id, # account_id

‘BTC’, # from_symbol

‘ETH’, # to_symbol

‘0,01’ # Menge von from_symbol

True # enable smart_routing

)

API für Smart Order Routing

Live-Marktdaten

Um Trades ausführen zu können, benötigen wir Live-Marktdaten, um schnell entscheiden zu können, wie und wann Aufträge ausgeführt werden sollen.

Shrimpy bietet sowohl eine REST-API als auch eine Websocket-API, um sicherzustellen, dass Sie eine Anwendung mit Live-Daten erstellen können, die für Sie am besten geeignet ist.

REST-API-Endpunkte

Diese REST-API-Endpunkte bieten Entwicklern die einfachste Möglichkeit, bei Bedarf auf Marktdaten zuzugreifen, ohne eine Verbindung zu Websockets herzustellen.

Bücher bestellen

Über den folgenden Endpunkt können Sie auf den neuesten Auftragsbuch-Snapshot zugreifen. Dadurch wird sofort der Schnappschuss des Live-Buches zurückgegeben, mit dem Sie Entscheidungen über die Ausführung von Trades treffen können.

Garnelen importieren

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

orderbooks = client.get_orderbooks (

‘binance’, # exchange

‘XLM’, # base_symbol

‘BTC’, # quote_symbol

10 # Limit

)

Kerzenhalter

Wenn Sie Diagramme benötigen, die die Live-Updates des Marktes verfolgen, können Sie die neuesten Kerzenhalter anfordern, um über jede Bewegung auf dem Markt auf dem Laufenden zu bleiben.

Dieser Endpunkt gibt die letzten 1.000 Kerzenhalter zurück. Wenn Sie mehr Kerzenhalter benötigen, müssen Sie den Endpunkt „Historischer Kerzenhalter“ verwenden.

Garnelen importieren

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

candles = client.get_candles (

‘binance’, # exchange

‘XLM’, # base_trading_symbol

‘BTC’, # quote_trading_symbol

’15m’ # Intervall

)

Websocket-Endpunkte

Echtzeit-Handelsanwendungen erfordern kontinuierlich Marktdaten in Echtzeit. Der einfachste Weg, diese Strategien umzusetzen, besteht darin, das Orderbuch und die Handelsdaten-Websockets zu nutzen. Diese Websockets halten die Abonnenten über jeden ausgeführten Trade und jede Bestellung, die an der Börse platziert wird, auf dem Laufenden.

Order Book Websocket

Der Orderbuch-Websocket sendet kontinuierlich die neuesten Änderungen an das Orderbuch. Shrimpy sendet die Updates immer sofort, sobald sie verfügbar sind.

Garnelen importieren

public_key = ‘…’

private_key = ‘…’

# Dies ist ein Beispielhandler, der einfach die eingehende Fehlermeldung an die Konsole druckt

def error_handler (err):

print (err)

# Dies ist ein Beispielhandler, der einfach die eingehende Nachricht an die Konsole druckt

def handler (msg):

print (msg)

api_client = shrimpy.ShrimpyApiClient (public_key, private_key)

raw_token = api_client.get_token ()

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

subscribe_data = {

"Art":: "abonnieren",

"Austausch-":: "binance",

"Paar":: "ltc-btc",

"Kanal":: "Auftragsbuch"}}

# Starten Sie die Verarbeitung des Shrimpy-Websocket-Streams!

client.connect ()

client.subscribe (subscribe_data, Handler)

# Stoppen Sie den Client, sobald Sie fertig sind

client.disconnect ()

Handelswebsocket

Der Trade Websocket sendet jeden der Trades, die an der Börse ausgeführt werden. Diese Tick-by-Tick-Handelsdaten bieten die schnellste Möglichkeit, jeden von allen Marktteilnehmern getätigten Trade anzuzeigen.

Garnelen importieren

public_key = ‘…’

private_key = ‘…’

# Dies ist ein Beispielhandler, der einfach die eingehende Fehlermeldung an die Konsole druckt

def error_handler (err):

print (err)

# Dies ist ein Beispielhandler, der einfach die eingehende Nachricht an die Konsole druckt

def handler (msg):

print (msg)

api_client = shrimpy.ShrimpyApiClient (public_key, private_key)

raw_token = api_client.get_token ()

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

subscribe_data = {

"Art":: "abonnieren",

"Austausch-":: "binance",

"Paar":: "ltc-btc",

"Kanal":: "Handel"}}

# Starten Sie die Verarbeitung des Shrimpy-Websocket-Streams!

client.connect ()

client.subscribe (subscribe_data, Handler)

# Stoppen Sie den Client, sobald Sie fertig sind

client.disconnect ()

Historische Marktdaten

Jeder dieser historischen Datenendpunkte bietet verschiedene Daten, mit denen der Markt zu unterschiedlichen Zeiten bewertet, Strategien zurückgetestet und die Leistung analysiert werden können.

Historische Kerzenhalter (OHLCV)

Historische Kerzenleuchter können zum Charting, zur Analyse und zur Entwicklung neuer Handelsstrategien verwendet werden. In Shrimpy stehen historische Leuchter zur Verfügung 1m, 5m, 15m, 1h, 6h, oder 1d Intervalle. Diese Intervalle wurden austauschübergreifend standardisiert, um Inkonsistenzen zu vermeiden.

Garnelen importieren

# Verwenden Sie die öffentlichen und privaten Schlüssel Ihrer Shrimpy-API, um den Client zu erstellen

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

candles = client.get_historical_candles (

“Binance”,

‘LTC’,

“BTC”,

‘2019-05-19T00: 00: 00.000Z’,

‘2019-05-20T00: 00: 00.000Z’,

100,

’15m’

)

Historische Ordensbücher

Historische Auftragsbuch-Schnappschüsse sind auf allen Börsenmärkten verfügbar. Diese Schnappschüsse werden in einem Intervall von 1 Minute erstellt, um einen der auf dem Markt verfügbaren Schnappschusszeiträume für Auftragsbücher mit der höchsten Auflösung bereitzustellen. Die Tiefe des Auftragsbuchs ist auf jeder Seite des Auftragsbuchs auf die Top 20 begrenzt.

Orderbuch-Snapshots können verwendet werden, um Backtesting-Lösungen zu entwickeln, den Markt langfristig zu analysieren oder praktische Handelsmuster zu untersuchen.

Garnelen importieren

# Verwenden Sie die öffentlichen und privaten Schlüssel Ihrer Shrimpy-API, um den Client zu erstellen

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

Historical_orderbooks = client.get_historical_orderbooks (

“Binance”,

‘LTC’,

“BTC”,

‘2019-05-19T00: 00: 00.000Z’,

‘2019-05-20T00: 00: 00.000Z’,

100

)

Historische Tick-by-Tick-Trades

Historische Tick-by-Tick-Handelsdaten werden von Händlern häufig als Faktor für die Entwicklung neuer Handelsstrategien verwendet. Diese historischen Daten sind eine vollständige Historie jedes Handels, der an einem Handelspaar einer Börse ausgeführt wurde.

Garnelen importieren

# Verwenden Sie die öffentlichen und privaten Schlüssel Ihrer Shrimpy-API, um den Client zu erstellen

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

trades = client.get_historical_trades (

“Binance”,

‘LTC’,

“BTC”,

‘2019-05-19T00: 00: 00.000Z’,

‘2019-05-20T00: 00: 00.000Z’,

100

)

Über Shrimpy

Shrimpy ist eine Anwendung zum Erstellen von benutzerdefinierten Kryptowährungsindexfonds, zum Neuausgleichen und Verwalten eines vielfältigen Portfolios digitaler Assets. Automatisieren Sie Ihr Portfolio, indem Sie eine Verknüpfung zu einem der 17 von uns unterstützten Krypto-Börsen herstellen.

Shrimpys Universal Crypto Exchange-APIs sind für Entwickler konzipiert. Durch die Integration in unsere einheitlichen APIs erhalten Sie sofortigen Zugriff auf einheitliche Endpunkte für Handel, Datenerfassung, Benutzerverwaltung und mehr über alle wichtigen Kryptowährungsbörsen hinweg.

Folgen Sie diesen Links, um auf die vollständigen Python- und Node-Bibliotheken zuzugreifen:

Knoten

Python

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