So Erstellen Sie Ihren Ersten Crypto Trading Bot

From Bitnami MediaWiki
Jump to navigation Jump to search


Die Waves-Blockchain wurde von Grund auf mit Blick auf Geschwindigkeit und Skalierbarkeit entwickelt und gebaut. Gleichzeitig ist Waves eines der entwicklerfreundlichsten Ökosysteme. Blockchain Waves bietet seine Funktionalität dank einer leistungsstarken REST-API, die mit jeder Programmiersprache verwendet werden kann.

In diesem Beispiel verwenden wir einen Python-Wrapper für die Waves Node API und die MatcherAPI-Bibliothek -PyWaves (öffnet ein neues Fenster), aber es gibt andere Optionen für verschiedene Programmiersprachen, z.B. WavesCS für C# (öffnet ein neues Fenster) usw.

Pywaves ist Pythons objektorientierte Schnittstelle zur Waves-Blockchain, die uns helfen wird, die Codekomplexität zu reduzieren und gleichzeitig seine Struktur zu erhalten. Alles, was Sie mit dieser Bibliothek lernen, kann mit reinen HTTP-API-Aufrufen angewendet werden.
# Zutaten
Waves Full Node funktioniert fast wie jede andere dezentrale Kryptowährung: Es speichert eine vollständige Kopie der Blockchain und überprüft Transaktionen. Die Hauptunterschiede sind die praktische REST-API und der Matcher.
Hinweis: Matcher ist in der Standardkonfigurationsdatei deaktiviert.
Mit der Node REST API können Sie mit der Waves-Blockchain wie mit vielen anderen zentralisierten Plattformen wie Google, Facebook usw. arbeiten. Im offiziellen Repository des Waves-Protokolls auf Github finden Sie die RPC-API-Dokumentation und eine Beschreibung der Daten Strukturen verwendet. Wenn Sie API-Dokumente in Postman bevorzugen, können Sie auf diesen Link klicken (öffnet ein neues Fenster).

Matcher ist eine Exchange-Engine, die eingehende Bestellungen ausführt, Exchange-Transaktionen erstellt und in die Blockchain einfügt, um Änderungen an den Benutzersalden zu korrigieren. Wenn ein Benutzer eine Bestellung an Matcher sendet, überträgt er das Eigentum an seinem Geld nicht an Dritte. Sein Geld verbleibt auf seinem Konto, bis die Bestellung mit einer Gegenbestellung abgeglichen wird.
# Begriffe
AssetPair - ein Paar von Assets, die wir austauschen möchten.
# Handelsstrategie
Scalping-Handelsstrategie (öffnet ein neues Fenster), die im Handel weit verbreitet ist, und die Krypto-Community ist keine Ausnahme. Es gibt viele Variationen der Strategie, der Hauptunterschied zwischen ihnen ist die Größe des Zeitrahmens. Die Strategie verwendet geringfügige Preisbewegungen in Währungen: Sie kauft zum mittleren Preis abzüglich eines bestimmten Preisschritts (öffnet ein neues Fenster) und verkauft zum mittleren Preis plus einem bestimmten Schritt, um die Bid / Ask-Differenz zu erhalten. If you have any sort of concerns pertaining to where and ways to utilize navigate to this site, you can contact us at the internet site. Dies beinhaltet in der Regel einen schnellen Aufbau und eine Liquidation einer Position, in diesem Fall innerhalb von 15 Sekunden. Bid und Ask sind die besten potenziellen Preise, die Käufer und Verkäufer bereit sind, nach dem Bieten für die Käuferseite zu bieten und für die Verkäuferseite zu fragen.

Die Anwendung einer Scalping-Strategie wird nicht empfohlen. Die Scalping-Strategie wurde aufgrund ihrer Einfachheit gewählt, um sie im Bot zu implementieren.

Der Bot mit den Anfangsparametern handelt mit dem Waves-BTC-Paar (Waves ist ein Betrags-Asset und BTC ist price_asset).

Der durchschnittliche Spread-Preis beträgt ((best_bid + best_ask) // 2) * 10 ** (bot.price_asset.decimals - bot.amount_asset.decimals).
Die Preisstufe beträgt 0,5% vom Durchschnittspreis.
Der Bot platziert eine Kauforder zum Durchschnittspreis * (1 - price_step) und dem Betrag (BTC_balance / bid_price) - order_fee. Die Verkaufsorder wird zum Durchschnittspreis * (1 + price_step) und einem Betrag in Höhe von Waves_balance - order_fee platziert.
# Lass uns Schritt für Schritt codieren
Also lasst uns anfangen! Wir werden die Pywaves- und configparser-Bibliotheken für API-Aufrufe und das Lesen der Konfigurationsdatei verwenden. Lassen Sie uns sie installieren:

Es ist besser, eine Konfigurationsdatei zu erstellen, in der wir alle sensiblen und konfigurierbaren Einstellungen speichern. Ein üblicher Weg, um eine Arbeit in einem Python-Ökosystem zu erledigen, ist format.cfg. Der Hauptabschnitt der Datei enthält die allgemeinen Bot-Einstellungen:

Zunächst sollten wir alle Abhängigkeiten importieren. Zusätzlich zu den bereits erwähnten pywaves und configparser benötigen wir noch:

Großartig, wir definieren jetzt die SimpleBot-Klasse als Einstellungs-Wrapper. Im Konstruktor können wir die Standardeinstellungen festlegen:

SimpleBot hat auch eine Methode, um eine Konfigurationsdatei zu analysieren und in Objektfeldern zu speichern, ganz einfach mit configparser:
Mit unserer neuen SimpleBot-Klasse und der Pywaves-Bibliothek können wir endlich unsere Geschäftslogik implementieren.
Pywaves benötigt vor der Verwendung einige Konfigurationen, alle verfügbaren Methoden sind hier aufgelistet, in unserem Fall müssen Sie es nur einrichten:
Außerdem benötigen wir ein Beispiel für unsere Adresse:
Die Pywaves AssetPair-Methode erstellt ein neues AssetPair-Objekt mit 2 Asset-Objekten, die wir handeln möchten:

In unserem einfachen Beispiel ist der Vermögenswert WAVES und der Vermögenswert ist BTC, dies kann jedoch in der Konfigurationsdatei geändert werden.

Die Scalping-Handelsstrategie bedeutet unendliches Handeln mit einem ausgewählten Zeitrahmen, in unserem Fall 15 Sekunden. Lassen Sie uns eine Endlosschleife definieren, in der:

- Holen Sie sich Balancen von Wellen und BTC. - Laden Sie das Auftragsbuch unseres AssetPair herunter. Bietet ein Python-Wörterbuch mit Geld- und Anfragebeträgen - Berechnen Sie den durchschnittlichen Spread-Preis - Berechnen Sie Geld- und Briefkurse - Berechnen Sie Geld- und Briefbeträge - Posten Sie Kauf- und Verkaufsaufträge
Wir sind fertig. Ihr erster Trading-Bot ist einsatzbereit!