Zum Inhalt springen

Herr Coiner

Mitglied
  • Gesamte Inhalte

    104
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Herr Coiner

  1. Frage zu echo-print hier: Brauchen wir diese Ausgabe unbedingt oder ist das hier nur anfänglich zur Kontrolle und fällt später evtl. wieder raus? In Go habe ich nämlich das Problem, dass mir die Client-API kein Array zurückgibt, das man einfach echo-print-ähnlich zum Browser rausschicken kann, sondern ich bekomme eine Go-Stuktur, die ich zur Ausgabe extra wieder ins ursprüngliche JSON-Format konvertieren muss. Wenn diese Ausgabe im weiteren Verlauf nicht wirklich noch gebraucht wird, würde ich an dieser Stelle lieber darauf verzichten. Im Debug-Modus kann ich bei Bedarf auch genau sehen, was da zurückgekommen ist.
  2. 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.
  3. 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.
  4. @Jokin: Bitte solche Anmerkungen von mir nicht als Kritik auffassen, höchstens als konstruktive Kritik. Ich finde es ganz großartig, dass du dir so viel Arbeit machst und uns eine anfängertaugliche Schritt-für-Schritt Anleitung für einen Trading-Bot lieferst . Da ich mich als erfahrenen Programmierer betrachte, möchte ich halt ein paar Tipps weitergeben, wenn mir etwas auffällt. Was die Benennung von Variablen etc. angeht, hat mal ein berühmter Programmierer gesagt "There are only two hard things in Computer Science: cache invalidation and naming things". Aber Programmiererfahrung hin oder her – wenn ich mir das alles autodidaktisch hätte beibringen müssen, wäre es wohl ein Jahresprojekt geworden. Aber so wird man ja an die Hand genommen und ich kann gleich drei Fliegen mit einer Klappe schlagen: Bot bauen, neue Sprache Go lernen und Raspberry Pi3 aufsetzen, einfach cool .
  5. @Jokin: Hab' 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.
  6. Boah ist das schwer . In Go ist zwar manches einfacher, aber manches auch komplizierter. Für die Verwendung von MS SQL Server statt MySql muss ich auch manches anders machen. $-Zeichen in Variablennamen sind in Go verboten und Unterstriche _ verpönt, letztere werden jedenfalls vom Debugger angemeckert, weil sie nicht der Konvention entsprechen. Ein Datum mit Zeit speichere ich nicht als Datum in der DB, sondern als int64 in Nanosekunden seit dem 1. Januar 1970 (Unix Zeit). Das kann Go leicht konvertieren und es hat den Vorteil, dass man den Code nicht so stark auf eine bestimmte DB-Engine zuschneiden muss. MySql hat ja andere Datumsfunktionen als z.B. SQLite oder MS SQL Server. Die Backticks (`) in den SQL-Statements sind auch MySql-spezifisch und funktionieren nicht mit anderen Datenbanken. Ich verwende daher die normalen Anführungszeichen ". In MySql muss man dazu ggf. Ansi-Quotes einschalten: SET sql_mode = 'ANSI_QUOTES'; Die Funktion update_messages finde ich ungeschickt benannt und heißt bei mir insertMessage, denn sie fügt ja nur eine Message ein (kein Plural) und "update" bedeutet in Bezug auf Datenbanken immer "ändern", nicht "einfügen". Die vier Standardoperationen sind auch unter dem Kürzel CRUD bekannt: Create, Read, Update, Delete (Erzeugen bzw. Einfügen, Lesen, Ändern, Löschen). Lektion 2 ist damit auch geschafft .
  7. 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.
  8. 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+
  9. Das passt schon, denk ich mal. Kleine Chance ist immer. Nur würde ich davon abraten, allzu viel Energie reinzustecken – im wörtlichen und übertragenen Sinn. Konfuzius würde sagen "Meine Chance ist 50:50. Entweder ich gewinne, oder ich gewinne nicht" 😁 Ist aber so (abgesehen von Trinkgeldern). Das kann man leicht ausrechnen und jede seröse Spielbank wird es dir bestätigen. Nein: Nach alles auf eine Farbe kann man im Verlustfall nicht verdoppeln, weil ja schon alles verloren ist. Ansonsten ist das die schlechteste Strategie überhaupt. Sie führt mit Sicherheit zum Totalverlust. Schlimmer wäre nur noch etwas wie "alles auf die 17". Dies Verdoppelungsstrategie funktioniert nur rein theoretisch, wenn man unendlich viel Kapital hätte und es kein Limit gäbe. Die Praxis sieht leider anders aus. Was aber geht und sogar schon erfolgreich gemacht wurde ist einmalig alles auf eine Farbe: Man setzt nur einmal im Leben und zwar das gesamte Vermögen. So hat man eine faire 18:19 Chance, sein Vermögen mit einem Schlag zu verdoppeln. Nur leider kann man dabei auch leicht alles auf einen Schlag verlieren... also nur was für extrem mutige.
  10. Was mich betrifft hat das keine Eile. Bin noch nicht mal mit Lektion 2 ganz durch und mache das ja nur im Nebenberuf .
  11. Das ist genau das Problem dabei. Bei solchen W'keiten wie Lotto 6er mit Zusatzzahl, Euromillions oder Bitcoin-Mining zahlt man immer ein, bekommt aber nur einen Bruchteil zurück. Habe mal gehört (glaub' im Fernsehen), dass alles nennenswerte Bitcoin-Mining inzwischen in der Hand von 2 Chinesen ist, was ich nicht für unwahrscheinlich halte, so wie China in letzter Zeit "aufholt". Die Energiekosten sind einfach zu enorm: selbst wenn man Millionen in die Hardware steckt, dürfte sich das kaum rechnen. Beim Lotto verliert man im Schnitt über 50% vom ganzen – womöglich lebenslangen – Einsatz. Habe mal ausgerechnet, wie lange man im Schnitt Lotto spielen müsste, um einigermaßen sicher auch mal den Hauptgewinn zu landen: 500 000 Jahre bei einem Tipp pro Woche, wenn ich mich recht erinnere. Und natürlich hätte man bis dahin ein Vielfaches vom Hauptgewinn eingesetzt, so dass von einem Gewinn nicht mehr die Rede sein kann. Trotzdem spiele ich manchmal auch Lotto, aber nur wenn der Jackpot richtig fett ist... unter 10 Millionen sicher nicht, und dann auch nur mit kleinem Einsatz von 10€ oder so. Gegen so kleine W'keiten kann man nicht mit Brute-Force anstinken wie beim Mining oder regelmässigen Lottospiel. Das klappt nur mit extrem viel Glück, und damit reicht dann auch ein kleiner Einsatz. Zum Vergleich: Beim Roulette verliert man im Schnitt nur 2,7% vom Einsatz, aber auch da hat sich so mancher schon ruiniert...
  12. Na, das ist mal richtig gut: Lügner, die nur Diebe schädigen! Kein Mitleid . Folgendes hat zwar nichts mit Krypto zu tun, ist aber eine ähnlich schlaue Masche, und zudem noch ganz legal: In Österreich soll es mal einen gegeben haben, der hat in ländlich-konservativen Gebieten Investoren gesucht um einen Pornofilm zu drehen. Es wurde natürlich eine lukrative Gewinnbeteiligung versprochen. Nach einer Weile teilte er den Leuten dann mit, dass es mit dem Film jetzt leider doch nichts wird, und legte dem Schreiben gleich einen Scheck über die gezahlte Investition bei, der aber nur bei der örtlichen Bank einzulösen war und auf dem fett der Name seines Pseudo-Unternehmens stand: "BlaBla Porno Film Productions". Der Scheck war sogar gedeckt, und wer sich traute, konnte sein Geld damit zurückholen. Aber viele schämten sich natürlich damit bei der Bank in ihrem Dorf zu erscheinen und verzichteten lieber .
  13. Super! Da kann man anscheinend Linux draufspielen und richtige Programme laufen lassen. Jetzt nur noch etwas Klebeband drum und schon hat man auch ein stylisches Gehäuse .
  14. Ich bin zwar nicht gefragt, dafür hab' ich was gefunden. Ob es brauchbar ist, weiß ich aber nicht... Wenn man z.B. im Orderbuch sieht, dass kurzfristig viel mehr Kauforder knapp unterhalb vom aktuellen Kurs liegen als Verkaufsangebote darüber, dann wird der Kurs steigen (und umgekehrt). Wie ich es verstehe bedeutet das nämlich, dass mehr Coins gekauft werden sollen als zu verkaufen sind. Also werden die vielen kaufwilligen Bullen zwangsläufig höhere Preise akzeptieren. @Alle: Kann man das so sagen? Sowas könnte ja dann z.B. auch ein Bot im Orderbuch erkennen und kurzfristig entsprechend handeln. Ich denke jedenfalls, dass man zuerst als Mensch so etwas erkennen sollte, und erst dann einen Bot darauf ansetzen. Umgekehrt wird es wohl nichts, außer man hat eine superschlaue, selbstlernende Maschine... aber wer hat sowas schon.
  15. Ehrlich gesagt, wenn ich viel zu verlieren hätte, dann würde ich es nicht mal meinem selber programmierten Bot in sicherster Umgebung anvertrauen. Die Coinerei sehe ich mehr als Zockerei, und das mache ich grundsätzlich nur mit Spielgeld, das ich von vorneherein erst mal als verloren ansehe. Im Roulette kenne ich mich viel besser aus als mit Trading... jedenfalls bis jetzt... aber dazu bin ich ja hier... zum Dazulernen . Ach ja... was ist wohl ein Pi3? Mal SuMa fragen... vermutlich ein kleiner Rechner.
  16. Sorry, nix für ungut, so war das nicht gemeint. Ich schrub ja auch "Nerd oder skunk", extra noch mit Zwinkersmiley. Mit "Nerd" als Extremfall wollte ich nur unterstreichen, dass man einzelnen Leuten mit wenigen Kunden besser nicht vertraut, wenn es viel zu verlieren gibt. Dann schon lieber in einer Masse untergehen, wo man selber nicht so auffällt.
  17. Hallo zusammen Wäre nett, wenn jemand mal meinen neuen Webserver hier anpingt. Nach dem Draufklicken solle er nur mit einem nackten "pong" antworten, ohne jedes HTML-Gedöns. Sieht jemand das "pong" als Antwort? Das wäre cool. Dann weiß ich, dass es funktioniert. Der Server läuft bei mir lokal und ich weiß bis jetzt nicht, ob er von außen auch wirklich erreichbar ist.
  18. Moment... vielleicht reden wir da aneinander vorbei... Der Webserver bekommt eine verschlüsselte Nachricht und entschlüsselt sie, richtig. Aber der Hoster ist doch nicht der Webserver und damit auch nicht der Endpunkt. Der Webserver ist ein Programm (hoffentlich mein Programm), das irgendwie nur die verschlüsselte Nachricht weitergereicht bekommt, oder nicht? Natürlich kann der Hoster etwas dazwischenschalten, was sich als Endpunkt ausgibt (Proxy) und erst mal selber entschlüsseln, das bestreitet niemand. Aber das müsste er halt absichtlich tun und es wäre wohl illegal. So gesehen würde ich lieber bei einem großen Anbieter hosten als bei einem Herrn Nerd oder skunk , weil beim großen Anbieter die W'keit kleiner ist, dass der ausgerechnet meinen API-Key aus dem riesigen Datenverkehr fieselt und missbraucht. EDIT: Für mich ist das SSL-Sniffing oder -Scanning: Nachrichten entschlüsseln und durchlesen, die man als Hoster eigentlich nur weiterreichen soll.
  19. Ja, das meinte ich mit SSL-Scanning. Das Überwachungsprogramm wäre dann quasi der man-in-the-middle. Logisch: Irgendwo muss die verschlüsselte Nachricht wieder entschlüsselt werden, im Idealfall erst am Ende der Leitung, aber man weiß ja nie... der Internet-Anbieter kann das z.B. auch (er vergibt meines Wissens einen Langzeit-Key), und schließlich könnte ein böser Bube auch ganz am Ende der Leitung sitzen, also bei der API.
  20. Hmm... das hat mir einiges Kopfzerbrechen bereitet . 100% Sicherheit gibt es da wohl nicht, aber man könnte das Risiko minimieren: Da man ohnehin einen Webserver hat, könnte man doch den API-Key nur über eine sichere https-Verbindung (evtl. noch gesichert mit PFS) in ein Formular eingeben um den Bot zu starten. Der Key würde dann nie im Klartext auf der Festplatte rumliegen, wo ihn der Betreiber jederzeit einsehen kann, sondern er wäre nur irgendwo in den Tiefen des Arbeitsspeichers solange der Bot läuft und verschlüsselt unterwegs während der Kommunikation zwischen Bot und API. Um trotzdem an den API-Key zu kommen, müsste jemand mindestens SSL-Scanning betreiben. Das könnte aber z.B. auch der Internet-Anbieter oder sonst jemand, bei dem die Datenpakete vorbeikommen, nicht allein unser Hoster... und davor ist man ja auch dann nicht geschützt, wenn man den Server selber betreibt.
  21. Das stimmt so nicht wirklich: @Jokin schrieb, dass man den Code auch leicht in andere Sprachen portieren kann – wenn man versteht was das Programm tun soll, ist klar. Natürlich sollte dann auch ein anderer SQL-Dialekt kein Problem sein. Selber probiere ich es zunächst lokal mit Golang (zum Erlernen) und momentan noch mit MS SQL Server Express als Datenbank, später wahrscheinlich was Kleineres. Wow, die kannte ich nicht und die Leistung kann sich sehen lassen. Liest sich jedenfalls sehr sympathisch, wie die das machen und es wird sogar Go unterstützt. Damit würde sich dann wohl auch der Apache erübrigen .
  22. Cool, sogar mit GitHub . Als einfacher Texteditor ist Notepad++ ganz ok, zum Programmieren empfehle ich aber Visual Studio Code (gratis). Nach der Installation ist der Hintergrund augenkrebsverdächtig schwarz, aber das kann man leicht ändern: Links unten auf das Zahnrad und dann "Color Theme" klicken um was Schöneres auszuwählen. Es werden viele Features für viele Sprachen/Formate unterstütrzt, u.a. auch PHP, javascript und HTML.
  23. Wow, 30K Codezeilen... womöglich in einem einzigen langen Script mit unzähligen verschachtelten if-else... mir schwant Übles. Das ist der Horror für jeden geübten Programmierer. Solcher Code ist praktisch nicht zu warten und nach kurzer Zeit versteht selbst der, der ihn geschrieben hat nicht mehr, was das Programm eigentlich macht. Stuktur ist das A & O beim Programmieren: Man sollte alles in kleinen, überschaubaren und mehrfach verwendbaren Häppchen halten. Ja, Verwirrung und mehrfach gleicher Code entsteht, wenn man überall irgendwelche Sonderfälle mit if-else oder so abdecken will. In einer objektorientierten Sprache erstellt man z.B. eine Basisklasse, die alles beinhaltet, was für die versch. Exchanges gleich ist. Für jeden Sonderfall erstellt man dann jeweils eine neue Klasse, die einfach von der Basisklasse erbt und die speziellen Variablen/Methoden noch zusätzlich hat. Diese können bei Bedarf wieder voneinander abgeleitet sein.
  24. Schön, PHP ist nämlich auch nicht mein Ding. Interessant klingt das Projekt allemal, vor allem Punkt 5 :). Ja, an Go habe ich auch zuerst gedacht, das wollte ich eh mal lernen. Und es gibt da wohl schon einiges für einen API-Client. C# könnte ich noch, aber Go ist bestimmt schlanker und irgendwie cooler .
×
×
  • 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.