DCA Bot für Kraken

Hey!

Ich mache hier ein bisschen Werbung für den DCA Bot, den ich selber geschrieben habe. Mit Video-Anleitung und allem drum und dran! Man braucht nur einen Rechner, der 24/7 online ist.

Link: GitHub - raphaellueckl/kraken-dca: A flexible Bitcoin DCA app for the cryptocurrency exchange kraken.com!

Features: Du setzt einen Termin, an dem du normalerweise Geld überweist (z.B. immer der 27. im Monat, Wochenende werden automatisch berücksichtigt). Danach wird die minimale Ordergrösse auf Kraken genommen (0.0001 BTC is das wenigste, dass man kaufen kann) und berechnet, wie viele male man diese Order ausführen kann. Nach jedem Kauf wird wieder neu evaluiert anhand des zu dem Zeitpunkt aktuellen Preises.

Ich kaufe derzeit ungefähr alle 1.5 Stunden automatisiert Bitcoin. Wenn ich dann mal mehr oder weniger Geld auflade, dann passt sich der Bot automatisch an. Es ist nicht wichtig, wie viel Geld man aufladet jeden Monat, das kann variabel sein. Aber das Datum, an dem das FIAT Geld auf Kraken landet, ist relevant, weil der Bot damit berechnet, wie oft er Orders auslösen kann über welchen Zeitraum. Bis zum neuen FIAT aufladen kauft er Bitcoins damit. Am Tag wo wieder aufgeladen wird, sollte möglichst alles FIAT verbraucht sein, sodass keine Lücke entsteht.

6 „Gefällt mir“

Sehr spannend, werde ich sicherlich mal testen. Vielen Dank für deinen Beitrag! :slight_smile:

1 „Gefällt mir“

Das heißt, Du zahlst 1x im Monat z.B. 1000 CHF ein und davon kauf der Bot einen Monat lang alle 1,5 Stunden BTC?

1 „Gefällt mir“

Genau! Aber wenn sich mitten im Monat der Preis von Bitcoin verdoppelt, wird von da an bis Ende Monat dann nur noch alle 3 Stunden gekauft. Nach jedem Kauf wird wieder neu evaluiert, wann der nächste Kauf stattfinden muss. :slight_smile:

2 „Gefällt mir“

Klasse!

Ich hab mal einen Pull request erstellt, um es in einer Docker Umgebung laufen lassen zu können :slight_smile:

3 „Gefällt mir“

Mega geil, danke dir Doc! Ich hab noch das Readme angepasst. Falls du feedback zur Anleitung hast, dann gerne. :slight_smile: update readme with docker manual · raphaellueckl/kraken-dca@924b4f6 · GitHub

1 „Gefällt mir“

Hallo zusammen! Ich habe den Bot just ausprobiert (unter Windows). Läuft soweit gut, die Funktion mit der Auszahlung auf die Hardwarewallet steht noch aus. Danke für deine Arbeit!

ps.: ich habe auch Limitorders auf Kraken. Das Cash darin ist sozusagen gebunden, wird aber vom Bot als verfügbar gelesen und analog im DCA-Modus hinzuaddiert. Ist es möglich den Bot nur auf den ungebundenen Cashbestand zu beziehen?

1 „Gefällt mir“

Achtung Halbwissen: Das Geld, das für Limit-Orders verplant ist, kann nicht für andersweitige Käufe eingesetzt werden. Dies ist meine eigene Erfahrung und hat nichts mit diesem Bot zu tun. Aber falls das bei „Balance“ im Bot angezeigt wird, ist das imho ein Fehler von Kraken. Der Bot bezieht deine ganzen Euro (oder welche Währung auch immer du gewählt hast) ein für deine Käufe bis zum nächsten Zahltag. Falls Kraken sagt „du hast noch 500 Euro über“ aber diese sind eigentlich gelockt, dann würde das mein Bot nicht wissen können und denken, er hat noch 500 bis zum nächsten Zahltag.

Meines Wissens ist das kein Fehler und wird - wenn ich mich richtig erinnere - auch in der Kraken Weboberfläche unter Available Balances so angezeigt, denn solange die Orders noch Open sind, stimmt das ja auch. Ich nehme mal an, Du benutzt den private/Balance API Endpunkt dafür?

Man könnte die „Open Orders“ vom API Endpunkt private/OpenOrders abfragen und verrechnen?

3 „Gefällt mir“

Ich überlege mir noch, diesen Bot als Umbrel App zu veröffentlichen. Ist aber leider ziemlich mühsam und wäre ein Projekt für die Sommerferien und da habe ich schon relativ viel privates geplant. Falls jemand von euch Erfahrung hat damit, dann wäre ich um Hilfe dankbar!

2 „Gefällt mir“

@Franky123

  • Ja, private/Balance
  • Super Idee!! Vielen Dank!

Ich habe bisher gar nicht darüber nachgedacht, dass die Leute Limit Orders länger offen lassen. Aber eigentlich ein voll legitimer Case.

1 „Gefällt mir“

Ich kaufe mittlerweile nur noch so. Eine Art „Buy-the-Dip“ Bot, aber ohne Bot :yum:

Grundsätzlich gäbe es noch andere Möglichkeiten, um hier zu trennen:

  • Verschiedene Konten auf der Exchange einrichten, das geht aber meines Wissens bei Kraken nur bei Kraken Futures - damit man beim Derivate Hebeln nicht gleich alles verzockt :joy:
  • Ich würde für manuelle Käufe und Bots einfach verschiedene Exchanges benutzen, an Exchanges mangelt es ja nun nicht gerade… :wink:
1 „Gefällt mir“

Ja da bin ich schon bei dir, aber ist trotzdem eine blöde Limitation. Theoretisch kannst du den Bot auch auf EURO lassen und deine Limit-Orders mit USD setzen. Dann bleibt beides offen und es wird mit der korrekten Menge and FIAT ge-DCA’d. :smiley:

@codepleb Apropos, welchen Order-Typ nutzt der Bot bei der Ausführung der Transaktionen eigentlich? Limit Order wäre zwecks niedriger Gebühren halt optimal.

Raspiblitz wäre auch super und vermutlich wegen Open Source auf GitHub nochmal einfacher zu implementieren.

Wenn ich es richtig im Sourcecode sehe, dann wird eine Market Order ausgeführt.

Ja, birgt aber das Risiko, dass die Order unter Umständen gar nicht ausgeführt wird.
Wenn man damit leben kann, wäre das aber eine Option.

2 „Gefällt mir“

Leider lassen sich solche Apps (Bots) viel einfacher als Umbrel App realisieren.
Ich habe diesbezüglich schon einmal im Raspiblitz Lager angefragt, ob wir diesen Appstore evtl. auch für Raspiblitz bauen könnten, doch dort will man davon nichts hören, leider :frowning:

2 „Gefällt mir“
  • Market Order
  • Raspiblitz bietet angeblich auch sonst ein Terminal an, in dem man rumwuseln kann. Habe zumindest letztens einem User geholfen, der das auf seinem Raspiblitz laufen lässt. :slight_smile:
1 „Gefällt mir“

New Update: DocBrown added Docker support and I fixed a minor issue where errors were not readable. Also: If the kraken-api is not reachable or my own internet does not work (both seemed to have happened like 3 times for me), it won’t quit the app after a few retries and continue to ping. After months of testing, this was the only annoyance I’ve experienced.

Update your bot:
cd ~/kraken-dca-bot && curl https://raw.githubusercontent.com/raphaellueckl/kraken-dca/master/app.js --output app.js

1 „Gefällt mir“

Ist ein bisschen umständlich, aber geht tatsächlich. :smiley:

Dieses Improvement bring ich dann im nächsten Update.

 const openOrdersInDcaFiatCurrency = await queryPrivateApi(
    openOrdersQuery
  );
  if (openOrdersInDcaFiatCurrency?.result?.open)
    Object.values(b.result.open)
      .filter((e) => e.descr.pair.endsWith(CURRENCY))
      .filter((e) => e.descr.type === "buy")
      .map((e) => Number(e.vol) * Number(e.descr.price))
      .reduce((a, b) => a + b);
1 „Gefällt mir“

Soso, machen wir jetzt schon Codereview im Blocktrainer Forum :grin:

2 „Gefällt mir“