Zum Inhalt springen

Interessensabfrage: Wer möchte selber einen Tradingbot erstellen?


Jokin

Empfohlene Beiträge

Der andere Bot, also der mit 90-USDT-BTC-ETH-ADA-Bot sieht so aus:

Unbenannt3.png.236e46c19f7ea4dd52dcede2b3859278.png

Im Wert sieht man sehr schön wie ADA an Wert hinzugewonnen hat.

Mit dem Kurssturz jedoch zeigt der Bot das von mir gefürchtete Schwingungs-Verhalten, welches ich gestern mit einem Update vermeiden wollte ... ich Depp hab aber nur den anderen Bot aktualisiert, der hier fehlte beim Update (den Code brauche ich in Lektion 4, daher bin ich da noch am Optimieren)

Prozentual sieht das so aus:

Unbenannt4.png.e2fd04f2a91991ebefd44cb21abfd161.png

Da ist sehr schön zu sehen wie ADA prozentual gewinnt, die anderen Coins prozentual am Portfolioanteil verlieren. Da fehlte nicht mehr viel und der Balancebot hätte das erste Mal eigenstädig ausbalanciert. Und das trotz des geringen Budets.

Das zeigt, wie wichtig es ist die richtige Coin-Auswahl zu treffen. Ich denke, dass mit jeder weiteren 50-USDT-Einzahlung ein weiterer Coin in das Balancen aufgenommen werden kann.

Wenn ich mit meinen 7 Lektionen durch bin, dann kann mir gern mal ein Betrag genannt werden und ich teste das mit dem Betrag einfach mal aus und wir können auch gern öffentlich die Coin-Auswahl diskutieren und dem Bot die Parameter übergeben. Welches Budget ich dafür bereitstellen kann, muss ich mal schauen - aber das wird schon passen.

 

Weiterhin wäre es auch interessant zu erfahren wieviel Leute daran interessiert sind einen eigenen Raspberry-PI3-Server aufzusetzen und diesen in ihrem eigenen Heimnetzwerk laufen zu lassen damit der dann diese Balance-Arbeit mit dem BalanceBot übernimmt. Ich selber werde das auf jeden Fall als "Beiwerk" machen, denn hauptsächlich will ich da einen Lightning-Node laufen lassen, mir fehlt grad nur die Zeit dazu.

So ein PI3 ist die sicherste Möglichkeit Eure API-Keys vor Diebstahl zu bewahren.

Bearbeitet von Jokin
  • Thanks 2
  • Like 3
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb Jokin:

Weiterhin wäre es auch interessant zu erfahren wieviel Leute daran interessiert sind einen eigenen Raspberry-PI3-Server aufzusetzen und diesen in ihrem eigenen Heimnetzwerk laufen zu lassen damit der dann diese Balance-Arbeit mit dem BalanceBot übernimmt. Ich selber werde das auf jeden Fall als "Beiwerk" machen, denn hauptsächlich will ich da einen Lightning-Node laufen lassen, mir fehlt grad nur die Zeit dazu.

So ein PI3 ist die sicherste Möglichkeit Eure API-Keys vor Diebstahl zu bewahren.

Das habe ich eigentlich vor. Meine Internetanbindung ist sehr gut, 24/7 über TV-Kabel und der Router läuft eh immer, von daher also kein Problem.

Habe aber erst neulich hier im Forum erfahren, dass es Raspberry-PI überhaupt gibt und bin seither am googeln, was man damit machen kann und wie am besten. Man findet zum Glück einige Anleitungen.

Aber da stellt sich schon die erste Frage: Welches OS? Raspbian, Ubuntu oder Windows IoT? Mit normalem Windows (.NET) kenne ich mich aus, mit Linux eigentlich nicht, aber allzu schwer kann das ja nicht sein, wenn man "nur" einen Raspberry aufsetzen will.

Kann jemand ein OS besonders empfehlen für den Pi3?

EDIT: Ich tendiere zu Ubuntu, mit Go als Programmiersprache und SQLite als Datenbank.
Allerdings geht Ubuntu anscheinend nicht mit dem neuesten Pi 3 B+ :(

Bearbeitet von Herr Coiner
  • Confused 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb Herr Coiner:

EDIT: Ich tendiere zu Ubuntu, mit Go als Programmiersprache und SQLite als Datenbank.
Allerdings geht Ubuntu anscheinend nicht mit dem neuesten Pi 3 B+ :(

Ich werde Ubuntu 18 installieren, das funktioniert mit ein paar Anpassungen:

https://wiki.ubuntu.com/ARM/RaspberryPi#Booting_the_official_Pi_2_image_on_the_Pi_3B.2F3B.2B-

Die Anleitung klingt etwas knifflig - auch ich hab das noch nie gemacht, eventuell kommt ja bald ein Ubuntu 18 für PI3 B+

Wenn Du Lust hast, kannst Du das ja mal probieren und dann erstellst Du einen neuen Thread zum Austauschen.

Bei mir wird dann Apache, MySQL und PHP drauf landen. Und eben der Bitcoin-Kram.

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Nachdem ich es gestern schaffte mit Lektion 4, hab ich heute die Unterlagen zur Lektion 5 erstellt ... das sind schon wieder 9 DIN-A4-Seiten ... weia ...

Wenn ich Glück hab, kann ich am Samstag abend den Kram online stellen, denn wie immer gehe ich jeden Schritt nochmal mit meinem eigenen XAMPP-System durch ob das auch so funktioniert wie ich mir das dachte.

Mit Lektion 5 ist der Bot dann vollständig, jedoch nur noch nicht scharf geschaltet, er erstellt erstmal nur "Test"-Order bei Binance. ... ist aber kein großes Ding den selber scharf zu schalten für diejenigen, die sich sicher sind dass alles so läuft wie es laufen soll, die Lektion 6 wird demnach sehr kurz werden :-)

 

  • Thanks 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Minuten schrieb Kr1989:

Es klingt interessant, aber würde sich sowas auch bei kleinen Einzahlungen bis 100€ lohnen?

Das Problem ist der Mindestumsatz auf Binance. Es müssen mindestens Order mit einem Volumen von 10 USDT angelegt werden.

Aber ... ähm ...

... grad mal nachgeschaut, bei BTC ist es weniger und bei ETH noch weniger, da reichen 0,01 ETH. Das sind ja grad weniger als 2 Euro.

Also wenn man als Basiswährung anstatt USDT den ETH benutzt, dann funktioniert das mit 100 Euro auch.

Ich empfehle Dir, die Lektionen ebenfalls mal durchzuarbeiten und das Verständnis zu entwickeln.

Ich checke vor Veröffentlichung der Lektion 5 mal wie das mit ETH als Basiswährung aussieht - theoretisch müsste das sehr einfach umzustellen sein.

Morgen dazu mehr.

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb Kr1989:

Es klingt interessant, aber würde sich sowas auch bei kleinen Einzahlungen bis 100€ lohnen?

Ich hab's nun doch mal spontan getestet 🙂

Wie erwartet ist das absolut unkompliziert umstellbar.

Und ebenso wie erwartet, ist das Ausbalancieren viel "feinfühliger" möglich - da ja mit ETH nun bereits mit unter 2 USD getradet werden kann anstatt mit 10 USD, können auch kleinere Unterschiede ausbalanciert werden.

Das bedeutet jedoch, dass ich keinen Stablecoin mehr drin habe, denn "USDTETH" gibt es auf Binance nicht, ich müsste den Code massiv umbauen  damit auch "USDTETH" und "ETHBTC" tradebar sind.

Somit ergeben sich diese Restriktionen:

Basiswährung USDT: BNB, BTC und ETH tradebar, da "BNBUSDT", "BTCUSDT" und "ETHUSDT" gültige Pairs sind.
Basiswährung BTC: BNB; ETH tradebar, USDT nicht, da "BNBBTC" und "ETHBTC" gültig ist
Basiswährung ETH: BNB tradebar, BTC und USDT nicht tradebar, da "BNBETH" gültig ist.
Basiswährung BNB: BTC, ETH und USDT nicht tradebar

... bleibt also festzuhalten, dass mit geringeren Beträgen auf ETH zurück gegriffen werden sollte, trotz der Einschränkungen

Bei größeren Beträgen ab ca. 1.000 USD empfehle ich auf USDT zu wechseln damit ein Stablecoin dabei ist und das Risiko etwas sinkt.

Was auch immer geht: Risiko verteilen und mehrere Binanceaccounts mit mehreren Bots laufen lassen (das mache ich auch, ich hab ja noch ein paar mehr Accounts)

Meinen Account habe ich nun auf ETH, NEO, BNB und ADA umgestellt. Das lasse ich mal über's Wochenende laufen und dann werde ich am Montag mal schauen wie sich das so entwickelt hat.

 

Bearbeitet von Jokin
  • Thanks 1
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 10.1.2019 um 12:25 schrieb Herr Coiner:

Das habe ich eigentlich vor. Meine Internetanbindung ist sehr gut, 24/7 über TV-Kabel und der Router läuft eh immer, von daher also kein Problem.

Habe aber erst neulich hier im Forum erfahren, dass es Raspberry-PI überhaupt gibt und bin seither am googeln, was man damit machen kann und wie am besten. Man findet zum Glück einige Anleitungen.

Aber da stellt sich schon die erste Frage: Welches OS? Raspbian, Ubuntu oder Windows IoT? Mit normalem Windows (.NET) kenne ich mich aus, mit Linux eigentlich nicht, aber allzu schwer kann das ja nicht sein, wenn man "nur" einen Raspberry aufsetzen will.

Kann jemand ein OS besonders empfehlen für den Pi3?

EDIT: Ich tendiere zu Ubuntu, mit Go als Programmiersprache und SQLite als Datenbank.
Allerdings geht Ubuntu anscheinend nicht mit dem neuesten Pi 3 B+ :(

Ich hab das heute mal in Angriff genommen.

Das ist selbst für absolute Laien kein Hexenwerk - ich rate Euch: Tut es! Macht mit 🙂 

Pi3 ausgepackt, zusammengesteckt und mal das Raspbian (Debian) installiert, was direkt mit dabei war.

Das lief schon sehr, sehr gut auf Anhieb - hab auch direkt VNC zum Laufen bekommen (Bildschirmfreigabe)

Ich glaub, ich passe meine Lektion 7 mal an ... "Hallo Raspi" :D

Hier für mich als Merker, da kann jeder schonmal anfangen, der mag:

1. Raspberry kaufen

Ich hab den hier von Amazon für 80 Euro gekauft:
https://www.amazon.de/ABOX-Raspberry-Ultimatives-Starterkit-aus-Schaltnetzteil/dp/B07DDCRFP6

Da ist ein USB-C-Adapter dabei um die SD-Card zu flashen (brauch ich am Macbook Pro)
Stromanschluss, Box und Kühlkörper sind auch gleich mit dabei. Sicher kann man das auch günstiger erwerben, aber ich bin ja faul :D

2. Ubuntu-Image laden

Danach hab ich das Ubuntu-Image für Pi3 B+ geladen: http://qoe6rdttrncugsow.myfritz.net/bike/public/raspberrypi-ubuntu-rpi3Bplus/ (ubuntu.server 18.04 LTS)

... das hier mal lesen: http://qoe6rdttrncugsow.myfritz.net/bike/public/raspberrypi-ubuntu/raspberrypi-ubuntu-rpi3Bplus-info.txt

Da steht was von "Es erfolgt keine autom. Expansion des Filesystems.Dies muss vor einsetzen in den Pi mit Gparted o.ae. Tools durchgefuehrt werden." - ich hab's ohne probiert und das braucht man wohl beim Pi3 B+ nicht zu machen 🙂

3. SD-Karte flashen

Dann hab ich Etcher (https://www.balena.io/etcher) installiert und die SD-Karte damit neu geflasht um das Image drauf zu bekommen.

4. Pi starten

Es genügt den Pi zusammenzubauen, also die zwei Kühlkörper drauf und ins Gehäuse clipsen.
SD-Karte einschieben, Netzwerkkabel anstecken.
(WLAN brauche ich nicht, da das Ding eh besser per Kabel mit dem Router verbunden ist)
Dann Strom dran ... fertig.

5. Pi einrichten

Am PC dann im Terminal/CMD-Fenster/DOS-Box/whatever "ssh -l pi pi-desktop" eingeben und mit passwort "raspberry" anmelden.

Zuerst gehört das Passwort mit dem Befehl "passwd" geändert.
Dann wird mal ein Upgrade macht: "sudo apt-get -y upgrade"
System updaten: "sudo apt-get -y update"
Apache (Webserver installieren): "sudo apt-get install -y apache2"
Nun müssen wir noch Apache konfigurieren: "sudo nano /etc/apache2/apache2.conf"
Diesen Abschnitt anpassen:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride
All
        Require all granted
</Directory>

Und ganz unten einfügen:

ServerName pi-desktop

(nano mit cntl+X beenden, dann mit "Y" Überschreiben bestätigen und "enter")

Firewall einrichten mit "sudo ufw allow in "Apache Full" "

Apache neu starten mit "sudo systemctl restart apache2"

Nun im lokalen Netzwerk: "http://pi-desktop" im Browser aufrufen, es sollte sich der Webserver melden.

PHP mit ein paar Add-Ons installieren: "sudo apt-get install -y php  libapache2-mod-php php-mysql  php-curl php-imap"

Das Web-Verzeichnis machen wir für alle schreibberechtigt anstatt nun Extra-User anzulegen: "sudo chmod 777 -R /var/www/html/"
(das macht man auf Produktivsystemen nicht!)

Nun legen wir eine erste PHP-Datei an: "echo '<?php phpinfo(); ?>' | tee /var/www/html/info.php"

Und wir müssen die PHP-Config-Datei anpassen (nicht die Zeilen mit ; beginnend ändern, das bringt nix):

sudo nano /etc/php/7.2/apache2/php.ini

=> short_open_tag = On

=> error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE

=> display_errors = On (letztes Vorkommen !!)

Apache neu starten: "sudo systemctl restart apache2"

Im Browser nun "http://pi-desktop/info.php" aufrufen und es sollte sich die PHP-Konfiguration zeigen.

 

 

(So, nun habe ich keine Zeit mehr. MySQL und phpmyadmin mache ich später ... wenn ich hier nicht mehr einfügen kann, dann diesen Thread weiter runter scrollen)

Kurze Zeit später: Tja, und für mysql ist auf der 32GB-SD-Card kein Platz mehr wie es scheint ... 

(das kann eigentlich nicht sein, ich probiere es später nochmal ... oder jemand von Euch hat eine Idee warum der Platz so schnell weg ist, sollte eigentlich ausreichend sein)

Nochmal kurze Zeit später: "rm -r /root/.cache" half, da lag eine Menge Schrott drin. Dennoch erscheinen mir 32 GB doch wirklich arg klein, ich hab nur noch ca. 300 MB frei (Befehl "df"). 

MySQL-Server installieren: "sudo apt-get install -y mysql-server"

MySQL absichern: "sudo mysql_secure_installation"
no (validate PW)
=> … passwort setzen
y (remove anonymous users)
y (remove remote-root)
y (remove test-db)
y (flush priv)

 

Und den Rest später ... 

 

 

Bearbeitet von Jokin
  • Love it 1
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 9 Stunden schrieb Jokin:

Ich hab den hier von Amazon für 80 Euro gekauft:
https://www.amazon.de/ABOX-Raspberry-Ultimatives-Starterkit-aus-Schaltnetzteil/dp/B07DDCRFP6

Da ist ein USB-C-Adapter dabei um die SD-Card zu flashen (brauch ich am Macbook Pro)
Stromanschluss, Box und Kühlkörper sind auch gleich mit dabei. Sicher kann man das auch günstiger erwerben, aber ich bin ja faul :D

Amazon boykottiere ich wenn möglich wegen des Lohndumpings, was die betrieben. Eine richtige Ausbeuterbude, wenn ihr mich fragt.
Man kann sich das Zeug auch etwas umständlicher z.B. bei reichelt.de zusammenklauben, leider nicht wirklich viel günstiger.

P.S.: Es soll schon Kinder geben, deren erstes Wort nicht Mama oder Papa ist, sondern Alexa! Ich bin entsetzt.

  • Haha 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Jeder wie er mag - auf eBay hab ich auch so ein Bundle gefunden:

https://www.ebay.de/itm/Raspberry-Pi-3-Model-B-Bundle-XXL-32GB/162945458508?epid=23016550706&amp;hash=item25f04e614c:g:6uQAAOSwxo9aqQzn:rk:1:pf:0

Ich weiß nun wieso nur so wenig Speicherplatz vorhanden ist.

... auf die 32 GB-Karte hab ich ein 4-GB-Image gespielt. Nun muss die Partition nur noch vergrößert werden.

Dafür muss die aber nicht gerade in Nutzung sein - also muss ich per USB booten um die Karte umzupartitionieren - das wiederum gelingt mir auf Biegen und brechen nicht. Nun hab ich  mir eine zweite Micro-SD-Karte bestellt um diese dann ebenfalls mit dem Image zu beschreiben und im USB-Slot neu zu partitionieren.

Danach dann irgendwie noch die Festplatte dran hängen und MySQL dazu bringen dort seine Daten hinzuschreiben. Noch ein bisschen was zu tun.

 

Update: Ok, das scheint zu funktionieren mit dieser Anleitung: https://geekpeek.net/resize-filesystem-fdisk-resize2fs/

Auf diese Weise kann man mit einer zweiten Karte das Größenproblem lösen und dem System mehr Speicher zur Verfügung stellen ohne irgendwelche Pakete löschen zu müssen.

Bearbeitet von Jokin
  • Love it 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

@JokinHab' ich das richtig verstanden in der verlinken Textdatei, dass man weder Tastatur noch Bildschirm am Pi braucht?
Man kann alles vom Desktop-Rechner aus machen?

EDIT: Wollte mir gerade diese Tastatur holen. Ist sie nicht niedlich? Mit etwas Glück geht mein Fernseher als HDMI-Bildschirm, laut Beschreibung sollte er das können.

Bearbeitet von Herr Coiner
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 43 Minuten schrieb Herr Coiner:

@JokinHab' ich das richtig verstanden in der verlinken Textdatei, dass man weder Tastatur noch Bildschirm am Pi braucht?
Man kann alles vom Desktop-Rechner aus machen?

Ja, das hast Du richtig verstanden.

Ich hatte mir auch schon eine billige Tastatur gekauft ... aber egal, für den Notfall nicht allzu verkehrt.

  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Damit Ihr im verregneten Norden am Sonntag was zu tun habt hab ich die Lektion 5 tatsächlich online bekommen 🙂

Die Eingeschneiten im Süden haben grad andere Sorgen 😞 

 

.... und für die Raspi-Interessierten: ES IST VOLLBRACHT !!! ... ich hab meinen Raspi nun laufen. Der hat zwar kaum noch Platz auf der Karte, aber das Gesamtsystem funktioniert, jede Stunde startet er nun den Balancebot im aktuellen Stand der Lektion 5 und rennt mal los. Zwar ist auch bei dem das Trading noch nicht scharfgeschaltet, aber das ist ja egal - das machen wir die nächsten Tage.

Ich plane nun wie gehabt die Lektion 6 zur Scharfschaltung des Bots, damit der nach jedem manuellen Starten die entsprechenden Order setzt.
Mit Lektion 7 werde ich "Hallo Cronjob" etwas ausweiten, dass dann die komplette Raspi-Installation beschrieben ist - das kann dann jeder nachbauen.
(ob sich die Investition von fast 100 Euro lohnt, muss jeder selber entscheiden, ich denke, dass allein die Erfahrung es absolut wert ist)

Leistungsmäßig reicht so ein Raspi locker aus für diese Aufgabe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nach einigem Recherchieren zu Raspberry Pi bin ich darauf gekommen, dass ein Bot sogar auf einem einfachen Pi Zero W mit Raspbian Stretch Light Betriebssystem auf 2GB Micro-SD laufen kann. Den Winzling gibt's schon für ca.10€. Für die Version mit XAMPP ist der natürlich zu schwachbrüstig, aber ein Go-Programm müsste laufen. Man kann es für diese Prozessoren auf dem PC (Windows/Mac/Linux) kompilieren oder sogar direkt auf dem Pi selber. Somit ist kein Ubuntu oder anderes Betriebssystem auf dem Pi nötig. Eine grafische Oberfläche fehlt mit Stretch Light wohl auch, aber egal: Man kann sich für Wartungsarbeiten einfach mit SSH verbinden, und weil der Bot auch ein Webserver ist, kann man Daten vom Bot z.B. über einen Browser abfragen.

P.S.: Bis jetzt habe ich mir das nur angelesen, nicht ausprobiert. Bin aber ganz zuversichtlich und habe mir mal einen Pi Zero bestellt.
Vor lauter Pi bin ich jetzt mit der Umsetzung der Bot-Lektionen ziemlich im Rückstand, komme jetzt erst langsam zu Lektion 3. Aber naja.. so ist das Leben.
Wenn ich's bis zum Ende schaffe, kann ich für Interessierte evtl. meine Go-Version auf GitHub stellen.

Bearbeitet von Herr Coiner
  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 26 Minuten schrieb Herr Coiner:

Somit ist kein Ubuntu oder anderes Betriebssystem auf dem Pi nötig.

Das klingt erstmal reizvoll, jedoch ist Ubuntu sehr verbreitet auf Webservern.

Ich komme ja den entgegengesetzten Weg "runter" vom Webserver auf den Pi - daher halte ich den Klimmzug "Ubuntu on Pi" für zukunftssicherer ... ich schau ja noch etwas weiter in die Zukunft und habe die leise Hoffnung den ein oder anderen über diese ersten Gehversuche auch an einen Bitcoin-Fullnode heranzuführen sowie an einen Lightning-Node im weiteren Ausbaustadium.

Ich bin mir auch nicht sicher ob ein Pi Zero W eine MySQL-Datenbank klarkommt ... (Google zeigt, dass das durchaus möglich ist).

Wobei 10 Euro wirklich nicht viel sind um das einfach mal auszuprobieren.

Der Pi 3B+ kostet nackt aber auch keine 40 Euro ... daher sollte man sich das schon gut überlegen wieviel zusätzliche Zeit man mit einem Pi Zero W aufwenden möchte. Oder ob man einfach sagt "Ach, die 30 Euro sind auch egal, wenn ich Zeit spare indem ich vorgefertigte Tutorials lediglich runterarbeiten muss"

Und wie gesagt - seit gestern läuft auch mein Bitcoin-Core auf dem Pi 3B+ mit externer Festplatte und kompletter Blockchain.

... wohlgemerkt: Ich hab Familie und in der Regel nur abends vorm Fernseher die Zeit die Projekte umzusetzen. :-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Stunden schrieb Jokin:

Ich bin mir auch nicht sicher ob ein Pi Zero W eine MySQL-Datenbank klarkommt ... (Google zeigt, dass das durchaus möglich ist).
Wobei 10 Euro wirklich nicht viel sind um das einfach mal auszuprobieren.

Hmm, anscheinend geht sogar AMP auch direkt unter Raspbian Stretch (Lite) = Debian. Das würde ich auf jeden Fall bevorzugen. Wozu extra Ubuntu installieren, das nicht wirklich für diese Hardware konzipiert ist, wenn es auch einfacher geht: Einfach nur Apache, MySQL und PHP installieren, fertig 😎.

Aber ich denke, dass die 512 MB Arbeitsspeicher im Pi Zero dann doch zu wenig sind für eine brauchbare AMP-Anwendung. 
Klar, ausprobieren kann man's mal mit Pi Zero. Der lässt sich evtl. noch als Cold Wallet nutzen, falls er mit AMP überfordert ist.

Bearbeitet von Herr Coiner
Stil ;)
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 54 Minuten schrieb Herr Coiner:

Wozu extra Ubuntu installieren, das nicht wirklich für diese Hardware konzipiert ist, wenn es auch einfacher geht: Einfach nur Apache, MySQL und PHP installieren, fertig 😎.

Ich fühle mich mit Ubuntu einfach sicherer weil mein Pi sich nicht dauerhaft hinter meinem schützenden Router versteckt sondern einige Ports aus dem Internet durchgeroutet werden damit ich auch von überall her mit meinem Smartphone das Teil erreichen kann. Ich hab damit ja noch mehr vor.

Daher betreibe ich den minimalen Mehraufwand und packe da gleich Ubuntu drauf - zudem erspare ich mir dann das erlernen eines weiteren Betriebssystems.

Wobei ich den Pi wirklich nur als "Billig-Webserver für zuhause" betreibe - eventuell kann ich mir auf die Dauer auch meinen VPS-Webserver schenken. Nachdem ich meine 2018er-VPS-Farm komplett zurück gerüstet hab weil mir das mit dem ProfitTrailer zu heiß wurde nach 4 weiteren gedelisteten Binance-Coins im Oktober. 

Ich will nicht sagen, dass andere Systeme als Ubuntu schlecht oder falsch sind ... ich will nur sagen, dass ich mich nur um Ubuntu kümmere, weil die anderen Systeme aufgrund meiner zukünftigen Ziele nicht so sinnvoll sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 18 Stunden schrieb Herr Coiner:

Hmm, anscheinend geht sogar AMP auch direkt unter Raspbian Stretch (Lite) = Debian. Das würde ich auf jeden Fall bevorzugen. Wozu extra Ubuntu installieren, das nicht wirklich für diese Hardware konzipiert ist, wenn es auch einfacher geht: Einfach nur Apache, MySQL und PHP installieren, fertig 😎.

Ich hab mir das nochmal näher angeschaut ...

... nun hab ich auch verstanden, dass Ubuntu auf Debian basiert, somit Debian und damit auch Raspbian ebenso sinnvoll ist. Danke dafür!

Ich sehe mal zu, dass ich die Lektion 7 für eine komplette Raspi-Installation mit eben dem Raspian schreiben kann.

 

 

Bearbeitet von Jokin
  • Love it 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

So, das ist das was man mit den CSV-Daten auf die Schnelle ausgeben und herauslesen kann.

Das sind Daten von nur 3 Tagen, also nicht sonderlich aussagekräftig und ich bin mir sicher, dass niemand einen 10%-Gewinn nach 3 Tagen erwarten würde. Wenn ich mal ganz optimistisch bin, dann sehe ich da bei den derzeitigen Seitwärtstrends keine 10% je Monat. Eher 3-5%, was aber immernoch mehr ist als auf dem Sparbuch :-)

Auch wenn für das ungeübte Auge die beiden Diagramme sehr verwirrend aussehen, sie zeigen, dass der Bot seinen Job macht. Er balanciert ein Gesamtbudget von derzeit 0,53 ETH aus auf 40% NEO, 30% BNB und 30% ADA - von dem Coin-Gsamtbestand soll wertmäßg ein Anteil von 40% an der Seitenlinie in ETH liegen bleiben.

Auch sehr schön zu sehen ist ob wann der BalanceBot NICHT tut was er soll, dann gibt es kurzzeitige Ausreißer oder Ausreißer über einen gewissen Zeitraum.

... wenn ich das noch als dynamisches selbsterklärendes Diagramm auf's Smartphone bekomme ... dann wär's das :-)

Unbenannt.png.6cf929bbde8a2db3f93fc2f4d48f1334.png

  • Love it 1
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

So, bin nun fertig - alle 7 Lektionen sind veröffentlicht 🙂 

Ich bin gespannt wieviele nun diesen Weg gehen und sich am Ende einen kleinen Raspberry-Server zu Hause hinstellen.

 

Hab nun in den letzten Tagen gefühlte 20 Mal einen Raspi-Server aufgesetzt und heute nochmal meine eigene Anleitung durchgearbeitet.

Dabei fiel nun nochmal ein BalanceBot ab, der mit 10 ETH bei Binance spielen darf damit ich auch mal mit 4-stelligen Beträgen debuggen kann. Ich muss mal schauen ob ich das Portfolio öffentlich mache und wie das am Geschicktesten geht.

Vielleicht stellt sich ja heraus, dass BUY & HODL pfiffiger gewesen wäre.

Ich starte als mit 10 ETH und diesen Einstellungen:
NEO (19%), XLM (18%), IOTA (17%), BNB (16%), XRP (15%)  und ADA (14%) ... diese leicht abweichenden Werte wählte ich damit im Diagramm die Linien einen nicht zu großen jedoch einen sichtbaren Abstand haben werden. 
14% entsprechen derzeit ca. 150 Euro, was also locker reicht um bequem in ca. 3 Euro-Schritten ausbalancieren zu lassen.
ETH soll stets mit 25% des Coin-Gesamtwertes an der Seitenlinie liegen.

Damit spielt sich das Gesamtgeschehen im Bereich von 14-25% ab, das Diagramm dürfte dementsprechend übersichtlich bleiben ohne dass zu viele Details verloren gehen.

... was gerade auffällt: Wenn der Bot mit leerem Portfolio losläuft, dann schmeißt er Warnungen ohne Ende raus - das ist dann halt so. 

Denkbare Abhilfe: Das Portfolio manuell ganz grob in die Balance bringen - oder zumindest die Bestände nicht alle bei 0 liegen haben. Dennoch starte ich meinen Versuch nun bei Bruchteilen von BNB und eben jenen 10 ETH. Ich bin gespannt wie der Verlauf sein wird und wann sich das dann eingependelt hat.

Da lediglich Limit-Order gesetzt werden und keine Market-Order dürfte sich das noch recht lange hinziehen. Grob überschlagen wird es wohl ca. zwei Wochen dauern.
Zur Dokumentation nehme ich mal die aktuellen Kurse hier auf:
ETH: 123,33 USD
NEO: 7,76 USD

XLM: 0,107185  USD
IOTA: 0,304484  USD
BNB: 6,12 USD
XRP: 0,327879 USD 
ADA: 0,044706 USD

Aktueller Portfoliowert somit: ca. 1233 USD.

Minimal-Ziel muss es sein am Jahresende doppelt so viel Gewinn zu machen wie durch das reine HODL der 10 ETH entstanden wäre damit die Spekulationssteuer bezahlt werden kann.
(natürlich hängt das auch vom Kursverlauf des ETH ab ...)

Bearbeitet von Jokin
  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Stunden schrieb Pumpkin:

Danke dir! Alle Lektionen sind super formuliert und sobald mein Raspberry da ist gebe ich dir Feedback.

Danke 🙂

... ich sehe bisher nur indirektes Feedback über die Reflink-Registrierungen und Zugriffszahlen auf die Lektionen :D 

Ich hab mich bis eben mit dem Kopieren des crontab-Eintrages rumgeärgert - ich teste ja auch alles aus indem ich den Kram nochmal durchspiele als wäre ich jemand aus dem Forum.

Im Zweifel falls etwas nicht funktioniert: Nachfragen!

Ich hab nun mittlerweile zwei Raspbian-Systeme - eines zum Testen der Lektionen und mein Produktivsystem.

Interessanterweise lässt sich das gesamte Projekt mit allen Lektionen an drei bis vier Fernsehabenden durcharbeiten.

Den Raspi neu aufzusetzen dauert keine 30 Minuten, wenn man es zweimal gemacht hat.

@Herr Coiner Raspbian kommt im Gegensatz zu Ubuntu mit einer älteren PHP-Version (7.0 anstatt 7.2) und mit einer anderen Datenbank (MariaDB anstatt MySQL), aber das ist kein Problem - MariaDB hat die Konfigdateien etwas anders liegen. Das Verschieben der Datenbank von der SD-Karte auf eine externe Festplatte ist dadurch anders. 

 

  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 17.1.2019 um 06:56 schrieb Jokin:

@Herr Coiner Raspbian kommt im Gegensatz zu Ubuntu mit einer älteren PHP-Version (7.0 anstatt 7.2) und mit einer anderen Datenbank (MariaDB anstatt MySQL), aber das ist kein Problem - MariaDB hat die Konfigdateien etwas anders liegen. Das Verschieben der Datenbank von der SD-Karte auf eine externe Festplatte ist dadurch anders. 

Hmmm, MariaDB kenne ich nicht. dachte eigentlich, dass sie das im Beispiel nur draufspielen, weil es vllt. später für WordPress gebraucht wird. Kann man die MySql-DB nicht direkt ansprechen ohne diese Maria? Hast du dir das verlinkte Beispiel angesehen, wo alles der Reihe nach installiert wird? Da kommt zuerst MySql und dann MariaDB, nicht direkt "MariaDB anstatt MySQL". Das Weib würde ich einfach weglassen :lol:. Und dass es nicht das allerneueste MySQL PHP ist, ist für den Bot wohl auch nicht tragisch. 

Wie auch immer... ich komme leider nur langsam voran mit meiner Go-Version :kopfkratz:. Jede Kleinigkeit muss ich nachlesen...mal eben ne Schleife ein Array bauen - Pustekuchen. Die Syntax ist sehr außergewöhnlich, und überhaupt auch das ganze Konzept von Go. Auf was hab' ich mich da nur eingelassen... aber egal, bin ja selber schuld, ich zieh das jetzt halt durch. Bin halt immer noch bei Lektion 3, Beispiel gefällig?

// Wir erstellen ein Array von Zeigern auf alle vom Bot verwalteten Coins, incl. Basis-Coin:
var botAllCoins = (func() []*coin {

	allCoins := make([]*coin, 0, len(botCoins)+1) // Leeres Array mit der nötigen Kapazität
	allCoins = append(allCoins, &botBaseCoin)     // Wir fügen den Basis-Coin ein
	for i := 0; i < len(botCoins); i++ {          // Wir fügen die restlichen Coins ein

		allCoins = append(allCoins, &botCoins[i])
	}
	return allCoins
})()

// Nun wollen wir wissen wieviele Coins wir insgesamt in unserem Portfolio haben (Teil 4)
func getAccountinfo() (*binance.Account) {

	// Wir senden eine entsprechende Anfrage an Binance und schauen uns an was da zurück kommt.
	var binanceAccount, err = binanceClient.NewGetAccountService().Do(context.Background())
	checkErr(err, "Error getting binance account data.")

	// Im Array binanceAccount.Balances steht unser ganzer Bestand.
	// Wir interessieren uns nur für die vom Bot verwalteten Coins:
	for _, botCoin := range botAllCoins {

		// Wir suchen das Asset mit dem Namen unseres Coins raus
		botCoinBalance := linq.From(binanceAccount.Balances).FirstWith(func(item interface{}) bool { return item.(binance.Balance).Asset == botCoin.Balance.Asset })
		if botCoinBalance != nil {

			// Das gefundene Asset ist vom Typ binance.Balance
			found := botCoinBalance.(binance.Balance)
			// "locked" ist die Anzahl, für die gerade offene Order angelegt sind,
			locked, _ := strconv.ParseFloat(found.Locked, 64)
			// "free" ist die noch verfügbare Anzahl für neue Order
			free, _ := strconv.ParseFloat(found.Free, 64)

			message := fmt.Sprintf("Bestand: %v %s", free+locked, found.Asset)
			insertMessage(message) // Message in DB schreiben und ausgeben.

			// Wir aktualisieren entsprechend unseren Bot-Coin:
			botCoin.Balance.Free = found.Free
			botCoin.Balance.Locked = found.Locked
		}
	}
}

Was mich sehr verwundert ist, das Free und Locked als Zeichenketten reinkommen statt als Zahlen. Das liegt an der Binance-API, nicht an unserem API-Client. Was haben die sich wohl dabei gedacht? So kann man ja nicht vernünftig damit rechnen ohne vorher zu konvertieren.

Bearbeitet von Herr Coiner
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 8 Stunden schrieb Herr Coiner:

Da kommt zuerst MySql und dann MariaDB, nicht direkt "MariaDB anstatt MySQL".

Das ist nicht korrekt.

https://en.wikipedia.org/wiki/MariaDB

Die MariaDB ersetzt MySQL ... das ist aber nicht schlimm, da für den Enduser dies nicht erkennbar ist.

vor 8 Stunden schrieb Herr Coiner:

Beispiel gefällig

Au weia - mit Zeigern arbeiten? Das hab ich im Studium gehasst - das war schon enorm fehleranfällig seinerzeit.

vor 8 Stunden schrieb Herr Coiner:

Was mich sehr verwundert ist, das Free und Locked als Zeichenketten reinkommen statt als Zahlen. Das liegt an Binance, nicht an unserem API-Client. Was haben die sich wohl dabei gedacht? So kann man ja nicht vernünftig damit rechnen ohne vorher zu konvertieren.

Das ist aber bei sehr vielen Anwendungsfällen so, dass Gleitkommazahlen in Anführungszeichen übermittelt werden.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

8 hours ago, Herr Coiner said:

Was mich sehr verwundert ist, das Free und Locked als Zeichenketten reinkommen statt als Zahlen. Das liegt an der Binance-API, nicht an unserem API-Client. Was haben die sich wohl dabei gedacht? So kann man ja nicht vernünftig damit rechnen ohne vorher zu konvertieren.

Man kann Zahlen als Binärdaten oder als Zeichenketten übertragen. Binärdaten sind immer heikel, weil verschiedene Prozessorarchitekturen und/oder verschiedene Fließkommaformate unterschiedliche Binärformate haben.

Folglich überträgt man alles als Zeichenketten und geht diesen ganzen Problemen aus dem Weg.

Man könnte jetzt noch darüber diskutieren, ob die JSON-Funktionen der jeweiligen Programmiersprache diese Zeichenketten wieder ins passende Binärformat zurückkonvertieren sollten.

Dann müsste die JSON-Datei aber für jede Zeichenkette auch die Typinformation enthalten. Da JSON als ein universales Austauschformat fungieren soll, hat man sich halt auf den kleinsten Nenner geeinigt - die verarbeitende Applikation als letzter Empfänger der Daten weiß, welche Variable was sein soll,  und kann deswegen die Konvertierung aufgebrummt bekommen.

  • Love it 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.