Cryptowährung Trader Bot (Bitcoin, Litecoin, Ethereum)

(English version) 

Wäre es nicht super Cryptocoins wie Bitcoins, Litecoins (LTC), Ethereum (ETH) automatisiert selber zu handeln?

- Ohne das ein Drittanbieter dazwischen hängt, er auch schnell mal vom Markt verschwunden sein kann?

Hier hilft ein Traderbot. In diesem Beitrag beschäftige ich mich damit so einen Bot auf einem Raspberry PI zu installieren und zu konfigurieren.

 

Benötigt werden folgende Dinge (adblocker aus, sonst keine Links und Bilder)

Raspberry PI Zero W

 

Micro SD

 

oder 

den Raspberry PI 3

 

Hinweis:

Wer ohne eigene Hardware minen will kann das bei Genesis Mining. --> 30$ für 2 Jahre!

oder Social Trading bei eTorro - Kostenlos anmelden und mit virtueller Währung testen!

 

Ausgangssituation:

Ich gehe davon aus, dass du einen PI Zero mit Debian Jessy installiert hast. Ich empfehle dafür Noobs.

Die Installation ist auch auf einer anderen Hardware oder auch in einer Virtual Box möglich.

Außerdem benötigst du einen Kraken Account. Bei Kraken musst du dich bis TIER3 verifizieren.

Andere Börsen sind denkbar, da sie auch von Zenbot untersützt werden. 

Das Vorgehen ist dann mehr oder weniger identisch.

 

Alles als root oder entsprechend mit sudo ausführen.

Show/Hidden bash code

View source
 
 
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
apt-get update
apt-get dist-upgrade
apt-get install htop vim unzip git wget screen mongodb
wget -O - https://raw.githubusercontent.com/audstanley/NodeJs-Raspberry-Pi/master/Install-Node.sh | bash; 
reboot
 

 

Spätestens an diesem Punkt musst du bei Kraken einen API-Key bei Kraken mit allen Berechtigungen außer deposit und withdrawl anlegen.

 

Nun weiter mit dem Zenbot

Show/Hidden bash code

View source
 
 
cd /
git clone https://github.com/carlos8f/zenbot.git
cd /zenbot
cp conf-sample.js conf.js
vim conf.js
 
 
 

In der conf.js den kraken API und Secret Key eintragen, sowie bei c.kraken.tosagree = agree setzen.

Vim wird mit der Tastatur bedient. Mit der Taste I startet an den INSERT Modus und kann bearbeiten. ESC beendet diesen wieder. Doppelpunkt dann wq speichert und schließt wieder.

 

Show/Hidden bash code

View source
 
 
 
cd /zenbot
 
npm install --unsafe-perm
 
npm link
 
 
 
 

 

Jetzt kannst du mit dem Befehl...

Show/Hidden bash code

View source
 
 
./zenbot.sh list-selectors
 
 

... alle möglichen Währungen / Coins anzeigen die gehandelt werden können.

Das sind sehr viele und wir grenzen es so auf kraken ein.

 

Show/Hidden bash code

View source
 
 
./zenbot.sh list-selectors | grep kraken
 
 

Da ich Litecoins (LTC) handel will nun weiter eingrenzen.

Show/Hidden bash code

View source
 
 
 
./zenbot.sh list-selectors | grep kraken | grep LTC
 
 

Übrig bleibt: kraken.XLTC-ZEUR

 

Das benötigen wir nun um Daten für unsere Simulation zu laden. Ich zeige hier die der letzen 30 Tage. Mehr ist auch kein Problem, dauert eben länger.

Es kann sein, dass der Vorgang abbricht. Einfach wieder starten, er macht da weiter wo er war.

Show/Hidden bash code

View source
 
 
./zenbot.sh backfill kraken.XLTC-ZEUR --days 30
 
 

 

Tipp: Script anlegen was für deine Währungen automatisch die Altdaten zieht für die Analyse. So wird automatisch wiederholt.

Irgendwann steht da nur noch das der Download fertig ist, dann kann mit STRG+C abgebrochen werden.

Show/Hidden bash code

View source
 
 
vim statistiken.sh
 
 
 

 Das hier einfügen. So werden alle Altdaten von LTC, ETH und Bitcoin gezogen.

 

Show/Hidden bash code

View source
 
 
#!/bin/bash
 
while true
 
do
 
        ./zenbot.sh backfill kraken.XETH-ZEUR --days 365
 
        ./zenbot.sh backfill kraken.XLTC-ZEUR --days 365
 
        ./zenbot.sh backfill kraken.XXBT-ZEUR --days 365
 
done
 
~           
 
 
 

Wieder mit ESC, DOPPELPUNKT, wq, ENTER speichern.

 

Show/Hidden bash code

View source
 
 
chmod +x statistiken.sh
 
./statistiken.sh
 
 
 

 

Hast du die Daten geladen kannst du simulieren. Die Parameter die ich durch spielen mit den letzten 365 Tagen als für mich beste erkannt habe siehst du hier.

Jeder muss selber wissen was er tut und kann natürlich die Parameter anpassen. Die Simulation hier führt natürlich noch keine Käufe durch.

Sie zeigt nur was passiert wäre WENN.

Gibt man die Parameter...

--currency_capital <amount>
--asset_capital <amount>

..nicht an. Simuliert "Botti" mit einem Startwert von 1000€. Hat man bereits einen Coin nutzt man asset_capital. Hat man dort bereits Geld, dann current_capital.

Hat man beides, dann beides! ;)

 

Show/Hidden bash code

View source
 
 
 
./zenbot.sh sim kraken.XLTC-ZEUR --strategy trust_distrust --period=15m --sell_threshold=2 --sell_min=1 --buy_threshold=2
 
 
 

 

Und hier das Ergebnis:

 

 

Also mit meiner Regel einen Gewinn von 26% - Das ist doch schon einmal nicht schlecht, oder?

 

Willst du nun mit dieser Regel wirklich traden ändern wir den Befehl ab:

Show/Hidden bash code

View source
 
./zenbot.sh trade kraken.XLTC-ZEUR --strategy trust_distrust --period=15m --sell_threshold=2 --sell_min=1 --buy_threshold=2
 
 
 

Und ab gehts!

Tipp: Starte den Bot in einer Screen Session

Show/Hidden bash code

View source
 
screen -S zenbot
 
 
./zenbot.sh trade kraken.XLTC-ZEUR --strategy trust_distrust --period=15m --sell_threshold=2 --sell_min=1 --buy_threshold=2
 
 
 

Oder mit meinem aktuellen Favorit MACD

Show/Hidden bash code

View source
 
 
./zenbot.sh trade kraken.XETH-ZEUR --strategy=macd --order_adjust_time=10000 --markup_pct=0.3 --sell_stop_pct 10 --buy_stop_pct 1 --period=1h --profit_stop_enable_pct 5 --poll_trades 10000
 
 

Mit STRG+A, losslassen und dann D geht man aus dem Screen raus.

screen -x zenbot verbindet den Screen wieder.

 

Wie man sieht klappt das so weit (von unten nach oben lesen):

 

 

UPDATE zur Strategie:

Um die forex Strategie zu nutzen musst du zunächst Altdaten ziehen. Je mehr Tage umso besser. Hier ein Test mit Bitcoin.

Denk daran, deine Analysedatei anzugeben bei modelfile. Dieser bei train erzeugt.

Show/Hidden bash code

View source
 
 
./zenbot.sh backfill kraken.XXBT-ZEUR --days 365
./zenbot.sh train kraken.XXBT-ZEUR
 
./zenbot.sh sim kraken.XXBT-ZEUR --strategy forex_analytics --modelfile=models/forex.model_kraken.XXBT-ZEUR_period\=30m_from\=20171020_093128+0000_to\=20171020_090000+0000_trainingVsBuyHold\=-1.29_testVsBuyHold\=noTest_created\=20171020_093128+0000.json
 
 
 

 

Um jetzt über alles was der Bot macht informiert zu werden kann man slack anbinden. 

Du musst ein Team erstellen und unterhalb dieses Teams einen Channel zenbot.

Auf slack.com musst du einen "Eingehenden Webhook" hinzufügen und diesen im Channel zenbot posten lassen.

 

Die erzeugte Webhook-URL trägst du auch in der conf.js ein.

Show/Hidden bash code

View source
 
 
cd /zenbot
vim conf.js
 
 
 

c.notifiers.slack.on = true

c.notifiers.slack.webhook_url = "DEINE URL"

Doppelpunkt, wq, ENTER

 

Ich habe noch ein passendes Bild in Slack vergeben und schon redet der Bot mit dir. Mehr dazu hier.

 

Dir hat das Projekt gefallen. Dann unterstütze mich gerne mit einer kleinen Spende via Paypal.

Kommentare   

0 #2 Michael Heck 2017-12-17 21:53
Ich nutze gekko. Das Tutorial ist auch hier zu finden. Die Strategie ist viele Tage Arbeit ;)
Dem Administrator melden
0 #1 Joachim 2017-12-17 21:34
Hey Michael
Benutzt du Zenbot noch? Ich habe mir die letzten Tag mal damit beschäftigt, habe es aber bisher nicht hinbekommen, selbst mit default einstellungen mit der trend_ema oder macd strateg einen profit hinzubekommen.

welche strategie benutzt du aktuell? Ergibt sich ein Profit bei dir?

Gruss Joachim
Dem Administrator melden

Kommentar schreiben

Sicherheitscode
Aktualisieren