Ich wurde immer wieder gefragt, ob ich mal ein Post darüber schreiben kann, wie man automatisierte Benachrichtigungen zu Trading Strategien erhalten kann. Nun der Post hier
@gorehammer
@randomdude
@TheStoic
Dies bezieht sich auf meine SPYTIPS-Cool Serie
(hier geht es zum ersten Teil: https://getqu.in/THTI9I/)
Disclaimer
Ich muss vorher ein paar Sachen ansprechen:
- Diese Anleitung ist keine Einladung oder Anstiftung zu irgendeiner Trading Strategie, insbesondere nicht 2xSPYTIPS-Cool (für die diese Anleitung ist)
- Dieser Bot ist KEIN Trading bot, sondern sendet lediglich Signaländerungen. Handeln müsst ihr selber und tut das mit Eigenverantwortung
- Der vorgestellte Code hat keinen Anspruch auf Richtigkeit. Wenn ihr durch falsche Nachrichten handelt und damit Geld verliert, ist das eure Schuld (der Code ist Open Source, ihr könnt ihn euch also selber anschauen)
Also wichtig: Eigenverantwortung von euch und diese Anleitung stellt lediglich ein Beispiel dar, wie man ein solchen Signal Bot kostenlos umsetzen kann.
Es gibt vielleicht auch "einfachere" Möglichkeiten, allerdings musste ich für diese keine weiteren Accounts erstellen. Zusätzlich ist sie hochgradig anpassbar und zuverlässig, wenn sie einmal läuft.
Was genau ist das jetzt?
Ich verwende Discord (Messenger), welcher Support für Bots bietet, um mir die Nachrichten zu schicken. Dazu braucht ihr einen Discord Account und müsst genügend Rechte in einem Server haben (am Besten ihr erstellt einen eigenen Server, wo nur ihr drin seid).
Anschließend braucht ihr ein Textkanal auf diesem Server.
Diese Schritte bekommt ihr sicher mit Hilfe von Google oder LLMs easy hin.
Nun brauchen wir noch das Backend, also der Server, der die Nachrichten schickt (und vor allem die Signale berechnet). Dies funktioniert gut über Github Actions.
Github ist eine Platform auf der (vor allem Open Source) Code hochgeladen werden kann (also eine Code-Cloud). Github bietet viele Features an, um optimale Codeentwicklung in Teams zu ermöglichen.
Github Actions sind Aktionen, die automatisiert auf den vorhandenen Code ausgeführt werden können. Ich benutze eine Action, welche jede Nacht das script zur Berechnung der Signale ausführt und anschließend (bei Änderungen) eine Nachricht an Discord schickt.
Ihr braucht also auch einen Github Account (aber das wars dann auch)
Was müsst ihr jetzt tun?
- Ihr habt ein Discord Account, einen Discord Server mit genügend Rechten und einen Textkanal auf diesem Server (siehe oben)
- Ihr habt einen Github Account
- Ihr geht auf folgende Seite: https://github.com/semigrowth/signal-bot
- Nun klickt ihr auf "Fork" (oben rechts im Content Bereich) und bestätigt die nächsten Schritte
Ihr solltet jetzt das hier sehen:
- Hier geht ihr jetzt auf Settings->Secrets and Variables->Actions
- Nun müssen wir erst wieder auf Discord und hier in die Kanaleinstellungen des Textkanals gehen (Zahnrad wenn ihr mit der Maus darüber geht)
Abbildung:
- Danach auf Integrationen->Webhook erstellen, auf den neuen Eintrag klicken und "Webhook URL kopieren"
- Jetzt wieder zu Github: Ihr geht auf "REPOSITORY SECRETS" (nicht "Environment secrets") und erstellt ein neues secret mit dem Namen: "DISCORD_WEBHOOK_URL" (Großschreibung ist wichtig). Als Wert fügt ihr die gerade kopierte URL ein
- Der letzte Schritt ist in den "Actions" Tab zu gehen und diese zu aktivieren (müsste eine Warnmeldung kommen, dass Actions standardmäßig deaktiviert sind, da müsst ihr einfach auf "aktivieren" klicken)
Nun sollte es alles eingerichtet sein. Jede Nacht werden jetzt die Signale geprüft.
Ihr solltet allerdings die folgenden Schritte ausführen, um das Setup zu testen:
- Ihr geht in den Actions Tab und wählt links die Action "Check Indicators for SPYTIPSCOOL STRATEGY" aus und rechts klickt ihr dann auf "Run workflow" (und bestätigt dieses nochmal)
Abbildung:
- nun solltet ihr nach maximal 2 Minuten eine Discord Nachricht mit den aktuellen Signalen bekommen
Strategien
Ich werde hier nicht alles ganz so ausführlich beschreiben, aber dennoch erwähnen.
Die Signale sind Out-of-the-Box erstmal für SPYTIPS-Cool mit den Parametern 150,200,15. Ihr könnt die Parameter in der Datei "constants.py" im "strategies" Ordner ändern.
Ihr könnt allerdings auch eigene Strategien implementieren (Für Python Menschen):
- Ihr müsst lediglich eine Funktion in einer neuen Datei im "strategies" Ordner implementieren, die 3 Strings zurückgibt (Titel, Subtitel und Text bzw. None, None, None wenn keine Nachricht gesendet werden soll). Ihr könnt diese dann einfach in der main aufrufen.
Ich kann euch auch helfen, wenn ihr eigene Strategien hinzufügen wollt.
Github macht es relativ einfach:
- Ich könnte eine Strategie hinzufügen
- Ihr könntet euren "Fork" (also die Kopie) aktualisieren (ein Klick)
- fertig
Fazit
Mir ist klar, dass ich hier nur wenige Menschen mitnehme, da es schon ziemlich technisch ist. Allerdings habe ich viele Rückfragen in die Richtung bekommen.
Die Anleitung im ersten Teil sollte relativ einfach zu folgen sein, es gibt die Erklärung auch nochmal direkt in der Projektbeschreibung auf Github.
Durch LLMs ist es auch extrem einfach geworden halbwegs vernünftigen python Code zu schreiben. Ihr könntet zum Beispiel mein spytips_cool.py Code in ein LLM feeden und fragen, ob es euch eine andere Strategie in der selben Form schreibt.
Das Ergebnis ist ein Tool mit dem das ständige Nachrechnen von Signalen für euch automatisiert wird.
PS: Die Textnachrichten könnt ihr natürlich auch anpassen und auch, wann ihr informiert werden sollt. (z.B. auf täglich. Zurzeit nur bei einem Signalwechsel, auch nur einer der beiden Indikatoren, und wenn der Cooldown ausläuft)
PS2: Solltet ihr irgendwelche Verbesserungsvorschläge, Bugs oder Sonstiges loswerden wollen, was Code-related ist, könnt ihr mir auch hier: https://github.com/semigrowth/signal-bot/issues ein Issue schreiben
