Algobot Tagebuch | Releases

Das Logbuch wird von oben nach unten geführt, so dass die aktuellsten Einträge immer oben stehen. Das ganze System ist als Machbarkeitsstudie und als Leidenschaft zu sehen zum Thema Algorithmisches Verständnis des Marktes. Ich dokumentiere hier nur meinen Fortschritt und Erkenntnisse. Es geht dabei gar nicht um die Ergebnisse selbst, sondern sich selbst nur einmal klar zu schreiben und die eigenen Gedanken etwas zu strukturieren. Ich selbst bin hauptberuflich als PO tätig und daher kein Hard-Core-Entwickler. Ich habe aber Spaß daran, die Sachen für mich zum Laufen zu bringen und meine Dev-Skills nicht komplett einrosten zu lassen.

31. Mai 2025

Reihe von Einzeloptimierungen

Es sind eine Reihe von Anpassungen vorgenommen:

  • Infrastruktur: Automatische Zertifikaterneuerung für alle Domänen
  • News-Bereitstellung: Robustheit des Setups ausgebaut
  • Algotrader-Website: Codeblöcke korrekt darstellen

News: Suche

Mit dem zunehmenden Umfang der Infos und Nachrichten ist leider auch eine Suche notwendig geworden. Diese wird hier aus Performance- und Skalierungsgründen im Backend durchgeführt und über die App gesteuert.

news-suche

30. Mai 2025

ML-Algotrader-Website: Navigation mit Suche auf der ML-Algotrader-Seite

Um etwas effektiver mit dem Logbuch arbeiten zu können, ist eine kleine responsivefähige Suche integriert, die instant die Navigationspunkte der Seite anzeigt, die zur Suchanfrage passen.

website-suche

News: Youtube-Videos nun auch mit TL;DR, Topic und Source-URL

Um die Arbeit ganzheitlich mit den News zu optimieren, sind nun auch für den Import der Youtube-Videos die Funktionalitäten für TL;DR und Topic nachgezogen. Zusätzlich wird nun auch eine Youtube-Source-URL mitgeführt und im Frontend angezeigt, so dass vom Transkript direkt zum eigentlichen Video gesprungen werden kann.

youtube-links

29. Mai 2025

News mit KI generierten Topics

Nachrichten werden nun automatisch einem Themenschwerpunkt zugeordnet und in der UI so auch inhaltlich separiert. Es können so die Börsen-News gezielt täglich gelesen werden und die Politik-, KI- und Technik-News zu einem späteren Zeitpunkt. Es wird so mehr Fokus erreicht.

image.png

News mit TL;DR-Bereichen

Too-long-Don't-read, d. h. die Inhalte werden nochmals kurz zusammengefasst und man kann dann noch gezielter entscheiden, ob die News ganz gelesen werden sollte. Leider sind es zu viele tagtägliche Nachrichten, dass dieser Zwischenschritt notwendig wurde.

image.png

23. Mai 2025

Neugestaltung des Webauftritts für die ShareHolder-Website

Der Auftritt der bisherigen Website ist nun ebenfalls leichtgewichtig umgestaltet und nutzt ebenfalls das Astro-Framework. Die Featureset-Beschreibungen, Intros und weitere Inhalte sind dabei übernommen.

Die Inhalte sind eine „Erinnerung" an mein vorheriges Hobby: Investitions- und Anlage-Portfolio-Management-Lösung „SHAREholder".

17. Mai 2025

Neugestaltung des Webauftritts für den ML-Algotrader

Ein komplett neuer Auftritt für den ML-Algotrader war schon etwas länger im Backlog, ist nun aber umgesetzt. Die Web-Anwendung basiert nun auf dem Astro 5.7x Framework mit Tailwind CSS für das responsive Design. Die neue Lösung bietet Visualisierungen und Live-Datendarstellungen der KI-News und der KI-Faktoren-Map zur Darstellung von aktuellen wesentlichen Einflussfaktoren auf das Marktgeschehen.

Die bisherige Abbildung als WIKI wird damit vollständig ersetzt. Wesentliche Aspekte bei der Umsetzung waren:
  • Aufbereitung der bisherigen Contentbasis inkl. Reorganisation, KI-gestützte Bildanalyse und Renaming
  • Aufbereitung der Inhalte in einem für KI nutzbaren Format und Zugriff (Markdown)
  • Grundstruktur aufbauen mit Blog, Markt-Sentiment (Faktor-Map), News und Tagebuch-Releases
  • Releases neu strukturieren und modularisieren, auch wenn der Anzeige-Charakter als eine Tagebuch-Seite bewusst erhalten bleiben soll.
  • Implementierung eines Security-Konzepts


Hier aus Dokumentationsgründen die alte Implementierung (so bereits nicht mehr nutzbar).

image.png

15. Mai 2025

Inaktive Strategien können nun auch eingeblendet werden für einen Abgleich

Einige Strategien waren im Strategie-Studio nicht sichtbar und konnten daher auch nicht aktiviert werden, außerhalb einer direkten Datenbank-Anpassung.

image.png

Risk-Mgmt für Titel sind nun ebenfalls wieder einblendbar

Kalenderdaten werden jetzt je nach aktivem Titel nach Country und Zeit geeignet gefiltert. Die Risk-States aus der KI-Betrachtung werden nun ebenfalls wieder eingeblendet. Durch die IG-Umstellung waren diese zeitweise wegen einer anderen Symbol-Logik nicht mehr nutzbar.

image.png

13. Mai 2025

Performance-Bilanz auf Staging-Umgebung

Weiterhin sehr positive Trading-Bilanz der Staging-Umgebung mit nun +34% Jahresbilanz ab 03/25 bis heute. Hierbei trat ein maximaler Drawdown von 7% auf. Ich hoffe, die Bilanz kann gehalten und weiter ausgebaut werden. Sowohl in den Trading-Strategien, Positionsmanagement als auch Stopp-Kurs-Management ist ja noch einiges an Luft. Die Startbalance von 30.000 € ist damit bereits erheblich gesteigert worden.

Das Live-Konto unterscheidet sich hiervon in der Bilanz, da nicht alle Strategien angewendet worden sind und ein anderes Startvolumen genutzt wurde.

image.png

> Ermittle alle Git-Changes ab dem 06.05.2025 und erstelle unter \\docs eine MD-Datei die fachliche Anpassungen und alle neuen Features beschreibt in Deutsch!

Hier das Ergebnis aus dem Agenten-Coding-Assistenten:

Trade-Gruppierung nach Symbol-Option (6. Mai)

  • Hinzugefügte Möglichkeit, zwischen zwei Gruppierungsmodi zu wechseln:
  • Ursprünglicher Modus: Trades gruppiert nach Symbol + Kommentar (z.B. "EUR/USD:Strategy1")
  • Neuer Modus: Trades gruppiert nur nach Symbol (z.B. "EUR/USD")
  • Implementierung einer Checkbox mit der Bezeichnung "Nach Symbol gruppieren" in der Benutzeroberfläche
  • Benutzereinstellung wird im localStorage gespeichert und bleibt zwischen Sitzungen erhalten
  • Zu den Vorteilen gehören vereinfachte Analyse nach Handelssymbol und flexiblere Ansichten

Verbesserte Benachrichtigungen bei Trade-Schließung

  • Verbessertes Feedback beim Schließen von Trades mit detaillierten Statusmeldungen
  • Hinzugefügte verschiedene Benachrichtigungstypen basierend auf dem Trade-Schließungsstatus:
  • Erfolg: Bestätigung mit Deal-ID und Status
  • Abgelehnt: Warnung mit Ablehnungsgrund
  • Fehler: Detaillierte Fehlerinformationen
  • Erhöhter Benachrichtigungstimer für bessere Lesbarkeit
  • Verbesserte Fehlerbehandlung mit detaillierteren Fehlermeldungen

Währungscode in Trade-Informationen

  • Hinzugefügter Währungscode zu Trade-Informationen für vollständigere Trade-Daten, insb. für das US-Asset-Trading
  • Verbessertes Logging für Trade-Schließungsoperationen
  • Verbesserte Datenkonsistenz durch Aktualisierung geschlossener Trades nach der Bearbeitung der Trade-Schließung

Verbesserung der Stop-Loss-Berechnung

  • Korrigierte Stop-Loss-Berechnungen, um contractSize für genaue monetäre Werte einzubeziehen
  • Gewährleistet angemessenes Risikomanagement mit korrekten Finanzberechnungen

Neustrukturierung der News-Komponenten

  • Refaktorierte News-Komponenten mit Vue 3 Composables für bessere Code-Organisation
  • Implementierte modulare Architektur mit separaten Komponenten für:
  • News-Header
  • KI-Zusammenfassungsberichte
  • News-Toolbar
  • Newsfeed-Liste
  • Verbesserte Zustandsverwaltung mit dedizierten Composables

Verwaltung des Lesestatus

  • Hinzugefügter Lesestatus-Toggle über Kreissymbol im Newsfeed
  • Implementierte "Als gelesen markieren"-Funktionalität mit Einklappverhalten
  • Verbesserte Layout des News-Item-Headers
  • Hinzugefügte Filtermöglichkeit für ungelesene Nachrichten

KI-Zusammenfassungs-Toggle

  • Hinzugefügter Wechsel zwischen KI-Zusammenfassungen und Originalinhalt in der News-Ansicht
  • Implementierte Zähler für ungelesene Inhalte für bessere Inhaltsverfolgung
  • Entfernte Inline-Schriftgröße aus GPT-Zusammenfassung für sauberere Darstellung
  • Verbesserte Logik für die Anwendung der Schriftgröße

Scroll-zu-News-Funktionalität

  • Hinzugefügte Scroll-zu-News-Funktionalität für einfachere Navigation auf der Briefing-Seite
  • Implementierter benutzerdefinierter Button in der PageHeader-Komponente
  • Angepasstes Scrollverhalten, um den News-Bereich am Anfang auszurichten

Verbesserungen des responsiven Layouts

  • Verbessertes responsives Layout für Strategiebericht-Filter
  • Verbesserte Responsivität der News-Komponente
  • Verbesserte Responsivität des Newsfeed-Headers mit Bootstrap-Grid-Layout
  • Angepasste Filterbreiten und Beschriftungen für verbessertes Layout im Strategiebericht

Theme- und Style-Updates

  • Aktualisierte UI-Komponenten zur Verwendung von Theme-Variablen für Konsistenz
  • Verbesserte Responsivität in der gesamten Anwendung
  • Behobene Schriftgrößenprobleme
  • Entferntes ungenutztes Suchfeld und angepasste Sichtbarkeit von Header-Elementen für ein übersichtlicheres Layout

Fehlerbehebungen

  • Behobene Schriftgrößenänderungen (10. Mai)
  • Behobenes Problem mit contractSize in Stop-Loss-Berechnungen (6. Mai)
  • Angepasstes Scrollverhalten für korrekte Ausrichtung des News-Bereichs (10. Mai)

5. Mai 2025

Bookmark und Gelesen-Filter sowie Font-Size-Anpassungen für Mobil-Nutzung

News können nun gezielt gefiltert werden und für die mobile Nutzung auch in der Schriftgröße nativ angepasst werden.

image.png

News nun mit Read-State- und Bookmark-Funktion

News haben nun ein Bookmark- und Read-State-Flag für spätere Filterungen und Aufbereitungen.

image.png

Komplettes Stopp-Kurs-Handling nun auch von der UI konfigurierbar

Darstellung inkl. Erläuterungen des Stopp-Handlings. Daneben können alle Einstellungen nun auch im Frontend direkt vorgenommen werden.

image.png

3. Mai 2025

Youtube-Channels automatisiert abonnieren (UI statt CLI)

Weil es so schön ist, kann ich jetzt nicht nur per CLI, sondern auch direkt von der UI neue Youtube-Channels hinzufügen.

image.png

Youtube-Video-Transcripts

Es werden nun automatisch von verschiedenen Channels die neuesten Videos erkannt und als News für den Algobot verfügbar gemacht. Hier als Auszug aus der Datenbank:

image.png

Damit werden dann schrittweise durch KI über eine Queue die Infos aufbereitet und als News ausgewertet. Es ist praktisch nicht möglich, alle diese News und Kanäle vollständig 1:1 als Video zu schauen. Ich nutze deutlich lieber die Textform und kann diese so auch für die KI nutzbar machen, ebenso für spätere Einzelanalysen und Suchalgorithmen.

image.png

Profit-Curves v2

Auswahlmöglichkeit der Trades und den zeitlichen Verlauf zu vorgenommenen Stopp-Kurs-Prüfungen und Anpassungen, unterschieden nach Algotrader und manuell indizierten Varianten. Ziel ist es, Optimierungen in der Stopp-Kurs-Setzung zu finden.

image.png

Stopp-Risiko-Positions-Management mit Dynamisierung und Risiko-Pyramiden

Dynamische Stoppkurs-Anpassung bei steigenden Kursen

  • Erweitert das TradingSetting mit konfigurierbaren Parametern für drei Gewinnzonen mit progressiv engeren Stopps
  • Verwendet konfigurierbare Faktoren anstelle von hartcodierten Werten


Symbol-basierte Risikopyramide für Positionsmanagement

  • Implementiert eine neue Methode zur Analyse von Positionen auf Symbol-Ebene
  • Wendet progressive Stopp-Anpassungen basierend auf der Gewinnrangfolge an

1. Mai 2025

Profit-Curves

Darstellung der Profitkurven über den zeitlichen Verlauf eines Trades werden nun ebenfalls wieder dargestellt.

image.png

Optimierung des Rate-Limiter sowohl in der API als in der Bridge

Der Rate-Limiter ist nun deutlich smarter aufgestellt, so dass deutlich mehr API-Requests an IG weitergegeben werden können und somit die Gesamtperformance steigt.

Symbolbasierte Positionsanalyse

Positionen werden nun gruppiert nach Symbolen betrachtet und in festgelegten Schwellwert-Situationen werden alle Trades in eine Trading-Richtung ausgerichtet und entgegengesetzte Positionen geschlossen. Die Positionierung wird über die Datenbank konfiguriert.

Aktualisierung der genutzten LLMs

Intern werden nun die Nachrichten, Faktoren-Maps und Mails mit Gemini 2.5 Pro bzw. Claude 3.7 bewertet und analysiert. Der News-Feed gewinnt damit weiter an Qualität:

image.png

Update Portfolio-Analyse für Staging-Umgebung

Hochgerechnet aufs Jahr ergibt das aktuelle Setup auf der Stage nun eine Performance von 308%. Ich baue das Setup daher weiter auch für das Livekonto geeignet aus.

image.png

27. April 2025

Faktor-Map nun unter FMP und IG - Setup reaktiviert

Da die Datenstruktur und Setups durch den Wechsel von XTB neu aufgebaut werden mussten, war zeitweise die Faktor-Map nicht mehr aktiv. Diese kann nun wieder genutzt werden:

image.png

Risiko-Management-Modul reaktiviert nach Umstellung

Auch das Risiko-Management-Modul ist nun erfolgreich wieder reaktiviert unter Nutzung der Daten von FMP und IG.

image.png

Zwischenbilanz Performance Trading (Stage-Umgebung)

Die Wochenperformance war beeindruckend +9,2%. Es ging daher nahtlos weiter.

image.png

25. April 2025

SSE-Live-Tracking auf Basis von Backend-Prozessen

Werden langlaufende Backend-Prozesse gestartet, werden nun über Websocket-Umgebung (SSE) Updates ans Frontend gesendet für Fortschritt und Status in Echtzeit. Damit sind auch Prozesse mit Durchlaufzeiten >>10s gut ertragbar und erzeugen keine Verwirrung beim Nutzer.

image.png

22. April 2025

Zwischenbilanz Performance (Stage-Umgebung)

OK jetzt wird es langsam unheimlich. Auf dem Stage-Konto für die Trade-Simulation geht es weiter steil nach oben, obwohl hier die "Loser"-Strategien mitlaufen. Das Echt-Depot mit den Winner-Strategien kommt damit gerade nicht mit. Vielleicht muss ich auch im Live-Demo einfach die Strategien komplett mitlaufen lassen.

image.png

21. April 2025

Performance und Zwischenbilanz nach Umstellung auf IG als Broker

Das Trading-Setup funktioniert unter IG durch einige inhaltliche Umstellungen sehr gut. Auch die aktuellen Markt-Turbulenzen werden durch den Trading-Bot sehr gut verarbeitet und mitgenommen.

image.png

Entwicklungs-Umgebung

Alle Projekte (Bridge, API, App) vom Algobot sind nun vollständig umgestellt auf RooCode inkl. Rules-Settings und Best-Practices zur Generierung. Für die Generierung der Commit-Messages nutze ich aktuell .continue für VSC.

GitHub-CoPilot-Agents ist nicht gleichermaßen flexibel und erlaubt nicht diese starken individualisierten Prompts und Rule-Settings, so dass ich das System aktuell nicht mehr benutze. In der Konsequenz ist die Subscription auch wieder gecancelt.

Backtest-Statistiken nun mit Color-Code

Da die Backtest-Statistiken manuell nur sehr schwer zu überschauen sind, werden diese nun farblich mit verschiedenen Transparenzwerten dargestellt, je nach KPI hier mit unterschiedlichen Ranges und Richtungen in der Auswertung.

image.png

24. März 2025

Economic-Calendar-Updates & News

Diese Lücke habe ich nun mit dem Datenprovider "FMP" geschlossen. Dieser bietet eine sehr umfangreiche API, womit sowohl relevante News als auch die Economic-Calendar-Daten "https://site.financialmodelingprep.com/developer/docs/stable" ausgelesen werden können für die weitere Verwendung im Algobot.

8. März 2025

Umstellungen auf IG.COM für das Order-Management abgeschlossen

Alle relevanten Umstellungen für das Order-Management für IG.COM sind hiermit abgeschlossen und XTB praktisch aus dem Code geschmissen. Schade für XTB, gut für IG.COM. Die Schnittstelle wurde planmäßig und zugleich unsinnig am 14.03.2025 deaktiviert.

Eine kleine Herausforderung war das doch sehr restriktive Rate-Limit seitens IG.COM zu handeln insb. bei übergreifender Nutzung eines Accounts. Die API-Requests erfolgen ja sowohl seitens der Order-Bridge, als auch in der API für die UI. Die Arbeiten sind nun aber abgeschlossen.

Fetch "IG-History-Trades"

Die Aufrufkette für die History-Trades ist bei IG.COM deutlich aufwändiger als bei XTB, da die Transaktions-History mit der Transaktions-Aktivität verbunden werden muss und dabei die Deals zurückverfolgt werden müssen bis zu den Open-Deals, wo dann über die DealReference der eigentliche Bezug zu einer Strategy/Timeframe hergestellt werden kann und die Profit-Daten vollständig vorliegen. Dies ist nicht weiter kompliziert, erzwingt aber immer mind. 3x API-Requests bei ohnehin bereits geringen Rate-Limits. Am eigenen Ratelimiter musste ich daher mehrere Iterationen zur Optimierung durchführen, damit das Setup optimal funktioniert.

4. März 2025

Erste Anbindungen für IG.COM

Der IG-Handler ist nun soweit aufgebaut, dass das OAuth-Session-Handling funktioniert und beliebige API-Requests genutzt werden können. Konkret sind folgende Module nun umgesetzt und das eigentliche Trading-Modul folgt:

  • Fetch-Trades (History) mit einem Delta-Abgleich zum letzten Fetch-Zeitpunkt mit Instrument-Mapping zwischen XTB und IG-Epics/Symbolen
  • Fetch-Pricehistory (Chartdata) ebenfalls mit einem Delta-Abgleich für historische automatische Berechnungen wie Vola/Risk-Indikatoren.


Die Datenstrukturen sind dabei zwischen XTB und IG harmonisiert.

Es fehlt jetzt als nächster wichtiger Schritt noch das Order-Management, d.h. die Übernahme von Trades inkl. Stopp-Management, Trailing-Stopps, Order-Platzierung, Order-Löschungen. Dies ist der wichtigste Baustein, damit IG hier auch im Algobot-Setup sauber funktionieren kann.

Finale Aufkündigung der xAPI seitens XTB

Leider habe ich keine positive Antwort erhalten, wo ich die Bedingungen in dieser Form erfüllen kann. Ich war hierauf aber bereits vorbereitet und stelle nun konsequent auf IG um und entferne alle XTB relevanten Bestandteile. Das Trading und die Konten habe ich konsequenterweise ebenfalls jetzt innerhalb eines Tages auf IG umgezogen. Es fehlen noch die Steuer-Bescheinigungen und Freistellungsaufträge.

Vorteile nach einigen Tagen in der Arbeit mit IG:

  • Tradingview und IG lassen sich nativ miteinander verbinden und Trades daher auch dort sehen und verändern
  • Die Anzahl der handelbaren Titel unterscheidet sich erheblich (ca. 17.000+ vs. 5.300+). Hiermit ist das handelbare Universum nochmals größer als bei KO-Zertifikaten und OTC-Titeln


> Sehr geehrter Herr Werschmoeller > > die **xAPI wird für Retail-Kunden (Kleinanleger) dauerhaft abgeschaltet**, und daran lässt sich leider nichts ändern. Wir wissen, dass diese Funktion für Sie von großer Bedeutung war und haben alles versucht, um eine Lösung zu finden. > > Wir haben uns mit unserem Trading-Desk beraten und geprüft, ob eine **Ausnahmeregelung** für Sie möglich wäre. Leider gibt es solche Ausnahmen **nur für institutionelle Kunden**. > > Dennoch besteht die Möglichkeit, die **xAPI-Schnittstelle weiterhin zu nutzen**, allerdings nur unter folgenden Bedingungen: > > - Sie müssen eine **Institution** sein (z. B. ein kleiner Broker). > - Sie müssen **entsprechende Umsätze nachweisen**. > - Die API kann dann für Sie freigeschaltet werden, wenn Sie beispielsweise **XTB-Liquidität für Ihr eigenes Geschäft** mitnutzen. > > Für **Kleinanleger, professionelle Kunden oder Firmenkunden** ist die Nutzung der API leider **nicht mehr möglich** – sie bleibt ausschließlich **institutionellen Kunden** vorbehalten. > > Wir bedauern dies sehr und verstehen, dass dies für Sie eine erhebliche Einschränkung darstellt. Diese Entscheidung wurde jedoch von unserer **Zentrale in Polen** getroffen, und wir haben als Niederlassung in Deutschland **keinerlei Einfluss darauf**. > > Wir haben wirklich alles in unserer Macht Stehende getan, um eine Lösung zu finden – daher hat unsere Rückmeldung etwas länger gedauert. Wir bitten um Ihr Verständnis und stehen Ihnen für alle anderen Anliegen gerne weiterhin zur Verfügung.

2. März 2025

Komplette Umstellung und Umzug der Server-Umgebung

Das komplette Setup ist nun auf noch leistungsfähigere Hardware umgezogen und alle Komponenten noch konsequenter in Komponenten und mit Docker-Containern orchestriert. Damit sind jetzt Versions-Wechsel der Technologien noch deutlich einfacher geworden.

Anbindung IG.com

Ich habe begonnen IG.COM als weitere Alternative neben XTB.COM anzubinden. Dies ist nicht komplett eigenmotiviert, aber eine notwendige Vorsichtsmaßnahme, wenn xAPI von XTB doch abgestellt werden sollte. Ich hoffe dies nach wie vor nicht und hoffe auf ein Partnerschaftsmodell mit XTB, zumal das Setup erhebliches Potential hat.

26. Februar 2025

XTB kündigt xAPI-Schnittstelle und verschenkt einen riesigen USP

*Sehr geehrte Kundin, sehr geehrter Kunde, Wir möchten Sie darüber informieren, dass ab dem 14.03.2025 der Zugriff auf den xtb API-Dienst über den Host: xapi.xtb.com , ws.xtb.com deaktiviert wird.*

Diese Meldung habe ich am 18.02. erhalten von XTB und zwingt mich nach aktuellem Stand, mich neu zu orientieren, da der Algobot erfolgreich funktioniert, aber eben auch eine Schnittstelle zum Broker benötigt, um die Portfolio, Trade-Positions-Daten auszulesen und vor allem die Trades platzieren zu können.

Schaut man sich den USP an, den XTB hier leider verschenkt und vor allem mich nach 2 Jahren auch zwingt in kurzer Zeit mich umzustellen, ist es leider sehr schade und ich hoffe noch auf einen konstruktiven Dialog.

Feature und/oder EigenschaftxAPI von XTBAPI von IG
Quotes und NutzungsrechteDeutlich kleinere Limitierungen, die auch für komplexere Setups wie beim Algobot genutzt werden können (Simultanes Tradings auf Demo-Konten für das Staging)

  • At most **50** simultaneous connections from the same client address are allowed (an attempt to obtain the 51st connection returns the error [EX008](http://developers.xstore.pro/documentation/#error-messages)). If you need this rule can be lenified please contact the XTB Support Team.
  • User should send requests in **200 ms** intervals. This rule can be broken, but if it happens **6 times** in a row the connection is dropped.


- Per-app non-trading requests per minute: 60
  • Per-account trading requests per minute: 100 (Applies to create/amend position or working order requests)
  • Per-account non-trading requests per minute: 30
  • Historical price data points per week: 10,000 (Applies to price history endpoints)


Endpunkt: News[http://developers.xstore.pro/documentation/#getNews](http://developers.xstore.pro/documentation/#getNews) NEIN und muss daher sekundär angebunden werden mit eigenen Kosten
Endpunkt: Wirtschaftskalenderhttp://developers.xstore.pro/documentation/#getCalendarNEIN und muss daher sekundär angebunden werden mit eigenen Kosten
PerformanceSehr hohe Performance mit <<50ms Antwortzeiten häufig 10msNoch nicht final bewertet, aber in ersten Postman-Tests deutlich langsamer
Nutzung verschiedener Demo-Konten auch über die APIJAJA
Streaming-API-Limits50 simultaneous connections 40 concurrent subscriptions
Letztes Update der API08/2017 [http://developers.xstore.pro/api/changelog/2.5.0](http://developers.xstore.pro/api/changelog/2.5.0)
StabilitätIn mehr als 2 Jahren keinerlei Performance, Quality-IssuesNoch nicht bewertbar
Playground[https://playground.xapi.pro/login](https://playground.xapi.pro/login) [https://labs.ig.com/sample-apps/api-rest-companion-release/index.html](https://labs.ig.com/sample-apps/api-rest-companion-release/index.html)


Das Umschreiben ist nach ersten API-Abgleich möglich, zwingt mich aber tatsächlich komplett den Broker zu wechseln. XTB hat neben der API eine Reihe von Vorteilen, die ich jetzt leider aufgeben muss.

PS: Hintergrund ist, dass die xAPI-Schnittstelle zu wenig genutzt wurde! Ich würde es gut finden, hier eher Partnerprogramme auszubauen und Entwickler zu motivieren, Beispiellösung auf Basis der API umzusetzen, statt im KI-Zeitalter Datenschnittstellen zu deaktivieren.

15. Februar 2025

Umstieg von Jetbrains IntelliJ auf VSC

Dies hat nur bedingt mit inhaltlichen Weiterentwicklungen zu tun, aber sehr viel mit AI-Coding-Agent basierter Entwicklung. Ich bin nun motiviert durch die Nutzung von RooCode, welches nur in VSC und nicht in IntelliJ verfügbar ist (wie andere auch z.B. Cursor), komplett auf VSC umgestiegen. Dies bringt mir persönlich aber enorme Vorteile für die weitere Entwicklung:

  • Debug-Sessions sowohl für Backend, als auch Frontend-Komponenten funktionieren nun inkl. Debug-Console direkt in der IDE
  • AI-Agenten-Lösungen wie GitHub-CoPilot-Agents, RooCode, Cline sind ohne Einschränkungen nutzbar, ebenso wie alle Kernfunktionen von GitHub-CoPilot (Completations, Edits, Agents, Diffs)
  • GitHub und GitLab-Plugins gehen deutlich weiter als die Alternativen in IntelliJ
  • VSC Themes, Product, File-Icon-Themes erlauben eine charmante und weitgehende individualisierte Umgebung
  • Nach etwas Eingewöhnung gefallen die Plugin-Alternativen (sftp statt Deployment etc.)


Inhaltlich sind keine wesentlichen Anpassungen neben Bugfixing vorgenommen worden inkl. rsync-Umstellungen für den build&deploy-Mechanismus (ja ich benutze keine Git-Pipeline).

12. Januar 2025

Aufbau eines AI-Risk-Managements

Es ist nun möglich das Trading auf Mirroring inkl. AI-Risikomanagement umzustellen. Damit werden Trades nur in die bestätigte Richtung (Long, Short) bzw. vorübergehend ausgesetzt (Wait). Zusätzlich legt das Setup fest, ob Positionsgrößen aktuell auf High-Volume oder Minimal-Volume bzw. Standard gesetzt werden sollte.

image.png

Nur die UI/Frontend-Seite sieht dann im Ergebnis so aus d.h. es wird die Marktsituation (editierbar) und der Risikomodus (editierbar) dargestellt. Als Zusatzinformationen erscheinen die Herleitung und die Volatilitätswerte in den zeitlichen Rahmen 15min, 30min und 60min. Die Anzeigen erfolgen dabei ohne Verzögerung im Frontend und werden aktuell alle 3h aktualisiert.

image.png

image.png

Ob dieses neue Setup wirklich ein Performance-Boost sein kann, wird sich herausstellen. Auch die Vorhersage-Qualität, die aktuell auf Basis der Faktor-Map, die letzten News und die Volatilitätswerte beruht, wird weiter optimiert werden müssen.

Als Experiment wird vorerst SimD2 auf AI-RiskMgmt umgestellt. Mal schauen ...

Aufbau einer API-Swagger-Dokumentation

Die Middleware wird zunehmend komplexer und ich habe daher eine Swagger-Dokumentation erstellt, die alle verwendeten Methoden inkl. Beispielen, Try-Out-Funktionen, Return-Codes beschreibt. Das System ist mittels API-Keys gesichert. Die Swagger-Dokumentation ist mit einer Plan-Collect-Run Methodik mit Aider als KI-Agenten-Lösung umgesetzt.

image.png

30. Dezember 2024

Integration weiterer LLM-Provider in der API-Middleware zur Kostenoptimierung

Für die News-Workflow-Aufbereitung, Chart-Analyse und weitere integrierte KI-Funktionen, können nun weitere LLM-Provider genutzt werden und über Parameter-Steuerung angesprochen werden in den API-Requests.

Der Support ist sowohl aus Leistungs- als auch aus Kosten-Optimierungs-Gesichtspunkten sinnvoll.

ModelInput-Token-Kosten M/Token Output-Token-Kosten M/TokenAnmerkungen zur Qualität News-AnalyseAnmerkungen zur Chart-Analyse
Mistral Large 24.111.8€5.4€4 / 51 / 5
Claude 3.5 Sonnet3$15$4 / 54 / 5
Claude 3.5 Haiku0.8$4$3 / 52 / 5
GPT-4o-mini0.15$0.6$3 / 51 / 5
Gemini 2.0 Exp Flash0$ (temporär)0$ (temporär)5 / 54 / 5


Das Setup wurde daher konsequent von Claude 3.5 Sonnet auf Gemini 2.0 Exp umgestellt. Die aktuell knapp 100€ / Monat sind damit deutlich reduziert.

Automatische Auswertung der Success | Fail - Strategien

Die Auswertung erfolgt nun direkt im Frontend mit einem Filter. Dennoch werden die Strategien nicht automatisch aktiviert oder deaktiviert und unterliegen nochmals einer Sichtprüfung.
# Success
PF>=1x & DD<5% & S>=0.06 & HR>20 & P>150

# Fail
PF<1x | DD>=5% | S<0.06 | HR<=20
Dabei stehen die Abkürzungen für:
  • PF - Profit-Faktor
  • DD - Drawdown
  • S - Sharpe-Ratio
  • HR - Hit-Rate
  • P - Profit

17. November 2024

Performance-Optimierungen

Die Symbol-Slider werden jetzt nur noch im Lazy-Modus nachgeladen, je nachdem ob ein Slider-Element in den Viewpoint (Sichtbereich) rutscht. Die Anzeigen lassen sich zudem in der Anzeige, Filter High-Volume und in der Anzeige der AI-Predictions gezielt steuern. Alle API-Requests werden nur bei Bedarf ausgeführt. Die Gesamt-Anzahl der aufrufenden Daten ist damit deutlich reduziert.

AI-Predictions (einige Posts zuvor) sind dabei speziell berechnete Indikatoren, die mittels Chartdaten aus verschiedenen Zeitebenen, News und Faktoren-Map eine Ableitung für Short | Long | Wait - Positionierungen generieren. Die Indikatoren arbeiten eher auf der mittelfristigen Ebene im Trading-Sinne d.h. haben eine Verzögerung von 4h bei Trendwechseln auf Wochenebene.

image.png

Trade-Statistik mit Tagesauswertung

Die Trade-Statistiken lassen sich für den letzten Handelstag auswählen. Da je nach Handelsstrategie in den Simulationskonten noch Trades von vorherigen Tagen offen sind, erlaubt dies einen einfacheren Vergleich der Tagesperformance per Klick.

image.png

Briefing-Performance-Analysen nun auch für Week und Monat

Die Briefing-Performance-Informationen auf dem Dashboard sind jetzt schlanker und gleichzeitig noch deutlich aussagekräftiger, da D, W, M, Y zur Verfügung stehen. Hier für die Simulationskonten als Beispiel.

image.png

1. November 2024

Symbolslider mit Last-Strategie-Events

Innerhalb der Symbol-Slider-Komponente werden die zuletzt generierten Events angezeigt. Neben der Anzeige der Detailinformationen wird auch ein Re-Entry angeboten d.h. der einfache Wiedereinstieg insb. für ungünstige und zu schnelle Ausstiege (Stopps, Manuelle Exits etc.)

image.png

Symbolslider nun auch mit Tages-Abstands-Anzeige und %, Euro-Wertberechnung

Um leichter mit den vergangenen Events arbeiten zu können, sind nun zusätzlich sowohl die Prozent- als auch die absoluten Euro-Werte dargestellt pro Strategie. Um es zeitlich besser einordnen zu können, wird mit Punkten signalisiert welcher zeitliche Abstand vom Event zu Heute vorhanden ist.

image.png

Monats-Statistiken

Es wird nun neben den Tages, Wochen-Statistiken auch die Auswertungen auf Monatsebene angezeigt. Hier am Beispiel vom Simulationskonto SimD1:

image.png

12. Oktober 2024

Re-Setup AI-Prediction-Trades

Über den Play-Button kann die AI-Prediction als Strategie auch nochmals aktiviert werden als Trade. Der Trade wird direkt mit der AI-Strategy verbunden. Hintergrund ist, dass die Stoppkurse manchmal die Position frühzeitig schließen. Das System eröffnet aber eher selten d.h. immer nur bei Direction-Change. Für US100 hier seit 04.10. nicht gegeben.

image.png

Sum-Up der Absicherungen (Stopp-Level)

Um nicht nur den aktuellen Wert zu kennen, sondern auch das Absicherungs-Niveau aller Stopp-Loss-Positionen, wird dieser Wert nun ebenfalls aggregiert dargestellt.

image.png

Stopp-Wert-Setzung manuell für alle Portfolio-Werte nachziehen

Mit Klick auf das Wohlfühl - Sonnensymbol können innerhalb eines Kontos nun alle Positionen im Stopp-Kurs manuell explizit nachgezogen werden mit den Default (automatisch justierten) Stopp-Kurs-Werten. Für 30-Werte dauert dies ca. 10s. Die Setzung wird vollständig geloggt und erfolgt unter Nutzung der ohnehin vorhandenen Stopp-Kurs-Logiken.

image.png

Stopp-Nutzung und automatische Setzung aufgrund der historischen Volatilität

Die Stopp-Setzung bleibt weiterhin im Algotrading-System die Achilles-Ferse, wo sich der Erfolg und Nicht-Erfolg im Handeln zeigt. Es wird nun nicht mehr ein Stoppkurs verwendet, sondern unterschieden nach:

  • Symbol
  • Timeframe
  • CMD d.h. Short oder Long
  • High-Volume und Default-Trade-Volume


Dabei werden auch die Max-Loss-Werte in der Depotwährung (hier in €) berechnet, um nicht die abstrakten Stopp-Pips zu betrachten, sondern die relevanten Depot-Auswirkungen.

Die Stoppwerte werden dabei auf Basis von historischen Chartkursdaten und Percentile-Werten berechnet. Eine weitere Dynamisierung mit aktuellsten Kursdaten-Mustern ist denkbar, aber macht die Nutzung eher komplizierter. Die berechneten Werte werden für alle "autoupdate" - Konstellationen d.h. dort wo ich es nicht explizit manuell steuern will, automatisch übernommen und gesetzt. Die Stoppwerte sind damit keine "Bauchwerte" mehr bzw. explorativ ermittelte Werte.

image.png

Absolute Stopp-Werte (ergänzend zu den Pip-Werten)

In der Briefing-Portfolio-Ansicht werden nun zusätzlich zu den Pip-Werten der Stopp-Kurse auch die € Werte angezeigt. Hierzu wird automatisch 1x Tag im Backend eine Vorberechnung mit den aktuellen Währungsdaten für die Value-per-Pip-Werte vorgenommen, so dass die Werte hier performant direkt in der Middleware ins Frontend gegeben werden können zur Anzeige ohne spürbare Verzögerungen für die Berechnungen.

image.png

AI-Prediction-Strategie-Updates

Die durch AI aus den Kursdaten, Nachrichten und weiteren Infos generierten Signale sind jetzt auf 240 statt 60er Zeitfenster konfiguriert, womit auch die Stoppkurse großzügiger sind. Die Ergebnisse der Strategien sind vielversprechend, aber noch nicht aussagekräftig aufgrund des kurzen Zeitfensters und vor allem der nun veränderten Stopp-Strategie. Die aktuell gesetzten Werte waren viel zu klein gewählt bzw. das Volume auch zu groß. Dies ist angepasst.

3. Oktober 2024

Neuer Indikator: VolaMTF

Ein neuer Indikator ist nun eingerichtet. Allerdings wird erst der Produktionsbetrieb zeigen welche Performance hiermit möglich ist.

image.png

28. September 2024

Entry-Level-Optimierungen durch Profit-Kurven-Betrachtungen

Es ist leider nicht trivial über den Kurs/Profit-Lauf von Trade-Positionen eine gezielte Optimierung bis hin zu halbautonomen Optimierungen zu realisieren. Zunächst müssen die Profit-Werte als Snapshots aus den Trades gespeichert werden. Danach müssen diese wie hier dargestellt vom Entry- bis Exit-Zeitpunkt aufbereitet werden. Und dann muss das eigentliche Kernziel erreicht werden, eine automatische Berechnung, welcher Entry-Level in diesem Marktumfeld optimal ist, um unnötiges Trading zu vermeiden ohne wirkliche "Treffer".

Es sind hierbei nur "Wetten" und Vergangenheitsbetrachtungen, trotzdem zeigen sie eindeutig, dass in Seitwärtsphasen ein justierter Wert einen enormen Unterschied in der Gesamtperformance im Portfolio macht. In diesem Beispiel sind mit einem Entry-Level von 29€ ein Vorsprung von 305€ gegenüber einem einfachen 0€ Entry-Level vorhanden!

image.png

21. September 2024

Notifications

Fehler z.B. bei Closed-Markets etc. werden nun direkt in der Headline angezeigt. Zudem erscheinen im Tradelog die Einzel-Positionen und Stopp-Postionen chronologisch für einen schnellen ersten Überblick.

image.png

Refactorings der Logs und Monitoring-Daten

Alle Logs sind jetzt systematisiert und neu strukturiert über interne Objektstrukturen abgelegt, so dass die Log-Daten in der Datenbank grundsätzlich korrekt als JSON-Informationen gespeichert werden können.

Die Mirror-Log-Daten können damit nun zuverlässig und korrekt auch die Stopp-Changes und Trade-Stats zeigen.

image.png

1. September 2024

Upgrade der Compute-Power auf dem ML-Server

Nach langem Ringen bin ich nun auf eine neue Server-Architektur gewechselt, die mich gegenüber der vorherigen Leistung deutlich besser stellt. Der Umstieg erfolgte nun innerhalb eines Tages. Hauptmotivation ist es mit deutlich größeren Logdaten arbeiten zu können d.h. noch mehr Leistung auf die Datenbank zu bekommen.

Neues ...

Bisheriges Setup

CPUIntel(R) Xeon(R) E-2286G CPU

@ 4.00GHz 12 cores

Intel(R) Xeon(R) CPU E3-1230 v3

@ 3.30GHz

8 cores

Disk2x 1TB SSD2x 512GB SSD
RAM64 GB32 GB


Kleinere Korrekturen waren nach dem Upgrade notwendig:

  • Abgleich zwischen XTB-Trades und internem Trading-Logbuch war gestört, da der Server auf UTC+0 eingestellt war und durch die 2h-Zeitverschiebung zu fehlerhaften Matches führte bzw. S/L-Positionen nicht automatisch korrigiert werden konnten.

Umzug auf shareholder24.com für Shareholder

Dies hat nur wenig mit dem Algobot zu tun, dennoch hat es mich einiges an Zeit gekostet. ShareHolder wird nun auf shareholder24.com statt shareholder24.de gehostet.

31. August 2024

Erste echte KI basierte Strategie(n)

Auf Basis von relevanten Daten für das Trading werden nun Trades ausgeführt.

image.png

Dabei wird eine Erklärung erstellt, die manuell im Frontend nachzulesen ist. Entscheidend ist jedoch, dass nun automatische Trades in Long/Short-Richtung für alle relevanten Titel vorgenommen werden. Hierzu wird aktuell im Abstand von 1hx eine KI basierte Markteinschätzung erstellt. Die Analyse dient dann als Grundlage für Trades mit der Option auch in einer Seitwärtsbewegung kein Trade auszuführen.

image.png

Nun auch mit Reasoning für alle berechneten Werte:

image.png

Stopp-Kurs-Management mit KI

Auf Basis der KI-Analysen werden auch 1x Stunde Stopps berechnet für Unterstützungsniveaus im Chart. Diese werden als "Vorschlag" verarbeitet und wenn diese besser als die bisherigen Stopps sind, werden diese umgesetzt in den Konten.

Das zugehörige Reasoning ist ebenfalls über die UI abrufbar:

image.png

Performance-Statistiken nach Uhrzeit und Wochentag mit Aggregationsebene

Die Tagesstunden- und Kalenderwochen-Analyse haben nun jeweils einen Week\* *und KW\** Eintrag, damit alle vorhandenen Datensätze aggregiert vorliegen und damit eine wirkliche Gesamt-Analyse direkt ablesbar vorliegt.

image.png

Automatisierte Strategie-Metrik-Berechnungen

Es wäre zu trivial Handelsstrategien nur danach zu bewerten, wie diese in der Gesamtperformance abgeschlossen haben. Es wird deshalb periodisch pro Strategie eine Strategie-Metrik-Berechnung durchgeführt, die im Ergebnis direkt in der Strategieübersicht angezeigt wird. Dies umfasst:

  • Hit-Rate
  • NetWin
  • Profit-Faktor
  • Sharpe-Ratio
  • Maximaler Draw-Down


wird für alle Strategien periodisch berechnet, so dass die Aktivierung von Strategien sehr fundiert erfolgen kann.

image.png

AI-Suggestions für alle Informations-Ebenen: Echtzeit-Trading-Coach

Es können nun praktisch an allen relevanten Stellen KI gestützte Analysen durchgeführt werden mit Handlungsempfehlungen für Optimierungen:

  • Aktuelles Portfolio
image.png
  • Durchgeführte Trades des Tages
image.png
  • Chartbild
  • Aktuelle Strategien
image.png
  • Kalender-Events und Wirtschaftsdaten


Dies ist ein enormer Sprung und macht aus der Lösung praktisch eine Echtzeit-Coaching-Lösung fürs Trading.

26. August 2024

KI-Daily-Briefing-per-Mail

Auf Basis von einem definierten Prompt und Übergabe der Trading-Daten wird nun ein automatisiertes KI-Briefing erstellt mit möglichen Hinweisen zur Optimierung. Das Briefing wird mind. 1x Tag erstellt und zugesandt.
Sie sind ein KI-Assistent, der mit der Erstellung einer täglichen Handelszusammenfassung und der Generierung von Handelshinweisen beauftragt ist. Ihre Aufgabe besteht aus zwei Hauptteilen: der Analyse der Handelsdaten und der Erstellung von Handelshinweisen basierend auf einer Faktorkarte und einem Ereigniskalender. Verwenden Sie Markdown zur Formatierung, einschließlich Überschriften und Listen.

Sie werden mit folgenden Eingabevariablen arbeiten:

<TRADE_HISTORY>
{{TRADE_HISTORY}}
</TRADE_HISTORY>

<TRADE_PORTFOLIO>
{{TRADE_PORTFOLIO}}
</TRADE_PORTFOLIO>

<LATEST_FACTOR_MAP>
{{LATEST_FACTOR_MAP}}
</LATEST_FACTOR_MAP>

<CALENDAR_LIST>
{{CALENDAR_LIST}}
</CALENDAR_LIST>

Beachten Sie, dass CMD=0 immer eine Long-Position und CMD=1 eine Short-Position darstellt.

Teil 1: Analyse der Handelsdaten

1. Analysieren Sie die Liste der abgeschlossenen Trades (TRADE_HISTORY) und die Liste der noch offenen Trades (TRADE_PORTFOLIO). Beide sind im JSON-Format.

2. Extrahieren Sie folgende Informationen aus jedem Trade:
   - Datum (verwenden Sie das Feld exit_time)
   - Symbol
   - Strategie
   - Handelsvolumen
   - Gewinn/Verlust
   - CMD d.h. die Art der Trades (Long, Short)

3. Berechnen Sie folgende Statistiken für den Tag:
   - Gesamtzahl der Trades
   - Gesamtgewinn/-verlust
   - Anzahl der gewinnbringenden Trades
   - Anzahl der verlustbringenden Trades
   - Gewinnquote (Prozentsatz der gewinnbringenden Trades)
   - Am häufigsten gehandeltes Symbol
   - Am häufigsten verwendete Strategie

4. Erstellen Sie eine Zusammenfassung im folgenden Format:

markdown ## Tägliche Handelszusammenfassung

25. August 2024

Sharpe-Ratio, Sortino-Ratio, Max-Drawdown und Perf/Y

In der Performance-Darstellung werden nun auch Portfolio-Performance-Werte dargestellt inkl. (I)-Icons für die Berechnungsgrundlage.

image.png

Max Margin-Level-Berechnungen und Statistiken

Um die notwendige korrekte Kontenhöhe bestimmen zu können, wird die Summe der notwendigen Margins benötigt. Diese werden nun zusammengestellt.

image.png

Dynamisches Nachladen von Nachrichten

Die Nachrichten werden jetzt erst mit Aufklappen geladen, um den Traffic weiter zu reduzieren und das Problem von evtl. überladenen Styles auch zu reduzieren.

Multi-Performance-Analyse

Alle Performance-Werte können nun von allen Konten übereinander gelegt werden für einen direkten Vergleich. Dabei wird initial immer nur das ausgewählte Konto gezeigt. Die Anzeige kann in absoluten € Daten oder % relativ benutzt werden.

image.png

Manuelle Setzung von Trailing-Stopps und Initial-Stopps

Zur Verifikation des aktuellen Status der gesetzten Stopps, werden diese nun auch direkt in der Übersicht dargestellt. Zudem können direkt aus der UI heraus diverse Stopp-Varianten gesetzt werden. Dies betrifft insb. Trailing-Stopps und fixierte Stopps. Dabei kann auch ein Bruchteil als 1/2 oder 1/3 des Std-Stopps verwendet werden.

image.png

23. August 2024

Trade-Darstellungen nun gruppiert nach Symbol

Um Klumpenrisiken auch grafisch schnell erkennen zu können, wird nun eine gruppierte Darstellung genutzt für alle offenen Positionen.

image.png

Delta-Abgleich vom P1-Konto zu anderen Simulationskonten

Um einen Quervergleich schnell und effektiv machen zu können, von den Live-Ständen und den Simulationskonten, wird in den offenen Trades automatisch ein Delta-Abgleich gezeigt mit Auswahl des gewünschten Vergleichskontos. Auch hier werden die Positionen nach der genutzten Strategie gruppiert dargestellt.

image.png

Abgeschlossen Trades auf der Briefing-Seite

Alle abgeschlossenen Trades werden nun inkl. Kontoauswahl, Suchauswahl und Wahl eines Zeit-Fensters ebenfalls auf der Startseite (Briefing) dargestellt. Die Positionen werden dabei nach Strategie gruppiert. Die Limits sind zudem nun bei 5000 darstellbaren Positionen inkl. "Pagination" mit 500 Elemente. Dies ist insb. für das D2-Konto mit allen verfügbaren Strategien relevant. Die Elemente werden dabei als "Accordion" platzsparend dargestellt, so dass man sich bewusst für das Ein-Ausklappen entscheiden kann.

image.png

News nun mit verschiedenen Quellen insb. Stockstreet, Handelsblatt, Bernecker

Um nicht nur XTB-Nachrichten für die Faktor-Map und für die Tagesauswertungen nutzen zu können, sind nun über ein N8N-Workflow, der ohnehin existierte für die automatische Vorverarbeitung von Newslettern, auch eine Seitenausspielung in Richtung der News-Datenbank für den Algobot vorgenommen. Dies ist aus verschiedenen Gründen relevant:

  • Zugriff über Smartphone auf relevante Nachrichten-Quellen
  • Faktor-Map nutzt die neuen verfügbaren Informationen zur Berechnung des aktuellen Markt-Score-Wertes
  • Tageszusammenfassungen berücksichtigen ebenfalls die neuen Nachrichten-Formate
  • Fun-Fact: Die Daily-Summary die als Mails versendet wird, berücksichtigt ebenfalls diese neuen Informationsquellen


image.png

Kalender-Darstellungen nun mit deutlicher Hervorhebung der tagesaktuellen "Ereignisse"

Um schneller die für heute relevanten Kalender-Einträge zu erkennen, werden diese neben einem Tages-Kalender-Icon auch mit einer farblichen Markierung sichtbar gemacht (alle anderen werden im Relevanzwert nur mit dem Prio-Wert erwähnt).

image.png

Langfuse-Integration ausgebaut

Die Integration der Prompt-Verwaltung, des Tracings und des Monitorings wurde weiter ausgebaut, so dass ich ein sauberes Konzept zur Pflege und Optimierung der Prompts inkl. Versionierung und Kostenkontrolle habe. Spätere Optimierungen in Richtung LLM-Proxies sind damit gut vorbereitet.

image.png

N8N-Workflows auf Langfuse und Bot-API umgestellt

Hier wird die automatische Mail-Newsletter-Verarbeitung gezeigt. Dabei werden folgende Schritte durchlaufen:

  • Zusammenfassung der relevanten Inhalte der Nachricht
  • Klassifikation des Mailinhalts
  • Relevanz-Score-Berechnung
  • Für alle Trading-relevanten-Inhalte Übernahme der Inhalte auch in den Algobot-Nachrichten-Stream


image.png

Gesamtarchitektur v3

Mit den Änderungen ergibt sich damit folgendes Gesamtbild für die Bot-Architektur unter Berücksichtigung der Anpassungen:

  • Umstellung auf Anthropic Claude 3.5 Sonnet
  • Versionierung der Prompts
  • N8N-Datenquellen-Zuspielungen
  • Algotrader-UI-v1 nur noch aus Nostalgie-Gründen enthalten (Deprecated)


image.png

Performance-Optimierungen

Durch Optimierung der AXIOS-Aufrufe, Promise-Parallelisierungen und Pool-Settings, sowie Umstellung des Nachrichten-Abrufs aus der DB statt Live von XTB ist die Performance deutlich optimiert, so dass die Startseite nun deutlich schneller erscheint.

Wechsel des Kontos führt nicht mehr zu einem Top-Scrolling

Die angezeigten Informationen sind mittlerweile sehr viel und umfangreich. Daher sind alle ungewollten Rücksprünge auf den Top-Anker sehr ungünstig im Sinne der Nutzerführung. Das Problem ist nun behoben.

ShareHolder auf Freemium-Version umgestellt

Technisch und inhaltlich hat ShareHolder mit dem Algobot nichts gemein. Dennoch ist die Börsensoftware ShareHolder für mich die Software für Anlage-Investments und -Management gewesen. Ich werde diese auch weiterhin pflegen, hier mich aber auf den Algobot konzentrieren, da es hier um finanzielle Freiheit geht und völlig andere Renditen verspricht, als die vorherigen rein Einzel-Investment und ETF-Ansätze.

3. August 2024

Systematische Prompt-Optimierungen

Aktuell werden die Prompts bereits versioniert und zentral verwaltet. Mit Wechsel eines Modells oder der Prompt-Version gibt es bisher aber nur Ansätze für eine automatische metrische Bewertung. Dies sollte automatisiert erfolgen können, um schematisch folgendes Konstrukt umsetzen zu können. Die Umsetzung muss aber noch bis zu meinem Urlaub warten ...

> You are tasked with comparing and analyzing different outputs from various prompt libraries. Your goal is to create a step-by-step analysis and provide an overall evaluation, optimizing for accuracy, semantic proximity to the original information, and clarity. > > Here are the prompt outputs to analyze: > > <prompt\_outputs> > {{PROMPT\_OUTPUTS}} > </prompt\_outputs> > > Follow these steps to complete the task: > > 1\. Analyze each output version separately. For each version: > > a. Assess the accuracy of the information presented > b. Evaluate how closely the output maintains the semantic meaning of the original information > c. Judge the clarity and coherence of the output > > 2\. For each aspect (accuracy, semantic proximity, clarity), use a scale of 1-10, where 1 is the lowest and 10 is the highest. > 3\. After analyzing each version, compare them to identify strengths and weaknesses. > 4\. Create an overall scoring system that combines the individual scores for accuracy, semantic proximity, and clarity. You may weight these factors if you believe some are more important than others. > 5\. Provide a final evaluation that summarizes your findings and explains your reasoning for the scores given. > 6\. Present your analysis and evaluation in the following format: > > <analysis> > \[Your step-by-step analysis for each output version\] > </analysis> > > <scoring\_system> > \[Explanation of your scoring system, including any weighting of factors\] > </scoring\_system> > > <final\_evaluation> > \[Your overall evaluation and reasoning\] > </final\_evaluation> > > <overall\_score> > \[The final numerical score based on your evaluation\] > </overall\_score> > > Remember to justify your reasoning throughout the analysis and provide clear explanations for your scores. Be objective and thorough in your evaluation.

Umstellung von GPT-4o auf Claude 3.5 Sonnet

Intern sind alle GenAI-Use-Cases umgestellt von GPT-4o auf Claude 3.5 Sonnet, da die Antworten durchgängig von besserer Qualität und Genauigkeit sind. Dies betrifft die News-Zusammenfassungen, Faktor-Map und die Score-Berechnung aus der Factor-Map für den aktuellen News-Stream. Die Prompts sind zudem systematisch optimiert.

Faktor-Map mit Timeline

Die Score-Werte sollen für eine Einordnung in einem Liniendiagramm visualisiert werden inkl. farblicher Gradient-Graphen-Darstellung für eine bessere Lesbarkeit der Visualisierungen. Auf dieser Basis kann dann geprüft werden, ob weitere Optimierungen notwendig sind und ob eine Filterfunktion produktiv sinnvoll ist.

Die ersten 5 Datenpunkte liegen jetzt bereits vor inkl. von gestern Abend (wird immer täglich automatisch berechnet). Die Betrachtung ist "nachlaufend" d.h. dient ausschließlich der Primärtrend-Betrachtung. Ob und wie hier eine Verzahnung mit dem Trading-Setup erfolgen kann, ist noch offen.

image.png

Hinweis: Screenshot am 23.08. nochmals aktualisiert, da hier dann mehr Datenpunkte vorlagen.

Nested-Accordion-Darstellungen für die News

Nachrichten werden nun ein-ausklappbar dargestellt auf Wochentag-Basis. Dies erleichtert die Darstellung erheblich insb. auf kleinen Bildschirmen bzw. Smartphones. Im Default wird hier immer der Tag geöffnet und die Darstellung ist damit deutlich übersichtlicher und lesbarer geworden.

image.png

Tabellen-Optimierung auf Basis von Media-Breakpoints

Erst XXL-Auflösungen mit mehr als 2000px zeigen nun in der Tabellenansicht die kompletten Details. In den anderen Auflösungen wird eine reduzierte Variante gezeigt. Damit reduzieren sich die dargestellten Informationen auf das Notwendige. Die eigentliche Optimierung der Strategien erfolgt ohnehin auf dem Hauptbildschirm mit Ultra-Wide-Auflösung.

image.png

Darstellung der Erfolgswahrscheinlichkeiten deaktivierbar

Die Wahrscheinlichkeitsdarstellung ist sehr platzintensiv und macht die Darstellungen unnötig komplex. Sie sind deshalb nun deaktivierbar in der Darstellung. Im Default sind diese dabei ausgeschaltet.

image.png

LLM-Qualitätssicherung

Gleichzeitig werden die Prompts mit verschiedenen QS-Metriken bewertet (gpt-4o-mini). Es wird dabei nur das kleine Modell von OpenAI verwendet, da die Genauigkeit ausreichend ist und die Kosten nur ein Bruchteil von gpt-4o sind. Hier sind [https://openai.com/api/pricing/](https://openai.com/api/pricing/) 15$ vs. 0.6$ für 1M-output-tokens und 5$ vs. 0.15$ für input tokens. Dies macht durchaus einen sehr großen Unterschied und ist für die QS hinreichend.

  • conciseness
  • hallucination
  • relevance


image.png

Langfuse-Prompt-Verwaltung

Die Reihen der Anwendungsfälle für GenAI im Algobot wächst zunehmend, so dass ich die Prompts hier systematischer verwalten möchte. Hierzu gehört eine gescheite Versionsverwaltung, Playground und automatisches Scoring. Durch die Verbindung der Tracing-Daten mit den Prompts, lassen sich gezielt auch Filter nutzen bzw. die DataSets besser handeln für spätere automatische Batch-Runs zur Optimierung. Das Feld hat noch sehr viel Potential.

image.png

Alle relevanten Prompts sind nun direkt in Langfuse verwaltet, versioniert und mit dem Tracing auch verbunden.

image.png

Langfuse

31. Juli 2024

Faktor-Map

Ab sofort werden Einfluss-Faktoren aus dem News-Stream generiert und in einer Treemap visualisiert. Anschließend wird der aktuelle News-Stream nochmals für die Einfluss-Faktoren bewertet und so ein Score zwischen -50 ... +50 berechnet d.h. zwischen Short und Long-Signal-Trendausrichtungen. Die Berechnung erfolgt täglich und der Score-Wert wird damit historisch archiviert.

Die Trades auf einer Simulations-Stage sollen in Kürze darauf ausgerichtet gefiltert werden und so prüfen, ob dieser Vorfilter nützt oder schadet.

Faktor-Map

Erfolgswahrscheinlichkeiten in den Statistiken

Für alle Stages und unterschieden nach Zeiteinheit werden Erfolgswahrscheinlichkeiten d.h. Trefferquoten dargestellt. Dies erlaubt die Statistiken nochmals besser einzusortieren und zu lesen.

Erfolgswahrscheinlichkeiten in den Statistiken

17. Juli 2024

Dynamische Farbwahl für die Chartdarstellungen

Um optisch etwas interessanter zu wirken, werden die Farbcodes nun dynamisch berechnet auf Basis der Change-Rate.

Dynamische Farbwahl für die Chartdarstellungen

16. Juli 2024

Stageview

Mit aktiviertem Stageview werden alle Ansichten angepasst auf die virtualisierten Trading-Account-Ansichten d.h. der Anzeige von D1, D2, SimD1, SimD2. Bei deaktivierter Stageview-Ansicht wird P1, P2 angezeigt. Hier im aktivierten Dark-Mode.

Die Stageview ist dabei persistent zwischen allen Ansichten umgesetzt, so dass die Einstellung bei Anpassungen App-weit gilt.

Stageview

Trading-Statistiken zwischen den Stages

Die bisherige Ansicht für den Vergleich der Long-Short-Positionen in den Stages ist nun ebenfalls optimiert und leichter vergleichbar.

Trading-Statistiken zwischen den Stages

Kalender-Ansicht mit farblichen Kodierungen

Im Vergleich zwischen Prognose und aktuellem Wert werden Veränderungen optisch hervorgehoben je nachdem, ob eine +5, +10 oder -5, -10% Schwelle genommen worden ist.

Kalender-Ansicht mit farblichen Kodierungen

Performance-Statistiken nun mit Heatmaps

Um die Performance in der Stunden- und Wochentag-Sicht deutlich zu optimieren, werden nun Heatmaps genutzt zur Visualisierung.

Performance-Statistiken nun mit Heatmaps

Kalender-Ansicht ohne Konfigurationen

Die Konfigurations-Ansicht wird nur noch im Stageview aktiviert. Dies erhöht die Lesbarkeit und Fokussierung auf die Fakten und nicht immer notwendig sichtbaren Konfigurationen.

Kalender-Ansicht ohne Konfigurationen

Chart-Ansichten mit Konto-Wechsel für alle angezeigten Charts

Die Chartbilder können für alle vorhandenen Konten nun direkt angezeigt und gewechselt werden. Dabei wird auch durch die notwendige Ladezeit die Auswahlbox während des Ladevorgangs für Nutzereingaben gesperrt. Dies verhindert unnötige Behinderungen.

Chart-Ansichten mit Konto-Wechsel

6. Juli 2024

Optimierung Codebasis

  • Mittels Continum.DEV und GPT4o sind weite Teile des Codes nun optimiert, modularisiert und resilienter im Detail
  • Konsolidierung der OrderHandler-Initialisierung
  • Verbesserte Verwaltung von OrderHandler-Instanzen
  • Market-Graph-Komponente in Sub-Komponenten aufgeteilt und eine bessere Namensgebung verwendet

Stopp-Optimierungen auf Code und Indikatorenbasis

  • Alle Stoppkurse wurden per Stichprüfung manuell optimiert d.h. die vStopp (SAR)-Indikator ist neu justiert auf größeren Zeiteinheiten
  • SimD1 und SimD2 werden bei vStops nun ebenfalls berücksichtigt

Charts mit Trading-Annotationen

Es können nun gleichzeitig alle relevanten Märkte angezeigt werden in der Charts-Ansicht. Dabei werden alle Annotationen wie gehabt angezeigt und gleichzeitig können nun mit einer Auswahl alle refID-Einstellungen gleichzeitig verändert werden.

Charts mit Trading-Annotationen

Symbol-Slider in Position und Verhalten optimiert

Die Symbole werden mit Mini-Chart nun direkt unterhalb der Portfolio-Daten/Statistiken angezeigt in einer Slider-Komponente d.h. diese können per Drag&Drop bewegt werden. Je nach Bildschirmgröße werden bis zu 11 Charts parallel dargestellt.

Symbol-Slider in Position und Verhalten optimiert

# Algobot-Releases - August 2024

Das Logbuch wird von oben nach unten geführt, so dass die aktuellsten Einträge immer oben stehen. Das ganze System ist ausschließlich (vorerst) für meine private Nutzung. Ich dokumentiere hier nur meinen Fortschritt und Erkenntnisse. Es geht dabei gar nicht um die Ergebnisse selbst, sondern sich selbst nur einmal klar zu schreiben und die eigenen Gedanken etwas zu strukturieren. Ich selbst bin hauptberuflich als PO tätig und daher kein Hard-Core-Entwickler. Ich habe aber Spaß daran, die Sachen für mich zum Laufen zu bringen und meine Dev-Skills nicht komplett einrosten zu lassen.

30. Juni 2024

Detail-Chart-Konfiguration

Viele Einstellungen für die Charteinstellungen sind nun direkt sichtbar und nutzbar:

  • Ein/Ausblenden der Transaktionsliste zum aktuellen Titel/Markt unterhalb des Chats
  • Ein/Ausblenden der Transaktionen direkt im Chat
  • Ein/Ausblenden der Wirtschaftstermine direkt im Chart
  • Ein/Ausblenden der Deadzones d.h. der berechneten volatilen Seitwärtsphasen
  • Umschalten zwischen verschiedenen Zeiteinheiten
  • Weitere Chartzeiträume zur Auswahl insb. wenn größere Zeiteinheiten wie Tage gewählt werden


Detail-Chart-Konfiguration

Automatische Wiederholung von Trades in bestimmten Fehlerfällen

Für bestimmte Fehlerfälle bei automatisch ausgeführten Trades auf Produktion wird nun bis zu einer konfigurierbaren Grenzen der Trade nochmals versucht. Die Steuerung erfolgt über ein CronJob d.h. er kann in beliebigen zeitlichen Abständen und Zeitpunkten erfolgen. Aktuell ist das Setup max. 3 Tage zurück (Wochenende) der Wiederversuch max. 24x jeweils zur vollen Stunde für folgende Fehler:

  • E:4 - Not enough money
  • E:1 - Request has a pending state
  • E:4 - Market closed
  • E:4 - FIX - Other


Hintergrund ist, dass wiederholt gute Trades "verloren" gingen aufgrund von temporären Problemen.

Die Informationen werden auch im Monitoring angezeigt und können nun einfach gesucht werden.

Automatische Wiederholung von Trades

Die Aktivierung eines möglichen Re-Try-Mechanismus wird nicht global eingeführt, sondern wird bewusst nur für bestimmte Strategien aktivierbar gemacht. Der aktuelle Status wird auch im Frontend angezeigt als letzte Spalte:

Automatische Wiederholung Frontend-Anzeige

Differenzierte Strategie-Sicht zwischen Trading und Investment

P1 wird die Trading-Strategien darstellen und das P2-Konto die Investment-Konten. Im Strategieboard werden diese nun ebenfalls differenziert dargestellt.

Differenzierte Strategie-Sicht

Detail-Optimierungen

  • Bot-Monitor hat eine verbesserte Detail-Suche, so dass auch gezielt nach Datum, Fehlermeldungen, States gefiltert werden kann
  • Wochen-Modus im Business-Kalender nun als Default und optimierte Schriftgrößen-Darstellung
  • JSON-Log-Ausgaben optimiert
  • Chart-%-Veränderungen nun mit korrektem Verhalten auch an Wochenenden und gleichwertig zwischen Slider und Chart-Market-Anzeigen
  • Schriftgrößen im News-Bereich harmonisiert
  • Updates to Velzon: 4.1.0 von 2.2.0
  • equityFX statt equity für die korrekte Anzeige bei nicht CFD-Titeln

24. Juni 2024

Aktualisierung des Architekturbilds

Anpassungen:

  • + OpenAI-Assistants
  • + Langfuse-Monitoring
  • + SimD1, SimD2-Mirror-Accounts
  • + Mobile | Desktop-Usage
  • + Trailing-Stopp-Level

Harmonisierung der Strategien

Die verwendeten Strategien sind jetzt nochmals alle im Zeitfenster und den Settings harmonisiert und aufgeräumt, so dass nicht relevante Modelle herausgenommen sind und die verwendeten Zeitfenster für das Trading (15min, 30min, 1h, 2h, 4h) weiter optimiert sind. Auch die Namensgebungen sind angepasst, so dass das Setup auf Datenseite ein sauberes Setup besitzt.

Tradingkonto (P1) und Investmentkonto (P2)

Bisher habe ich auf XTB das Trading-Setup laufen gehabt und auf Scalable-Capital dann hiervon getrennt die Investitionen in ETFs und Einzelaktien. Ich habe dies nun zusammengelegt und auch für die Kinder in jeweils eigene Sparpläne gepackt. Da beides dann über XTB läuft, lässt sich auch leicht eine transparente Sicht erreichen. Da der Transfer zwischen XTB-Konten in Sekunden funktioniert, lassen sich auch in der Anlagestrategie sehr dynamische Anpassungen vornehmen.

Besonders gefallen tut mir aber auch die Möglichkeit auf den ETF-Sparplänen Adhoc-Investments mit fester Größe vorzunehmen, ebenso wie automatisierte Umsetzungen von ETF-Investments, wenn auf das definierte Zielkonto eine Einzahlung von außen vorgenommen wird. Dies erlaubt mir die Einzahlung von außen mit automatischem Kauf nach Geldeingang und ist extrem flexibel.

Tradingkonto und Investmentkonto

Short-Long-Einstellung pro Strategie

Es ist nun möglich die Auswertung der Strategien getrennt nach Short-Long-Ergebnissen darzustellen. Gleichzeitig kann dabei auch pro Strategie und pro Stage (P1, D1, D2) entschieden werden welches Signalrichtung für die Strategie gelten soll. Dies ermöglicht die doch sehr unterschiedliche Trefferqualität deutlich differenzierter zu steuern. Bisher hatte ich die Trading-Signal je nach Richtung unterbunden, was aber im Sinne Transparenz und Steuerung unnötig ist.

Short-Long-Einstellung pro Strategie

Performance-Boost in der App

Ich habe mittels KI gestützte Refactorings d.h. Umbauten im Code deutliche Performance-Optimierungen durchführen können. Die Startseite baut nun die Einzelinhalte in weniger als 1.5s auf, was zuvor eher 5s gedauert hat. Ich habe hierfür "nativ" gpt4o genutzt und zuvor mit GitHub-CoPilot, Cody, Bito.AI und Jetbrains.AI verschiedene andere Optionen ausprobiert mit unbefriedigendem Ergebnis. Daher direkt GPT4o :) inkl. Git-Commit-Message, die durch die Reihe von Anpassungen direkt auch von dem LLM geschrieben wurde.

vStops umgestellt auf vStop-MTF

Die vStopps sind nun im Durchschnitt 1h von zuvor 30min Fenster umgestellt und gleichzeitig der zugehörige Berechnungs-Indikator (ATR-Basis) umgestellt. Dieser erlaubt eine bessere Handhabung auch von trendbestätigenden Signalen. Diese werden vorerst aber nicht benutzt.

20. Mai 2024

Nachrichten-Auswertung nun auf GPT4o

Die Nachrichten werden nun mit dem OpenAI-Modell: gpt4o statt gpt-4-turbo umgesetzt. Dies verdoppelt die Performance und halbiert die Kosten.

24. Januar 2024

Umstellung von Prompt-Wrangler auf GPT-Assistants

Da Prompt-Wrangler den Dienst eingestellt hat und gleichzeitig die Prompts auch deutlich besser in den OpenAI-Assistants gepflegt werden können, habe ich das Setup entsprechend umgestellt

Tracing und Cost-Tracking sowie LLM-Monitoring über Langfuse

Das komplette Tracking und Monitoring aller KI-Aktivitäten d.h. der News-Auswertung erfolgt nun über Langfuse. Mit meinem Datenvolumen ist dies auch im Free-Tier nutzbar.

Langfuse Monitoring

Bot-Settings

Über die Bot-Settings sind über die verschiedenen Stages und Mirror-Stages die individuellen Settings einsehbar inkl. den statistischen Ergebnissen. Dies vereinfacht die Kontrolle über alle Einstellungen hinweg.

Bot Settings

Strategien können ausgeblendet werden

Einige Strategien weisen sich als unzureichend in der Praxis. Diese können daher visuell nun direkt per Klick in der UI ausgeblendet werden. Sie sind dann allerdings nur noch über die DB wieder sichtbar zu stellen. Dies entspricht aber meinem Vorgehen und passt perfekt.

31. Oktober 2023

Manuelles Trading

So kann es aussehen, wenn manuelles Trading erfolgt :)

Manuelles Trading

Pivot-Points in einem Langfrist-Chart

Um immer wieder sich auch das Big-Picture am Markt klar zu machen ist nun ein Pivot-Point-Chart integriert. Dieser macht Pivot-Punkte sichtbar. Diese markieren Wendepunkte, die durch geschaffene Fakten oder Überzeugungen am Markt für relevante mittelfristige Kursbewegungen sorgen. Die Grundorientierung für bevorzugte Trade-Richtungen (Short|Long) soll damit unterstützt werden. Das Setup ist zunächst nur visuell zur manuellen Auswertung und hat noch keine direkte automatische Verankerung im System.

Pivot-Points Chart

27. Oktober 2023

Transaktionsstatistiken

Die Idee ist es das Long/Short-Ratio im Überblick zu sehen, um evtl. Ableitungen für sinnvolle manuelle oder später auch automatische Positionierungen zu machen z.B. nur noch Long-Only bei >75% auf D2. Das Setup wäre aber erheblich verzögert, könnte aber unnötige Trades in die falsche Richtung vermeiden. Ich würde es auf SimD1, SimD2 evtl. in den folgenden Tagen einmal ausprobieren.

Es wird eine 100% Skala verwendet für den Vergleich zwischen den verschiedenen Stages. Die effektiven Nominalwerte werden nur als Beschriftung angezeigt.

Transaktionsstatistiken

vStops reaktiviert

Um die Stopp-Kurse effektiver zu setzen bei Gewinn-Positionen und nicht nur BES und ein Trailing-Stopp-Einstieg ab einem bestimmten Niveau zu haben, wurden wieder vStops reaktiviert.

26. Oktober 2023

Strategie-Ansicht nun abhängig von der Displaygröße entweder als Grid oder Tabelle

In der Gesamt-Ansicht wird nun auch eine Tabellenansicht aktiviert, die es einfacher macht schnell eine konsistente Sicht zwischen den Daten zu erreichen. In Spalten lassen sich hier leichter notwendige Anpassungen erkennen, als im Grid-Modus. Auf dem Handy bleibt der Modus aber weiterhin parallel bestehen.

Performance-Logs werden nun durch DB-Einträge als Historie angezeigt

Performance-Logs

Startseite optimiert auf die Kerninformationen

Um eine bessere Übersicht auf der Startseite zu erreichen, werden verschiedene Einstellungen angepasst:

  • Kalendereinträge werden nur mit Impact >3 angezeigt. Die Gesamtansicht muss unter Kalender eingesehen werden
  • Deadzones sind in die Navigation verschoben
  • News werden begrenzt auf 4 Einträge pro Symbol (Spalte)

7. Oktober 2023

Optimierungen insb. für Responsive-Anzeigen

  • Add Symbols Google/Meta


Symbols Google/Meta

  • Jump-Anker, um einen schnelleren Sprung auf Mobil-Geräten zwischen den Navigationspunkten zu erlauben


Jump-Anker

  • Strategy-Details für Candlesticks, Bulls-Eye ergänzt
  • Strategy-Anzeige auch für aktuell nicht getradete Positionen angepasst

KI-Bot für Website und WIKI mit Option dies auch für den Algotrader einzusetzen

Setup mit Flowise, PgVector, SSL und Konfiguration inkl. Optimierungen der Vektorisierungen, um für die WIKI-Seite und der Shareholder-Website einen KI-Bot bereitstellen zu können. Dabei sollten auch Optionen für den ML-Algobot geprüft werden.

KI-Bot Setup

3. Oktober 2023

Einführung einer Toggle-History

Alle Anpassungen an Aktivierungszuständen der Strategien werden jetzt protokolliert, um "schnelle" Änderungen auch automatisch nachvollziehen zu können.

Toggle-History

Einführung eines Backtest-Protokolls

Das Protokoll wird auf Basis von Tradingview-Backtests erstellt und erlaubt eine Nachvollziehbarkeit und auch spätere systematische Auswertung. Das Mitführen von Excel-Listen/Wiki-Einträgen ist hier wenig hilfreich.

Backtest-Protokoll

Optimierung der Strategie-Parameter inkl. Protokollierung

Für L\* - Strategie wurde dabei für alle Symbole eine Optimierung der Strategie-Parameter vorgenommen. Die Settings sind im Backtest-Protokoll entsprechend protokolliert und durch die UI-Anpassungen auch unmittelbar dargestellt.

Chart und Transaktionslisten-Darstellung von Strategie-Einstellungen

Innerhalb der Darstellungen werden die Aktivierungsgrade als Badges dargestellt, ebenso wie die Konfigurationsparameter aus dem Backtesting (wenn die Strategie dies erlaubte).

Ziel ist es leichter verifizieren zu können, ob die Settings hier optimal sind.

Strategie-Einstellungen

1. Oktober 2023

Echtzeit-Realtime-Chartbilder

Die Chartbilder nutzen nun die Realtime-Chartdaten von XTB in allen Darstellungen. Durch den Refresh-Button kann es zudem von der UI jederzeit aktualisiert werden.

Darstellung von Trading-Positionen optimiert insb. um Haltedauer und Aktivitäten zu optimieren

Die Interpretation und Lesen des Trading-Tages ist nun deutlich vereinfacht mit:

  • Wechsel zwischen den Stage-Umgebungen direkt im Chart möglich
  • Refresh der Ansicht über eigenen Refresh-Button
  • Darstellung der Kauf/Verkaufszeitpunkte optimiert mit heller Beschriftung bei erfolgreichen Trades und dunkler Schritt bei Fails
  • Noch offene Positionen werden zusätzlich dargestellt
  • Ausstiegspunkte werden je nach Profit in der Kreis-Darstellung optimiert
  • Auswahl-Positionen für die gewünschten Zeiträume sind jetzt ebenfalls in eine Dropbox verschoben, damit die Darstellung auf dem Handy besser funktioniert.


Realtime-Chart Display

Im Learning sind ALLE News-Trading-Events mit "schließen" aller vorherigen Positionen deaktiviert. Diese sind im Chart mit "Calendar-Stop" im Label sichtbar und zeigen allein hier im Silber-Chart sehr viele unnötige vorzeitige Positions-Schließungen.

Calendar-Stop Events

24. September 2023

Trading-Modus: Mirror-Only-Modus zusätzlich möglich

Der Algobot kann ein Direkt-Trading vornehmen, oder über Mirroring von anderen Accounts arbeiten. Die Arbeitsweise ist unterschiedlich. Hinter dem Mirroring steht die Idee, dass zunächst "Gewinn-Schwellen" erreicht werden sollten, um in das Live-Trading überzugehen über verschiedene Stages.

Mirror Trading Mode

Spezifische Deaktivierung von Trailing und BES für Trading-Strategien

Bestimmte Strategien gehen immer nahtlos zwischen Long und Short-Setups über. Bisher wurden dabei über BES und Trailing-Stopps die Gewinnmitnahmen sichergestellt. Dies kann jedoch deutlich optimiert werden, wenn die Strategie selbst beim Wechsel die vorherige Position schließt.

Die Einstellung ist pro Trading-Strategie möglich. Gewinne werden dabei uneingeschränkt laufen gelassen.

Fehlermails bei Failed-Trading-Positions

Wenn beim Trading Fehler bei der Direkt-Ausführung von Trades erzeugt werden, wird automatisch eine Mail gesendet mit "algobot:error". Damit werden derartige Konstellationen "aktiv" gepusht und sind damit sichtbarer und können geprüft werden.

Error Mail Notification

Reaktiviere Kalender-Report in der V1-Version

Die Übersicht von den Kalenderdarstellungen ist sehr hoch, so dass nochmals in der UI-V1 die Darstellung wieder reaktiviert wurde. Die neue UI bleibt hiervon natürlich unberührt.

Calendar Report V1

17. September 2023

Trading-Modus: ALL-OFF

Es kann nun das komplette Trading in den "Trading-Modus: OFF" gesetzt werden. Damit werden das Mirror-Trading als auch Direkt-Trading deaktiviert.

Trading Mode All Off

Deaktiviere Trading und schließe Position bei volatilen Marktphasen getrieben durch anstehende Wirtschaftsnachrichten

Es kann jetzt das Trading bei anstehenden Wirtschaftsnachrichten mit hoher Volatilität und Nervosität des Marktes im Vorfeld aufgesetzt werden und optional auch alle bestehenden Positionen geschlossen werden. Genau diese Marktphasen zerstören eine zuvor mühsam aufgebaute Performance.

Deactivate Trading Volatile Markets

Kursbewegende Nachrichten mit starkem Überraschungspotential (Minus-Performance) deaktivieren

Der Bot kann regulär Trades deaktivieren und auch alle Trades schließen, wenn bestimmte Wirtschaftsnachrichten auftreten. Da hierfür bereits jetzt monatelange Erfahrungen vorliegen, können sehr simpel die Toggles automatisiert gesetzt werden. Es werden dabei alle Wirtschaftsnachrichten mehr als 500€ Minus deaktiviert.
INSERT INTO calendar_toggles (regEx, country, toggle_deactivate_new_trades, toggle_deactivate_high_volume_trades, toggle_close_all_positions_before, toggle_actiontime_minutes_window_after, toggle_actiontime_minutes_window_before)
select t.title, t.country, 1, 0, 1, 0, 0 from
    (select c.country, c.title, round(sum(t.profit), 2) as sum_profit, count(*) as cnt
     from calendar c
              left join `xtb-trades` t
                        on (t.entry_time >= date_sub(c.timestamp, INTERVAL 15 MINUTE) and
                            t.entry_time <= date_add(c.timestamp, INTERVAL 60 MINUTE)) or
                           (t.exit_time >= date_sub(c.timestamp, INTERVAL 15 MINUTE) and
                            t.exit_time <= date_add(c.timestamp, INTERVAL 60 MINUTE))
     where t.refID = 'D1'
       and t.profit <> 0
     group by c.country, c.title
     order by sum_profit desc
    ) t where t.sum_profit<-500
In der Oberfläche können diese dann automatisiert im Kalender eingesehen werden, hier am Beispiel von FED-Interest-Rate-Decision. FED Interest Rate Decision

Nach der Prompt-Optimierung ist vor der Prompt-Optimierung

Die Zusammenfassung des News-Feeds ist nun noch fokussierter und unterscheidet zwischen kursbewegenden Infos, Statistiken und Ausblick. Dabei werden Emojis benutzt zur Auflockerung der Informationen. Die Inhalte werden nur noch als Stichworte gezeigt, um leichter lesbar zu sein.

News Feed Summary

Da ich Prompt-Wrangler für die Versionierung und Pflege der Prompts nutze, kann ich ohne Eigenentwicklung relativ gut die Ausführungszeiten als Percentile, die Cache-Rates als auch die Gesamtkosten sehr gut überwachen. Hier als Snapshot:

Prompt Wrangler Monitoring

Strategie-Auswertungen mit Fokus-Zeitraum und -7d Auswertung

Um Strategien besser bewerten zu können, zeigen diese im Strategiefenster neben der Profit-Aggregation auch die Auswertung immer auf Sicht der letzten 7 Tagen. Damit ist eine zusätzliche Bewertungs-Dimension vorhanden und Entscheidungen für On-Off der Strategien leichter möglich.

Strategy Evaluation 7d

Performancechart-Annotations für Trading-Anpassungen hinzugefügt

Performance Chart Annotations

Chart-Anzeigen mit Sub-Titles

In der Chart-Ansicht werden die Charts gruppiert nach Typen wie Rohstoffen, Währungen etc. gezeigt. Diese zeigen daher nun Sub-Titles.

Chart Subtitles

Bot-Setting-Charts nun mit Mouse-Over-Infos

Zur besseren Orientierung und Lesbarkeit der Charts sind die Mouse-Over-Funktionen im Chart wieder aktiviert.

Bot Setting Charts Mouseover

27. August 2023

Prompt-Optimierungen

Umstellung auf GPT-4K32 leider mangels Verfügbarkeit noch nicht erfolgt. Über reine Prompt-Anpassungen wurden kleine Optimierungen erreicht:

  • Aktuell werden praktisch irrelevante % Tagesentwicklungen nicht mehr als relevante Nachrichten ausgegeben


Durch den Einsatz einer Prompt-Engine, konnten die Anpassungen ohne Code-Anpassungen leichtgewichtig umgestellt werden.

Ideen für die Anpassungen und Entwicklung im News-Bereich:

  • Nachrichten sind manchmal komplementär, manchmal durch die Aktualisierung der Infos bereits überholt. Das aktuelle Modell bildet dies noch nicht ab, so dass die Informationen zeitlich linear interpretiert werden müssten. Als Workarround werden nur Nachrichten des selben Tages verwendet.
  • Die News sind aktuell unabhängig vom Algobot-Setup d.h. die News-Interpretation beeinflusst das Trading nicht. Idee wäre es aber die News-Interpretation in Richtung steigender und fallender Märkte zu nutzen, um Trading-Signale in die geeignete Richtung zu filtern.


algobot-prompt-optimization-2023-08.png

4. Juni 2023

Nutzung von Prompt-Versionierungen

Die News-Auswertungen und Aggregationen erfolgen über LLM (GPT-4). Um hier nach vorne flexibler und professioneller ausgerichtet zu sein, sind diese nun über eine Management-UI (über Prompt-Wrangler) abgebildet.

Prompt Management UI

Hier nochmals zum Nutzen, der sich sehr schnell nochmals bestätigt hat in der praktischen Anwendung:

  • Automatische saubere Versionierung für alle genutzten Prompts, womit Prompts als Teil der Entwicklung verstanden werden.
  • Die aktuelle Version ist dabei über die Major-Version ansprechbar, z.B. ki-algobot/llm-news-sumup@3.X.X greift immer die letzte 3.x Version. Die Versionierung erfolgt teilweise automatisch, wenn Kernaspekte verändert wurden, z.B. Typen oder Parameter-Settings
  • GPTx.x Anfragen werden über das System geleitet und auch beantwortet, womit ein durchgängiges Logging entsteht inkl. RAW-Data, Laufzeit und Kostenbetrachtungen für Auswertungen
  • Durch die Nutzung von Parametern für Prompts, die dann über die API selbst übergeben werden können, kann sauber die Assistant-Anweisungen von den User-Daten getrennt werden.
  • Wenn das System einmal eingebunden ist, kann praktisch instant fachlich die Logik angepasst werden, was mehr als sinnvoll ist
  • Das System benutzt Caching, so dass exakt gleiche Anfragen nicht "teuer" über die GPT-API gesendet werden
Das System ist aktuell in der Betaphase und (noch) kostenlos. Die Einbindung ist extrem einfach: Prompt Wrangler Implementation

Prompt-Optimierungen und Erkenntnisse


Prompt News-Aggregation
  • Die Nutzung von JSON-Schemen ist möglich, um die Struktur der JSON-Ausgabe zu validieren. Ein JSON-Schema ist eine leistungsstarke Methode zur Beschreibung des Formats und der Datenvalidierung für JSON-Daten. Jedoch ist es wichtig zu beachten, dass die Definition eines JSON-Schemas außerhalb der Fähigkeiten von GPT-3 oder GPT-4 liegt, da es sich um ein maschinelles Lernmodell für natürliche Sprache und nicht um ein Datenvalidierungs- oder Schematisierungstool handelt. Die Erstellung von JSON-Schemas würde typischerweise von einem Entwickler oder Datenarchitekten durchgeführt werden.
  • Sprache: Im Prompt wird nun spezifisch angegeben, dass die Sprache Deutsch ist. Prompt 2 gibt keine bestimmte Sprache an.
  • Bei sehr kurzen Informationen: Im Prompt wird angegeben, dass auch bei sehr kurzen Informationen Details übernommen werden sollen. Dies ist eine zusätzliche Anforderung, die im Prompt 2 nicht genannt wird.
  • Wichtig: Vermeide leere Teaser-Elemente: Prompt 1 hat eine spezifische Anforderung, leere Teaser-Elemente zu vermeiden ("symbol": { "teaser": \[\] }). Die Alternative: Vor der Rückgabe der JSON-Ausgabe prüfe ob eine technische Kürzung der Struktur möglich ist: Diese Anforderung ist spezifisch für Prompt 2 und erfordert eine Überprüfung und mögliche Reduzierung der JSON-Struktur vor der Rückgabe hat weniger gut funktioniert.

Prompt News-Tageszusammenfassung
  • "Wichtig: Nutze NICHT die Eingangs-JSON-Struktur!". Diese Anforderung legt nahe, dass der Benutzer die ursprüngliche JSON-Struktur nicht in der Ausgabe sehen möchte. Diese Anforderung ist hier hilfreich, um Fehlinterpretationen zu vermeiden!

Weitere Punkte zur Berücksichtigung
1. Klarheit und Präzision: Stellen Sie sicher, dass Ihre Anweisungen klar und präzise sind. Vermeiden Sie Mehrdeutigkeiten, da dies zu unerwarteten Ergebnissen führen kann. 2. Kontext und Rolle: Stellen Sie sicher, dass die KI den Kontext der Aufgabe und ihre Rolle in der Aufgabe versteht. Das kann helfen, die Qualität der Antworten zu verbessern. 3. Beispiel-Inputs und Outputs: Geben Sie, wenn möglich, Beispiele für erwünschte Outputs an. Das hilft dem Modell, Ihre Erwartungen besser zu verstehen. 4. Angemessene Länge: Zu lange oder zu kurze Prompts können zu Problemen führen. Lange Prompts können zu einer Überinformation führen und könnten wichtige Details verdecken. Zu kurze Prompts könnten jedoch nicht genug Kontext bieten. 5. Verwenden Sie den richtigen Ton und Stil: Die Art und Weise, wie Sie Ihre Prompt schreiben, kann auch die Art und Weise beeinflussen, wie die KI antwortet. Wenn Sie zum Beispiel einen formellen Ton verwenden, wird die KI wahrscheinlich auch formell antworten. 6. Datums- und Zeitspezifikationen: Wenn Ihre Aufgabe zeitlich relevante Informationen beinhaltet, stellen Sie sicher, dass Sie die Zeitrahmen klar spezifizieren (z.B. "Wie haben sich die Preise für diese Symbole in den letzten sieben Tagen verändert?"). 7. Im Falle von Fehlern: Geben Sie Anweisungen darüber, was die KI tun sollte, wenn sie auf Probleme stößt, z.B. fehlende oder widersprüchliche Informationen. 8. Einschränkungen und Ausnahmen: Geben Sie klar an, was die KI vermeiden sollte, wie im Prompt 1 "Wichtig: Vermeide leere Teaser-Elemente!".

21. Mai 2023

Prompt-Weiterentwicklungen

Die bisherigen Prompts um die Details zusammenzufassen, als auch die Tageszusammenfassungen konnten nochmals optimiert werden über angepasste GPT4-Prompts. Auch die Textlängen werden nun besser ausgenutzt.

image.png

Trailing-Stopp-Berechnungen: Markierung der relevanten Höchstmarken

Trailing-Stopp-Berechnungen mit Einleitungstexten angepasst und automatischem Markierung der relevanten Höchstmarken

image.png

Trade-Fail-Markierungen

Es kann aus noch nicht nachvollziehbaren Gründen dazu kommen, dass offene Trades ohne Profit ausgewiesen werden. Dies ist für das Spiegel-Mirroring so extrem verstörend.

image.png

14. Mai 2023

Datengetriebene Optimierung BES

image.png

Darüber hinaus habe ich eine Berechnungslogik gefunden, die für das Setzen eines BES verwendet werden kann.

Kernfrage ist immer, ob der BES wirklich größere Gewinne oder nur größere Verluste vermieden hat. Dies lässt sich aus dem Bauch kaum entscheiden.

Dabei werden Positionen gesucht, die zunächst über den BES laufen, dann unter 0 und damit ausgestoppt würden und danach wieder über den BES laufen. Da D1, D2 aktuell aber einen BES von 25€ hatten, kann aktuell keine sinnvolle Optimierung auf Daten durchgeführt werden über 25€. Ich muss jetzt zunächst die kommenden Wochen Daten sammeln und es dann schrittweise anpassen.

Für D1, D2 wurden die Break-Even-Stopp-Schwelle angepasst auf 70€. Damit sind dann sinnvolle Messungen möglich, ohne den BES für die Konten komplett zu deaktivieren. Da der Trailing-Stopp sehr hoch gesetzt wurde, würde es die Performance-Statistiken der Strategien sonst beeinflussen. Die berechneten Nach-Stopps greifen aktuell noch nicht überall und sind daher noch unzuverlässig.

Datengetriebene Optimierung MinProfit-Schwellwert fürs Mirroring

image.png

Hintergrund der Überlegung ist, dass ich Verlusttrades durch Anpassung des Schwellwertes vermeiden kann und dessen finaler Profit aufsummiert werden kann, auf der anderen Seite führt das Anheben des Schwellwertes zu einer Verzögerung des Einstiegs und damit eine Reduktion des Gewinns für alle Positionen. Der Schwellwert für diese Betrachtung liegt auf der D1 bei 5€. Die Schwellwerte sind daher vereinheitlicht.

13. Mai 2023

Datenaggregation aller Trade-Verläufe aus den Log-Daten

Auf Basis von Log-Aufzeichnungen wird jeder Trade im Verlauf analysierbar und ein entsprechender Datenpool wird automatisiert nachträglich aufgebaut. Mit diesen Daten lassen sich Analysen durchführen, wie sich ein Trade im Verlauf mit einem Abstand von mind. 5min entwickelt hat. Damit lassen sich dann auch die sinnvollen BES und Trailing-Stopps datengetrieben visualisieren und auch automatisch optimieren. Zunächst wurde aber in einem Endpunkt die automatische nachträgliche Datenbetrachtung auf Basis der JSON-Logdaten vorgenommen. Es werden dabei Delta-Analysen durchgeführt und die Ergebnisse relational gespeichert.

Profit-Prognose für die Trailing-Stopps durch Percentile-Analysen und Scatter-Charts

Auf Basis der gesammelten Trade-Positions-Verläufen lassen sich Min-Max-Berechnungen der Profit-Werte im zeitlichen Verlauf pro Trade durchführen. Damit ist auch definierbar bei welchem Profit-Wert ein enger Trailing-Stopp oder eine sofortige Gewinnmitnahme sinnvoll ist. Wie sehr schön zu erkennen, ist das Optimum in meinem Setup für D2 ca. bei 70€, bei D1 eher bei 60€. Da P1 gespiegelt zu D1 sich verhält, können so die Werte datengetrieben ermittelt werden.

Weitere Datenoptimierungen werden wahrscheinlich aber notwendig sein.

Der Profit-Forecast beruht auf der Annahme, dass ich bei einer sortierten Liste der Trades nach dem maximalen erreichten Profit im Zeitverlauf (desc) die Indexposition multiplizieren kann mit dem jeweiligen eigenen erreichten Profit, da mind. der aktuelle Profitwert bei gesetzten Trailing-Stopp erreicht werden würde (+-). Beginnt die Liste daher bei 155€ und wird dann mit 150€ fortgesetzt, so kann die obersten Position nur sich selbst zum Erfolg machen d.h. 155x1. Die zweite Position aber bereits 150x2 etc. Da die Verteilung der Trades jedoch nicht linear ist, ist die einmalige Berechnung hierfür sinnvoll und der Peak leicht ermittelbar.

image.png

12. Mai 2023

Datengetriebene Optimierung der Strategie-Parameter

Es sind nun im Bot-Settings-Bereich alle Strategien inkl. Parametrisierung aufgeführt. Dabei können sowohl die Tagesergebnisse, als auch Wochenergebnisse betrachtet werden. Ziel ist es die Einstiegs, Break-Even und Trailing-Stopp-Niveaus zu optimieren.

Erste Erkenntnisse:

  • Performance-Unterschiede sind massiv mit Anpassungen diese Parameter. Die Optimierung hierzu Bedarf aber etwas mehr Zeit und Betrachtungen.


image.png

Auswertungs-Script für die nachträgliche Analyse der Profit-Situationen

Aus den zuvor in die Logdaten geschriebenen Informationen wurden nachträglich die Profit-Daten über den Tag für jede Position geschrieben. Damit lassen sich Percentile-Werte ableiten für die Festlegung der Parameter insb. für die Aktivierung der Trailing-Stopps, ohne alle Wertstufen mit dem SimD1-SimD3-Konten durchzutesten:

image.png

1. Mai 2023

News-Aggregation automatisiert inkl. Kostenoptimierung bei Nutzung von GPT-4

Nachrichten werden automatisiert pro Einzelmeldung zusammengefasst und OnDemand auch aggregiert auf Tagesebene. Dabei werden die Nachrichten den Symbolen zugeordnet. Das Modell ist so erweitert, dass automatisiert nur Abfragen gegen GPT laufen, wenn Daten neu oder verändert vorliegen.

Der Datenabruf erfolgt dabei weitgehend parallelisiert, so dass der Abruf gleichzeitig zwischen KI-Aufbereitungen und bereits gespeicherten Inhalten erfolgen können. Die Antworten der KI werden dann automatisiert in der UI nachgezogen und dargestellt.

Die 8192-Token-Beschränkungen vom GPT-4-Modell über die API wird dabei automatisch eingehalten. Für spätere Nach-Analysen oder z.B. Wochenauswertungen werden alle KI-Antworten zwischengespeichert. Auch die Prompt-Strukturen liegen versioniert vor.

image.png

Trading-Log und Mirror-Trading-Log

Um Fehler-Analyse zu vereinfachen, werden die Log-Daten nun ausgegeben. Über eine Detail-Ansicht stehen dann die kompletten JSON-Logs zur Verfügung. Gleichzeitig kann über eine Suche alle relevanten Logs des Tages im Volltext durchsucht werden. Im Ergebnis erscheinen die relevanten Einträge aus den Trades und aus dem Copy-Trading.

image.png

Deadzones werden separat ausgewiesen inkl. aktuellen Konten-Settings

Damit die aktuellen Einstellungen für automatisch erstellte Deadzones nachvollziehbar sind, werden dies nun ebenfalls ausgewiesen.

image.png

Simulationskonto-Darstellung zeigt die Referenzdaten bei Mirror-Trading-Positionen

Um auch hier das Mirror-Trading nachvollziehen zu können, werden auf dem D1-Konto die Bezugs-Positionen auf den Live-Konten dargestellt. Das Setup lässt sich damit besser kontrollieren und bei Fehlern auch reagieren.

image.png

23. April 2023

Strategie-Grid-Filter für Aktivierungsstatus

Um schneller auch die Aktivierungs-Status prüfen zu können, kann nun der Status als separater Filter benutzt werden.

Strategy Grid Filter Status

Briefing: Mit Wirtschaftskalender auf der Startseite

Um einen besseren Überblick zu bekommen, werden direkt auf der Startseite die Wirtschaftsnachrichten des vorhergehenden Tages und die anstehenden News dargestellt. Das mühsame Lesen im Chart ist dabei nicht mehr notwendig.

Wirtschaftskalender auf der Startseite

Deadzone-Management für Seitwärtsbewegungen

Der Freitag hat mich etwas Performance gekostet, da die Märkte komplett unentschlossen sich in einer engen Grenze bewegten. Dies verursachte eine Reihe von Fehl-Signalen. "Schiebezonen" werden jetzt automatisch erkannt und als "Deadzones" markiert. In diesen Zonen werden zeitlich befristet keine neuen Trades mehr eröffnet.

Die Deadzones können vorerst nicht manuell verändert werden, da das Kernprinzip der vollständigen Automatisierung beibehalten werden soll. Die Zonen werden im Chartbild transparent mit rötlichem Balken dargestellt, um die Zonenerkennung optisch nachvollziehen zu können.

Trades unterhalb des Chartbilds

Unterhalb der Charts werden nun alle Trades dargestellt.

Trades unterhalb des Chartbilds

8. April 2023

Logo eingeführt

Nachdem ich lange gespielt habe, welches Logo ich nutzen kann, habe ich mich nun entschieden und das Setup aktualisiert.

Algobot Logo

BES/Trailing-Stops werden dargestellt für offene Positionen

Um besser nachvollziehen zu können, welche Absicherungsmethode aktuell greift, werden die Break-Even-Stopps und die Trailing-Stopps nun direkt zusätzlich dargestellt. Gleichzeitig wird mit dem Mirror-Copy-Link-Icon dargestellt, ob eine Position auch in P1 vorhanden ist.

BES/Trailing-Stops Darstellung

Dupliziere Trade

Alle Trades können nun dupliziert werden. Dies funktioniert für D1->P1, D2->P1 und auch innerhalb von P1. In P1 wird die Position damit verdoppelt.

Dupliziere Trade

Automatische News-Aggregation durch chatGPT 3.5 (noch) weiter optimiert

Es können nun ohne relevante Längenbeschränkungen die XTB-Broker-News automatisiert durch das KI-Sprachmodell von openAI analysiert werden. Es werden dann automatisch die Zusammenfassungen generiert und an den Ticker-Symbolen geschrieben wie bisher. Die Qualität ist durch optimierte Prompts und Nutzung einer iterativen Bewertungsmodells deutlich verbessert. Nach Freischaltung von GPT4 sollte dies nochmals besser werden können.

News-Aggregation durch chatGPT

26. März 2023

Break-Even-Stopp &amp; Trailing-Stopp

Es kann nun mit einer Mindestprofit z.B. 50€ automatisch ein Break-Even-Stopp gesetzt werden. Gleichzeitig kann aber eine Mindest-Profit-Größe z.B. 250€ automatisch ein Trailing-Stopp erstellt werden, der dann automatisch alle Bewegungen ohne Verzögerungen nachvollzieht.

Die Umsetzung ist ein Learning aus den sehr scharfen Bewegungen Anfang dieser Woche, wo große Gewinnpositionen durch die Geschwindigkeit der Bewegung nicht gesichert worden sind und sogar noch zu kleineren Verlusten am Anfang der Woche führten.

Optimierung der Chart-Darstellungen für Stopps, News und Entries/Exits

Die Chartdarstellungen sind nun speziell optimiert für kleine Bildschirme, so dass die große Anzahl von Einzelinformationen dennoch ablesbar ist.

Chart-Darstellungen für Stopps, News und Entries/Exits

Offene Positionen nun auch im Chartbild

Auch offene Positionen werden nun direkt mit im Chartbild aufgenommen und dargestellt. Diese enthalten keine \[x\] Referenznummer und sind dadurch nicht weiter unterschieden. Im Zusammenspiel mit den speziellen Stopp-Mechanismen ist das Setup aber so gut auch optisch zu optimieren ohne sich allein auf statistische Mittelwerte zu verlassen.

Chartdarstellungen nun gruppiert

Die Charts werden nun gruppiert nach Segmenten angezeigt und nicht alle Charts nur 1:1. Damit ist die Ladezeit deutlich reduziert und gleichzeitig ist ein schnelles Anspringen eines Chartbildes deutlich effektiver.

Chartdarstellungen gruppiert

AUS200 als neues Symbol aktiviert

AUS200 ist mit zwei Strategien + VStop-Setup eingeführt und aktiviert.

19. März 2023

Boxplot-Charts überarbeitet

Die Charts sind überarbeitet und auch inhaltlich korrigiert, so dass für aktive und inaktive Strategien eine Betrachtung der Ergebnisse mit Box-Plots d.h. Min | Max | Q1 | Median | Q3 - Percentile vorgenommen werden kann. Die Einstellungen können für den Account und für den Zeitraum verändert werden.

Boxplot-Charts überarbeitet

chatGPT-Auswertungen deutlich optimiert

Die Verwendung ist nochmals optimiert, so dass die Textlängen im Prompt besser benutzt werden und insb. HTML-Tags bereinigt werden. Zugleich sind in den SLIDER-Elemente die dargestellten Charts verbessert und die Farben werden je nach % Veränderungen korrekt gesetzt.

ChatGPT-Auswertungen optimiert

Trading-Ergebnisse mit mehr Details

Die OrderIDs werden nun mitausgegeben, ebenso wie Entry/Exit-Zeitpunkte. Dies macht die Nachvollziehbarkeit der Trades deutlich besser. In der Darstellung kann das Konto verändert werden über ein Dropdownfeld.

Trading-Ergebnisse mit mehr Details

16. März 2023

chat-GPT Einbindung für die Verdichtung der Nachrichten

Mit dem davinci-3-Modell von GTP-3-5 (4er-Modelle sind noch nicht verfügbar für mich) werden nun automatisch Zusammenfassungen für die XTB-News erstellt und an den Markt-Charts zielgerichtet ergänzt pro Symbol. Dabei wird auch eine wahrscheinliche Entwicklung angegeben.

Die jetzige Version ist noch stark eingeschränkt, da nur 4,097 Token verwendet werden können, was die Anzahl der verarbeiteten News stark einschränkt. Es wird aber sichtbar, dass eine sehr schöne Zusammenfassung direkt an den Chartbildern ergänzt werden kann. Im Kommentar wird die Entwicklungsidee dargestellt.

Das GPT-Modell-4 zeigt Ihr mit manuellem Test mit der GPT-4-Plus-Variante noch deutlich Potential. Ich stehe auf der Warteliste und hoffe auf eine baldige Freischaltung.

ChatGPT Einbindung für Nachrichten

Markt-Slider mit Entwicklungscharts im Briefing

Es werden nun Marktentwicklungs-Charts dargestellt für die relevanten Märkte. Dabei wird auch eine % Darstellung errechnet und angezeigt.

Markt-Slider mit Entwicklungscharts

12. März 2023

Daily-Briefing mit Wechsel auf die verschiedenen Trading-Konten

Im Hintergrund wird nun ein XTB-Account-Pooling durchgeführt. Dies beschleunigt die Zugriffe und Performance enorm mit dem Faktor 10x. Dabei ist es auch möglich zwischen den verschiedenen Konten zu wechseln.

Daily-Briefing mit Trading-Konten

Trade-Schließung nun direkt aus der App

Trades können nun pro Konto individuell geschlossen werden. Die Position wird dabei instant ohne Refresh der Seite geschlossen inkl. Graphen.

Trade-Schließung aus der App

Kalender-Setups nun direkt auch schreibend möglich

Es können die Kalender-Trading-Einstellungen (Switches) nun nicht nur lesend benutzt werden, sondern auch schreibend.

Kalender-Setups schreibend

Strategie-Setups nun mit Wunsch-Zeitraum und ebenfalls schreibender Option

Die Strategie-Einstellungen können nun auf verschiedenen Zeiträumen vorgenommen werden. In den Kacheln erscheinen die entsprechenden Statistiken aus den XTB-Accounts. Die Aktivierung kann nun auch schreibend final genutzt werden.

Strategie-Setups mit Zeitraum

BoxPlots als neue Statistiken

BoxPlots als neue Statistiken

Performance-Graphen nun für alle Trading-Konten umschaltbar

Die Performanceauswertungen können nun für Ziel-Accounts eingestellt werden.

[![Performance-Graphen für Trading-Konten](/assets/2023-03-performance-graphen-trading-konten.png)](/assets/2023-03-performance-graphen-trading-konten.png)

Darstellung Transaktionen

... nun mit Symbol-Icons

Transaktionen mit Symbol-Icons

6. März 2023

Trading-Mode

Das Mirror-Trading und die UI unterstützt nun verschiedene Modi mit On | Off | long-only | short-only.

Trading-Mode Optionen

4. März 2023

Strategie-Filter nach verschiedenen Symbolen und Kriterien

Die Strategien können nun unmittelbar nach sinnvollen Kombinationen gefiltert werden.

Strategie-Filter nach Symbolen

Statistiken weiter ausgebaut

Die Statistiken arbeiten nun auch mit "Datenlücken" korrekt innerhalb von Stacked-Charts. Es sind nun Performance-Auswertung nach Tageszeit, Wochentag und natürlich nach Performance über das Symbol und über die Strategie realisiert.

Statistiken ausgebaut

Neue Strategien live genommen

Es sind intern weitere Strategien aktiviert. Das Basis-Setup bleibt aber ...

Charts nun mit Stopp-Kurs-Leveln und interaktivem Chart

Die Charts zeigen nun auch die genutzten Stopp-Kurs-Level an (sehr kleine dunkle Punkt-Zonen). Zudem sind verschieden Zoom-Level aktiviert und umgesetzt für 4h, 1d, 2d und 1w.

Charts mit Stopp-Kurs-Leveln

28. Februar 2023

Strategie-Reports und Statistiken

Schrittweise baue ich erste Statistiken um. Rechts ist hier die Performance auf Basis von Wochentagen als Stacked-Chart ausgewertet. Stacked-Charts deshalb, um spezielle Wochenergebnisse im Ergebnis erkennen zu können. Sehr schön ist zu sehen, dass Mo, Do und Fr erfolgreiche Trading-Tage im Schnitt der letzten 2 Monate sind. Di und Mi sind eher Verlusttage.

image.png

Strategie-Ergebnisse und Filterungen

Es werden nun Abweichungen für High-Volume-Trading und Mirror-Trading-Einstellungen und der Recommendations dargestellt. Der Filter erlaubt nun die korrekte Volltext-Filterung, ebenso wie Symbol-Filterungen und für Ergebnistypen.

image.png

26. Februar 2023

Strategie-Grid-Board

Eine erste Version ist nun umgesetzt und die vorhandenen Strategien inkl. Basis-Statistiken und vor allem Möglichkeiten zur Anpassung der Aktivierungs-Status sind nun ebenfalls aufgebaut. Es ist bewusst ein Card-Layout verwendet, um so eine Nutzbarkeit auch auf dem Smartphone sicherzustellen. Übergeordnet stehen Filter für Zeit, Symbole, Profit-Grenzen neben einer Volltextsuche zur Verfügung. Damit lässt sich das Setup jeweils individualisieren und anpassen.

image.png

"Noised"-Stoppkurs - Level

Stoppkurse werden automatisch durch einen eigenen Indikator gesetzt. Bisher wurden alle offenen Positionen dabei auf den gleichen Level gesetzt. Ab sofort werden diese zufällig gesetzt und dabei bei Wiederholungen dennoch immer enger zusammen gesetzt auf den Wunsch-Stopplevel durch den Indikator.

image.png

Das Setup soll Exits wie diese verhindern, wo praktisch alle Chancen gleichzeitig geschlossen werden und Folge-Bewegungen dabei nach unten praktisch vollständig nicht mitgenommen werden können.

image.png

25. Februar 2023

Calendar/News-Bot-Setup (lesend)

Alle anstehenden Wirtschafts-Events werden nun je nach Impact farbcodiert in einem flexiblen Kalender angezeigt. Dabei werden bereits auch die aktiven Status für die Kalender-Steuerung des Algo-Traders mit angezeigt. Über eine eigene Description-Datenbank werden die Events zudem erklärt.

image.png

Portfolio-Performance mit % Entwicklungen

Die Portfolio-Performance ist nun ebenfalls schrittweise optimiert. Es wird nun die % Entwicklung in den Zeitebenen berechnet und angezeigt. Die Balance ist nun ein Echtzeitwert aus dem Portfolio.

image.png

Daily-Briefing-Setup inkl. Newsfeed

Wirklich gut ist jetzt das Daily-Briefing-Center geworden. Dabei wird für den S&P500 aktuell ein Market-Graph inkl. News-Events und Trades eingeblendet. Bei den Trades wird zwischen Long/Short unterschieden und Events auf dem selben Zeitpunkt werden automatisch gestappelt. Die offenen Trades sind dabei Realtime-Sichten aus dem XTB-Konto und nutzen dabei auch die von XTB verwendeten Symbole und Flaggen für einen guten Wiedererkennungswert.

image.png

Wirklich gut geworden für meine Anwendungszwecke ist dabei auch der News-Bereich. Alle XTB-News werden damit direkt zugänglich inkl. Videos und Bildern:

image.png

Mobile-Support

Kernziel der Neuentwicklung war es neben Lerneffekten hier auch es zu 100% optimal auf Tablet und Smartphone nutzen zu können. Aus meiner Sicht ist dies sehr gut gelungen:

image.pngimage.png

Chart-Detail-Ansicht aller Bot-"Symbole"/Märkte

Die Kernansichten über VUE-Komponenten sind ebenfalls abgeschlossen. Das Setup kann in der Index.VUE dabei direkt parametrisiert umgesetzt werden, so dass der selbe Graph auch nativ in dem Daily-Briefing eingesetzt werden kann für einen ausgewählten Markt.
<b-row>
  <b-col xl="12">
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'US100', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'US30', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'US500', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'US2000', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'DE30', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'UK100', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'EU50', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'HKComp', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'AUS200', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'EURUSD', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'GOLD', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'SILVER', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'OIL.WTI', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
   <MarketGraph :config="{ params: { account: DEFAULT_ACCOUNT, symbol: 'BITCOIN', period: DEFAULT_TF, days: DEFAULT_DAYS }, chartheight: DEFAULT_CHARTHEIGHT }"/>
 </b-col>
</b-row>
image.png

Volltextsuche in der Transaktionsliste

Hier in der Mobil-Ansicht gezeigt. Die Transaktionsliste kann vollständig gefiltert werden nach Strategy, Uhrzeiten, Positionen per Volltextsuche. Dies erlaubt sehr flexibel eine Reihe von Anwendungsfällen.

image.png

16. Februar 2023


Portfolio-Performance
Es werden hier die Live-Account-Kontostände mit berechneten Equity-Charts inkl. Tages-Wochenperformance aggregiert und angezeigt. Gleichzeitig werden Baselines für das Jahr im Chart gezeigt, ebenso wie auf der X-Achse zeitlich justierte wesentliche Anpassungen im XTB-Live-Trading.

image.png

Transaktionsansicht
In dieser Ansicht werden die abgeschlossenen Trades filterbar gezeigt. Dabei kann über ein Tab-Filter direkt der Tag, vorherige Tag gesondert herausgesucht werden. Die Volltext-Suche erlaubt zudem eine schnelle Eingrenzung auf Uhrzeit, OrderID, Strategie etc.

image.png

Chart-Detail-Ansicht (Entwurf)
Ebenfalls bereits weit fortgeschritten ist der Live-Trading-Chart zu ausgewählten Positionen. Hierbei sollen in Kürze über Annotations d.h. Einblendungen auch die Trades nachvollziehbar dargestellt werden. Die bisherige D3-Chartkomponente kommt in dem VUE.JS-Setup hier für mich nicht mehr zum Einsatz.

image.png

Das grundsätzliche Setup mit Navigation, Theming, AXIOS-Datenanbindung mit Node.JS-Backend stehen somit ebenfalls, so dass ich für mich sehr schön die Backend-Datenbereitstellung pflegen und einbinden kann. Dabei habe ich nach etwas Herumprobieren auch die XTB-Broker-Einbindung über Websockets realisieren können, neben der nativen Einbindung der MariaDB.

Darkmode &amp; Mobile-Support
Hier nochmals ergänzend das sehr harmonische Zusammenspiel im Theme, wenn alle Darstellungen in den Darkmode gesetzt werden über die Konfiguration auf der Oberfläche. Der wirkliche Mehrwert entsteht aber dadurch, dass alle Funktionalitäten auch auf dem Smartphone und Tablet ohne Einschränkungen nutzbar sind. Dies war in der bisherigen Lösung nicht sichergestellt und damit für mich eine wichtige umzusetzende Anforderung.

image.png

1. Februar 2023

Erste technische POC-Basisversion für das neue Design

Das Basis-Setup der neuen Reporting und Strategie-Settings-App stehen auf Basis VUE.JS 3/Bootstrap 5. Leider wird es noch eine Weile dauern, bis ich alles so weit umgestellt habe. Die Grundstruktur ist nun gesetzt und die Inhalte festgelegt. Die Datengrundlage existiert ja bereits durch die laufenden Mirror-Trades und der bisherigen V1-UI. Das bisherige PHP-Objektklassen-Modell soll jedoch mit VUEJS-Komponenten und einem NodeJS-Backend abgelöst werden.

Vorteile der neuen Lösung:

  • Deutlich bessere technische Ausbaufähigkeit und Wartbarkeit der Lösung
  • Modernes responsive Design mit Nutzbarkeit auch Mobil unterwegs (aktuell nur eingeschränkt)


image.png

14. Januar 2023

Schließen der Positionen nun mit Logging-Daten in der UI

Position closing with logging

Kalender-Stopp-Kennzeichnungen und Mirror-Trading

Durch Kalender-Markierungen können Positionen automatisch gemeinsam geschlossen werden. Diese Positionen können nach der Black-Period aber automatisch wieder eröffnet werden, solange auf dem Simulationskonto die Position noch im Gewinn liegt. Da keine Unterscheidung zwischen manuellen Stopps und Kalender-Event-Stopps vorhanden war, wurde die Positionen im Mirror-Trading nicht automatisch wieder neu geöffnet. Dies ist nun nachgezogen.

Manuelles Copy-Trading von der UI aus

Die Möglichkeit auch manuell einzugreifen, sollte nun ausgebaut werden insb. da auf den D2-Konten Trades laufen können, die so in D1 und damit auch nicht für P1 gespiegelt werden, weil die Strategie noch nicht global freigeschaltet wurde.

In Einzelfällen kann es aber Sinn machen sowohl auf D1 als auch aus D2-Konten eine manuelle Spiegelung der Position vorzunehmen. Dies ist nun möglich inkl. umfangreichen formatierten JSON-Logging, die dann in der UI als JSON-Tree angezeigt wird. Da das System nur für mich ist, sollte das technische Logging unproblematisch sein.

Manual copy trading UI

Optimierungen für Mobile-Nutzung

Über CSS-Media-Filter werden nun angepasste Designs auf kleineren Notebook-Bildschirmen bzw. speziell auf dem Mobile-Endgeräten angezeigt. Das System lässt sich damit auch unterwegs nutzen.

8. Januar 2023

Kurs-Delta-Analyse nach Wirtschaftsnachrichten (Kursreaktionsmuster)

Pro Kalender-Eintrag und pro ausgewähltes Symbol lässt sich nun eine direkte Kurs-Delta-Betrachtung darstellen, um so zu prüfen, wann und wie eine Kursreaktion zu einem gemeldeten Wirtschaftsindikator erfolgt ist. Trigger für mich für die Analyse war die imposante Bewegung am Freitag, nachdem die Arbeitslosenzahlen gemeldet worden sind.

Hier ist bereits zwischen 14:30 und 15:30 eine hohe Volatilität zu sehen gewesen mit Schwankungen in einer Range von bis zu 515 Punkten. Dies zerreißt so meine Standard-Stopp-Strategie. Um 15:30 wird in der 15min-Kerze dann nochmals 0.6% bzw. 243 Punkten nachgegeben, um dann endgültig eine Entscheidung nach oben zu nehmen.

Damit wäre in diesem Fall es günstig gewesen aus dem Markt fernzubleiben mit der Meldung der Arbeitslosen-Statistik und für min. 60min keinen Einstiegspunkten zu folgen auf dem P-Konto. Erst danach dürfen Signale wieder ausgewertet werden, auch auf Basis noch nicht ausgestoppter Positionen auf D1, die dann im Plus sein sollten.

Im Realkonto hatte ich den Indikator leider nicht aktiviert zur Deaktivierung des Tradings und habe damit den Handelstag in Summe negativ abgeschlossen.

Economic news price delta analysis

Nachdem ein Indikator/Kalender-Event ausgewählt worden ist, erscheint ein neuer zusätzlicher Bericht mit Startzeitpunkt des Veröffentlichungsdatums. Damit können nachträglich systematisch die Kursreaktionsmuster geprüft werden und das bisherige Setup optimiert werden.

Economic report detail

Mittels der ausgegebenen Tick Size (hier 0.1 für US500) in der Headline der Detailansicht kann durch Multiplikation zu den Punkte-Veränderungen der notwendige Stopp-Value geprüft werden.

Ich hoffe ich kann so systematisch die relevanten Wirtschaftsnachrichten mit einem besonderen Trading schalten. Theoretisch kann auch auf die eigentlichen Nachrichten reagiert werden. Hier erscheinen mir die Sonderbedingungen für die Interpretation zu vielfältig, dass ich es zum jetzigen Zeitpunkt automatisieren möchte.

7. Januar 2023

Kalender-Events lassen sich nun direkt in der UI schalten

Das Stoppen von neuen Trades und/oder High-Volume-Trades und/oder vorherige Schließen aller offenen Trades auf Basis von bevorstehenden Wirtschaftsnachrichten/Kalender lässt sich nun direkt aus der UI aktivieren. Damit steht einer nicht technischen Nutzung nichts im Wege.

Calendar events UI control

Statistiktabelle mit Sortierung und Optimierungen Darstellung

Die für das Mirror-Trading aktivierten Strategien werden unterschieden nach High/Low-Volume dargestellt. Die relevanten Spalten sind nun für Sortierungen anklickbar.

Statistics table with sorting

Strategie-Toggle-Empfehlungen direkt in der Anzeige

Liegt ein Mismatch zwischen den Empfehlungen auf Basis der Strategieergebnisse aus dem D2-Konto (alle Strategien, kein manuelles Eingreifen) wird ein Achtungszeichen gezeigt. Dies betrifft alle Aktivierungen des D1-Kontos und die Einstellungen für High-Volume-Trading.

Strategy toggle recommendations

Die Berechnungen erfolgen immer automatisch auf Basis der D2-Ergebnisse der letzten 14 Tage. Die Empfehlungen verschieben sich dabei automatisch, wenn Strategien sich im Markt anders verhalten. Das Aktivierung erfolgt dennoch manuell, da der Erfolg der Trading-Woche daran hängen kann.

Strategie-Toggles können nun manuell direkt in der UI gesetzt werden

Um nicht mehr direkt auf der DB arbeiten zu müssen, können Strategien nun gesetzt werden.

Strategy toggles UI settings

Positionen können nun direkt in der UI geschlossen werden

Positions closing UI

Manuell geschlossene Positionen auf P-Konto werden im Mirror-Trading nicht nochmals eröffnet

Wird in der UI oder direkt im XTB-Konto inkl. Mobile-App eine Position manuell geschlossen, wird durch das Mirror-Trading die Position nicht nochmals eröffnet, wenn diese im D1 Konto noch aktiv ist und die Trading-Rahmenbedingungen erfüllt. Es kann somit im Notfall "eingegriffen" werden, ohne die Trading-Setups grundsätzlich aussetzen zu müssen.

Statistik-Ansicht-Optimierungen

Der Wechsel zwischen Statistik-Ansicht und Trading-Board ist ohne history. Zurück nun nativ möglich, d.h. auch bei veränderten Statistikansichten kann ein direkter Wechsel zum richtigen Symbol, Konto und Zeitrahmen erfolgen.

Auto-Scrolling für alle Tabellen

Alle Tabellen werden nun bei Überschreiten der Maximalhöhe automatisch in ein Scrollable-Area verändert, so dass sich Daten-Strukturen nicht mehr überschreiben.

2. Januar 2023

Chart-Daten automatisch aktualisieren für alle Positionen

Für die Stoppkurs-Justierung werden die Chartdaten benötigt in der Datenbank für die nachfolgenden Berechnungen. Diese werden fortan automatisch "geladen" und aktualisiert. Die Stoppkurs-Justierung kann daher fortan automatisch erfolgen.

1. Januar 2023

Automatische Stopp-Berechnung

Mittels der 0.97 Percentile wird der Stopp-Kurs automatisch auf den Ziel-Titeln im Zusammenspiel mit den vorhandenen Kursdaten gesetzt. Es wird hierzu die Bewegungen innerhalb der Zeitfenster analysiert auf Basis der High/Low-Bewegungen. Damit ist auch eine Unterscheidung zwischen Long und Short-Trades und der sinnvollen Absicherungs-Level denkbar. Es wird dabei unterstellt, dass High-Bewegungen für Long und Low-Bewegungen für Short relevant sind. Die saubere Unterscheidung im Code erfolgt aber erst nachgelagert. Damit wird auf folgenden Ebenen eine deutliche Optimierung erreicht:
  • Stoppkurse orientieren sich auf historischen Daten
  • Stoppkurse sind auf Timeframes optimiert
  • Stopps für Long & Short werden unterschieden
Damit sind die Ziel-Definitionen der Stopp-Level nun auf den aktuellen Daten justiert. Eine automatische Justierung kann dann nachfolgend ebenso erfolgen. Automatic stop calculation Dies basiert dabei auf folgender Betrachtung: Percentile calculation for stop levels Technisch musste ich hierfür noch auf MariaDB 10.6 wechseln, damit ich die Percentile-Berechnung nicht selbst als Funktion schreiben muss. Die Berechnungen sind daher sehr übersichtlich abbildbar:
SELECT `st`.`symbol` AS `symbol`,
       `p`.`tf` AS `timeframe`,
       `s`.`stoppOffset` AS `curr_stop`,
       round(`p`.`90er_percentile_high` * `sy`.`tickSize`, 1) AS `rec_stop_long`,
       -1*round(`p`.`90er_percentile_low` * `sy`.`tickSize`, 1) AS `rec_stop_short`,
       `p`.`50er_percentile_high` AS `50p_high`,
       `p`.`80er_percentile_high` AS `80er_high`,
       `p`.`90er_percentile_high` AS `90er_high`,
       `p`.`50er_percentile_low` AS `50er_low`,
       `p`.`80er_percentile_low` AS `80er_low`,
       `p`.`90er_percentile_low` AS `90er_low`,
       round(`st`.min_high,1) AS `min_high`,
       round(`st`.max_high,1) AS `max_high`,
       round(`st`.avg_high,1) AS `avg_high`,
       round(`st`.std_high,1) AS `std_high`,
       round(`st`.min_low,1) AS `min_low`,
       round(`st`.max_low,1) AS `max_low`,
       round(`st`.avg_low,1) AS `avg_low`,
       round(`st`.std_low,1) AS `std_low`
FROM (((
    (SELECT `c`.`symbol` AS `symbol`,
            `c`.`tf` AS `tf`,
            percentile_disc(0.5) within GROUP (ORDER BY round(`c`.`high`, 0) asc) OVER (PARTITION BY `c`.`symbol`,`c`.`tf`) AS `50er_percentile_high`,
            percentile_disc(0.8) within GROUP (ORDER BY round(`c`.`high`, 0) asc) OVER (PARTITION BY `c`.`symbol`,`c`.`tf`) AS `80er_percentile_high`,
            percentile_disc(0.97) within GROUP (ORDER BY round(`c`.`high`, 0) asc) OVER (PARTITION BY `c`.`symbol`,`c`.`tf`) AS `90er_percentile_high`,
            percentile_disc(0.5) within GROUP (ORDER BY round(`c`.`low`, 0) desc) OVER (PARTITION BY `c`.`symbol`,`c`.`tf`) AS `50er_percentile_low`,
            percentile_disc(0.8) within GROUP (ORDER BY round(`c`.`low`, 0) desc) OVER (PARTITION BY `c`.`symbol`,`c`.`tf`) AS `80er_percentile_low`,
            percentile_disc(0.97) within GROUP (ORDER BY round(`c`.`low`, 0) desc) OVER (PARTITION BY `c`.`symbol`,`c`.`tf`) AS `90er_percentile_low`
     FROM `chartdata` `c`) `p`
        JOIN
        (SELECT `chartdata`.`symbol` AS `symbol`,
                min(`chartdata`.`high`) AS `min_high`,
                max(`chartdata`.`high`) AS `max_high`,
                avg(`chartdata`.`high`) AS `avg_high`,
                std(`chartdata`.`high`) AS std_high,
                min(`chartdata`.`low`) AS `min_low`,
                max(`chartdata`.`low`) AS `max_low`,
                avg(`chartdata`.`low`) AS `avg_low`,
                std(`chartdata`.`low`) AS std_low
         FROM `chartdata`
         GROUP BY `chartdata`.`symbol`) `st`)
    JOIN `symbol-setups` `s`)
    JOIN `symbols` `sy`)
WHERE `p`.`symbol` = `st`.`symbol`
  AND `p`.`symbol` = `s`.`symbol`
  AND `p`.`symbol` = `sy`.`symbol`
  AND `p`.`tf` = `s`.`stoppOffSet_targetTF`
GROUP BY `p`.`symbol`,`p`.`tf`,`p`.`50er_percentile_high`,`p`.`80er_percentile_high`,`p`.`90er_percentile_high`,`p`.`50er_percentile_low`,`p`.`80er_percentile_low`,`p`.`90er_percentile_low`,`s`.`stoppOffset`

DB-Mirroring der Chartdaten in verschiedenen Timeframes

Für weitergehende Analysen insb. zur Optimierung des Stopp-Managements sollen die Chartdaten der Trading-Titel importiert werden können. Dies ist nun mit beliebigen Timeframes möglich.

DB mirroring chart data timeframes

30. Dezember 2022

Automatisches Stock-Screening für P2-Konto

Da es ohnehin hierfür vorbereitet war, ist nun auch mit dem P2-Konto das zweite Produktions-Konto aktiviert für praktisch erstmal 3 Titel: Microsoft, BioNTech & ASML. Es werden automatisch nur LONG-Positionen aufgebaut über die bulls-eye-Strategie. Stopp-Kurse werden automatisch aktiviert bei Start. Das Setup ist auf ein Zeitfenster von 4h im Trading eingestellt, d.h. agiert nicht hypernervös. Positionen werden nicht geshortet (auch wenn möglich).

Die Positionen werden aktuell nur mit Minimalgrößen von jeweils 1x Position aufgebaut für den Anfang. Spätere Anpassungen sind aber wahrscheinlich.

Die Positionen werden auf dem D1/D2-Konto jeweils nicht aktiviert, da hier ausschließlich im Sinne eines "Sparplans" gearbeitet werden soll. Es werden jeweils nur Positionen "dazu" aufgebaut.

Automatisches Stock-Screening für P2-Konto

Timeframe anpassbar

Der Chart kann nun beliebig im Zeitfenster angepasst werden. Dies ermöglicht primär auch die Einordnung auf übergeordnete Zeiteinheiten.

Timeframe anpassbar

Wirtschaftsindikatoren mit optionaler Erklärung bei Mouse-Over

Ich kann mir aktuell die genauen Erläuterungen der Wirtschaftsindikatoren noch nicht merken und zeige deshalb ein Info-Screen an.

Wirtschaftsindikatoren mit optionaler Erklärung bei Mouse-Over

Detail-Informationen für hinterlegte News-Trading-Einstellungen

Die hinterlegten no-Trade-Events können direkt in der Tabelle eingesehen und kontrolliert werden mit den spezifischen Möglichkeiten alle Trades im Zeitraum vor- und nach Veröffentlichung von Wirtschaftsnachrichten zu sperren, High-Volume-Trades auf Low-Volume-Trades umzuwandeln und alle offenen Trades zuvor automatisch zu schließen.

Detail-Informationen für hinterlegte News-Trading-Einstellungen

29. Dezember 2022

Darstellungen im Dashboard optimiert

Doppel-Trades, die aber technisch "ausgeblendet" sind, werden nun auch im Chart nicht mehr dargestellt.

Darstellungen im Dashboard optimiert

Direkter Wechsel zwischen den Konten

Direkter Wechsel zwischen den Konten

Produktionskonto für Aktien-Investments/Trades separat eröffnet

Ich möchte gerne parallel, aber möglichst nicht von Tagesschwankungen beeinflusst Aktien-Investments vornehmen. Dies sollte auf dem 2. Produktionskonto erfolgen. Das ganze Dashboarding ist so angepasst, dass auch das P2-Konto betrachtet werden kann. Dies ist hier im Normalfall wenig spektakulär.

Produktionskonto für Aktien-Investments/Trades separat eröffnet

Praxis-Lauf

Trades im D2-Simulationskonto (alle Trades ohne Einschränkungen)

Trades im D2-Simulationskonto

Trades, die im D1-Konto erfolgt sind auf Basis des bisherigen Performance-Verhaltens der Strategie über Aktivierungs-Flags. Diese werden am Wochenende geschaltet.

Trades im D1-Konto

Und am Ende des Produktions-Konto mit "Mirror-Trading" auf dem D2-Konto. Damit werden nur Positionen übernommen, die mind. 10€ im Plus gelaufen sind. Dadurch geht natürlich auch Performance verloren, Miss-Trades werden aber ebenso reduziert.

Produktions-Konto mit

Wochenanalyse in den Statistiken

Die Tabellen-Elemente können jeweils ein- und ausgeklappt werden. Die Abstände zur Darstellung von sehr vielen Einträgen sind zudem reduziert.

Wochenanalyse in den Statistiken

28. Dezember 2022

Strategie-Setup

Nach 2 Tagen Erfahrung im Setup habe ich das Setup jetzt so umgestellt, dass es doch 3stufig bleibt d.h.

  • Komplett-Trading auf D2
  • Auf Basis D2-Statistiken Aktivierung von D1-Setups
  • Auf Produktion wird das Mirror-Trading auf Basis der D2-Trades aktiviert

Statistik-Boards

Die Boards zeigen jetzt nicht nur eine visuelle Sicht, sondern auch die zugehörigen Grunddaten in Tabellen an inkl. Min, Max, Avg-Werten. Daneben wird eine Tagesanalyse der Gesamtergebnisse angezeigt. Damit liegen dann alle notwendigen Vergleiche für weitere Analysen vor.

Statistik-Boards

Die Aktivierung & Deaktivierung von Strategien muss weiterhin über das Backend erfolgen und kann noch nicht über das FE direkt eingegeben werden.

25. Dezember 2022

Copy-Trading

Ich habe lange nach einer Möglichkeit gesucht die verlustreichen Seitwärtsbewegungen als auch die Hoch-Volatilitäts-Trades bei Wirtschaftsnachrichten zu umgehen. Die Idee ist es nun grundsätzlich es gar nicht zu versuchen, aber das Trading zunächst in eine Simulations-Umgebung zu nehmen und erst bei erfolgreicher Durchführung nach einem bestimmten Zeitraum, wird dann die bisher simulierte Position in das Echt-Depot übernommen.

Dies hat zwei Vorteile:

  • Es wird zunächst abgewartet, welche Positionen wirklich ins Plus laufen
  • Es wird nicht mehr zwingend eine wöchentliche Justierung der Strategie-Toggles benötigt, da zunächst alle Strategien laufen und die "erfolgreichen" werden kopiert.


Das Setup wird dabei kombiniert mit der Möglichkeit das Trading anzupassen, wenn High-Impact-Nachrichten vorliegen. Entsprechend wird dann mit einer Vor-und Nachlaufzeit in Minuten zur eigentlichen Veröffentlichung der Daten/Presse-Konferenz das Trading gänzlich eingestellt, alle Positionen zuvor geschlossen und/oder alle Positionen nur mit verringertem Volumen eingegangen. Auf dem Ausgangsdepot bleibt die Position natürlich in voller Höhe.

Die Kernbedingungen für die Übernahme sind konkret:

  • Keine Kalender-Einträge mit vorgegebenen Einschränkungen z.B. zur Deaktivierung von Trades etc. Die Tabelle wird dabei auf Basis von definierten Filtern gegen die vorhandenen Kalender-Einträge verglichen.


Keine Kalender-Einträge mit vorgegebenen Einschränkungen

... im Vergleich zu den Kalender-Einträgen für die Wirtschaftsdaten:

Kalender-Einträge für die Wirtschaftsdaten

  • Trades auf dem Konto müssen grundsätzlich ins Plus gelaufen sein mit einem minimalen Profit-Zielwert z.B. 10€ zum Zeitpunkt der Prüfung (aktuell Prüfung alle 5min, evtl. später erst alle 15min). Der genaue Wert muss noch in der Praxis justiert werden.
  • Positionen aus der Simulation haben maximal 60m Zeit ins Plus zu laufen. Danach gilt die Position als irrelevant für eine "Übernahme"


Das Setup ist soweit live und ich bin gespannt, wie es sich in der Praxis verhält.

Weitere Besonderheiten:

  • Alle Aktivitäten werden "mitgeloggt", so dass das Copy-Trading-Setup ein eigenes Monitoring zur Nachvollziehbarkeit besitzt insb. da nicht jede Aktivität sofort zu einem neuen Trade führt.
  • Um die Nachvollziehbarkeit und spätere Zeichen-Objekte anlegen zu können, wird ein "source\_account" und "source\_xtb\_orderID" an der Trade-Tabelle mitgeführt. Damit sind neue Positionen auf Basis von Copy-Trading referenzierbar und sogar im Chart zeichenbar d.h. woher die Position "ursprünglich" erstellt worden ist und mit welchem Zeitversatz und hoffentlich Vorteil die Position dann auch übernommen worden ist.


Thesen:

  • Trotz des Systems kann eine Position jederzeit drehen und dennoch ins Minus laufen. Die ursprünglichen Stopp-Loss-Werte werden daher übernommen und auch die automatischen Stopp-Moves (vstops) sind auch für die Copy-Trades gültig und werden aktiviert.
  • Grundsätzlich sollten alle wahrscheinlich "profitablen" Handelsstrategien genutzt werden. Mittels dem Copy-Trading können dann ohne weiteres die relevanten Positionen übernommen werden. Die wöchentliche Feinjustierung der Aktivierungen und Mid-/Highvolume-Strategien entfällt wahrscheinlich erstmal.
  • Das Setup geht davon aus, dass jedes XTB-Konto als Trading-Quelle dienen kann. Damit ist es auch möglich zunächst D2 für alle Trading-Signale zu verwenden, D1 auf Basis von Wochenergebnisse zu justieren und die Produktion P1 dann auf D1 zu setzen. Ich starte aber erstmal mit D2 direkt.

22. Dezember 2022

Kalender-Anzeige mit anstehenden Wirtschaftsdaten und Forecast/Current-Werten

Mit dem Ziel bestimmte Handels-Events auszusetzen bzw. das Trading in dem Moment automatisch zu justieren, sind jetzt von XTB die Handelskalender synchronisiert und in eigene Datentabellen übernommen, so dass der Algotrader damit arbeiten kann. In der ersten Version sind zunächst die Daten erstmal importiert und automatisch angezeigt.

Kalender-Anzeige mit anstehenden Wirtschaftsdaten

Es sind folgende Toggles vorgesehen pro Kalendereintrag. Es kann damit im Vorfeld von anstehenden Handels-Events eine Feinjustierung des Tradings vorgenommen werden ohne manuell einzugreifen. Das Ziel ist tatsächlich keinerlei manuelle Anpassungen oder Aktionen in der Ziel-Ausbaustufe zu haben. Es soll nur noch um Feinjustierung gehen.

  • toggle\_deactivate\_new\_trades
  • toggle\_deactivate\_high\_volume\_trades
  • toggle\_refresh\_stopploss

System heute extrem erfolgreich

Es laufen 2 Demo-Konten und ein 1x Praxiskonto mit dem System. Betrachte ich das Demokonto, wo ich keinerlei Eingriffe vornehme, so steht hier ein Tagesergebnis von 5.200€ an.

System heute extrem erfolgreich

System heute extrem erfolgreich - Details

Hier auch nochmals als Zahlenwerte:

System heute extrem erfolgreich - Zahlenwerte

Um den Erfolg zu sehen hier nochmals als Beispiel der US2000-Chart. Es sind die Strategie-Einstiege und Ausstiege, Stoppkurse und Ergebnisse zu sehen. Das System hat dabei sowohl die komplette Short-Welle als auch bereits erste Long-Positionen am Wendepunkt eingegangen.

US2000-Chart Analyse

System-Trennung zwischen Bridge und App

Um weitere Ausbaustufen sauber durchführen zu können sind die Bridge und die App (Chart-Funktionen und Statistiken) nun voneinander getrennt. Die Entwicklungen können daher unabhängig voneinander erfolgen.

Verknüpfung zwischen App-Dashboard und Statistiken

Zwischen den beiden Kern-Views sind nun Sprünge/Querverweise unter Beibehaltung der Parameter-Einstellungen möglich. Dies erleichtert die Nutzung etwas und erzwingt keine unnötigen Bookmark-Listen.

21. Dezember 2022

Auto-Strategie-Justierung per Script

Es ist jetzt für mich möglich neben der visuellen Darstellung der Strategie-Ergebnisse auch per Script (später wahrscheinlich in die UI integriert) die profitablen Trades für die Produktion zu aktivieren und/oder das High-Volume-Positions-Größen für eine Strategie freizuschalten. Im System unterscheide ich weiterhin zwischen Normal und High-Volume-Strategien, insb. um noch zwischen Simulation und Produktion eine Zwischenstufe zu haben:
UPDATE `strategy-toggle` s
LEFT JOIN (SELECT SUM(v.norm_profit) as sum_profit, AVG(v.norm_profit) AS avg_profit, MIN(strategy) AS strategy, MIN(symbol) AS symbol FROM strategy_results_view v 
 WHERE v.`TYPE`='D2' 
   AND v.exit_time>="2022-12-18" 
 GROUP BY strategy, symbol) jt 
    ON s.strategy=jt.strategy AND s.symbol=jt.symbol
   SET s.activate_p1=
	      CASE
	          WHEN jt.avg_profit > 50 OR s.strategy='vstop' THEN 1
	          ELSE 0
	      END,
        s.activate_high_volume=
	      CASE
	          WHEN jt.sum_profit > 100 THEN 1
	          ELSE 0
	      END
Für den Vergleich wird dabei nicht das 1:1 Volumen verwendet, sondern eine normalisierte Profit-Variante. Dies dient dem Abgleich, wenn auch auf einem Demokonto zunächst nur die normale Volume-Positionierung verwendet worden ist. Dies ist dann aber nicht vergleichbar mit den anderen Strategien die vielleicht schon auf High-Volume laufen.

Daten-Synchronisation zwischen XTB und TradingView

Die Datentabellen werden jetzt statt in 3s in 0.3s abgeglichen. Ich habe die bisherigen Statements für mich zusammengeführt in einer Routine.
 -- update xtb-trade-comments with help of original tradingview-trades

 UPDATE `xtb-trades` xt
 JOIN (SELECT CONCAT(strategy, ": ", symbol, ": ", timeframe, "m") AS COMMENT, 
              `create`, 
				  `symbol`, 
				  `strategy`, 
				  `account`, 
				  `xtb_orderid`,
				  `cmd`,
				  `timeframe` FROM `trades`) t
   ON (xt.comment='[S/L]' OR xt.comment IS NULL OR xt.comment='' or xt.xtb_orderid='')
  AND xt.symbol=t.symbol 
  AND TIMESTAMPDIFF(SECOND, t.`create`, xt.entry_time) BETWEEN -10 AND 10
  AND t.strategy<>'vstop' AND t.account=xt.account
  SET xt.comment = t.comment,
      xt.strategy = t.strategy,
      xt.xtb_orderid= t.xtb_orderid,
		xt.cmd = t.cmd,		
		xt.manual_stop =
		CASE
	          WHEN xt.manual_stop THEN 1
	          ELSE 0
      END;   

20. Dezember 2022

Box-Plot-Diagramme eingeführt

Ich kann so für alle aktuell konfigurierten und laufenden Strategien nicht nur eine Min-Max-Median-Betrachtung, sondern auch eine Percentile-Betrachtung der Datenverteilung der Tagesergebnisse vornehmen. Jeder Datenpunkt ist damit das Trading-Ergebnis innerhalb einer Strategie.

Box-Plot-Diagramme

Quelle: Chat-GPT :)

> Ein Boxplot, auch als Box-and-Whisker-Diagramm bezeichnet, ist ein Diagramm, das verwendet wird, um die Verteilung von Daten zu visualisieren. Es besteht aus einer Box, die die obere und untere Quartile des Datensatzes darstellt, sowie Linien, die als "Whisker" bezeichnet werden, die die Spannweite der Daten darstellen. > > Hier ist eine Anleitung, wie Sie ein Boxplot-Diagramm lesen können: > > 1. Die Box selbst repräsentiert den Bereich, in dem die Hälfte der Daten liegt. Der obere Rand der Box gibt das obere Quartil an, während der untere Rand das untere Quartil darstellt. Die Linie in der Mitte der Box wird als Median bezeichnet und gibt den Wert an, der genau in der Mitte des Datensatzes liegt. > 2. Die Linien, die als "Whisker" bezeichnet werden, zeigen die Spannweite der restlichen Daten an. Sie reichen von dem niedrigsten Wert, der nicht als Ausreißer gilt, bis zum höchsten Wert, der nicht als Ausreißer gilt. > 3. Ausreißer werden als einzelne Punkte dargestellt und liegen außerhalb der Whisker. Sie können verwendet werden, um extreme Werte im Datensatz zu identifizieren. > 4. Vergleichen Sie die Boxplots verschiedener Gruppen, um Unterschiede in der Verteilung der Daten zu erkennen. Wenn die Boxen unterschiedlich breit sind, kann dies darauf hinweisen, dass die Daten in einer Gruppe stärker verbreitet sind als in einer anderen. Wenn die Boxen unterschiedlich hoch sind, kann dies darauf hinweisen, dass die Werte in einer Gruppe im Durchschnitt höher oder niedriger sind als in einer anderen.

18. Dezember 2022

Umstellung der Entwicklungsumgebung

Eigentlich wollte ich mit dem Setup nur spielen. Mittlerweile ist die Codebasis aber bereits größer geworden, so dass ich intern auf eine IntelliJ-IDE umgestellt habe. Damit läuft die VCS, Deployment, Debugging, Datenbank-Mgmt, Entwicklung, SSH-Console an einer Stelle zusammen.

Ich habe zuvor HandsOn mit UltraEdit gearbeitet, was auch bereits Code-Folding, SSH und Deployment-Features mitbringt.

Persistierung der Strategie-Setups

Die bisherige einfache README für alle Konfigurations-Setups für die Strategien, die so in TradingView hinterlegt werden müssen, damit die Bridge korrekt arbeitet, ist nun strukturiert abgelegt.

Persistierung der Strategie-Setups

12. Dezember 2022

Automatisch nachlaufende Stopps (vStopps) über Volatilitäts-Indikatoren

Automatisch nachlaufende Stopps (vStopps)

  • Aktivierung der vStops kann bereits mit 0.2% Change erfolgen


Ableitungen:

  • Aktivierungslevel in TradingView angepasst
  • Im Trading-Chart werden die Stopp-Level gezeichnet und nachgeführt

Annotations endlich direkt im Chart mit den Strategie-Details zu den Einstiegszeitpunkten

Annotations im Chart mit Strategie-Details Ich habe endlich eine Möglichkeit gefunden in den D3-Charts auch Annotations zu platzieren und über einen einfachen Positionierungsmechanismus bei mehreren Trade-Einstiegen zu einem Zeitpunkt kollisionsfreie Darstellungen zu ermöglichen. Dies erleichtert das Lesen und Arbeiten mit dem Trading-Setup enorm. Der Code erklärt hier schneller den Aufbau als längerer Text. Hier für mich auch einmal als Zwischenversion (auch wenn der Code ohnehin in einer Versionsverwaltung steht):
$data .= '{
             note: {
                label: "'.($trade->cmd==0?'long':'short').',vol:' . $trade->trade_volume .($trade->calculated_profit<>0?', '.number_format($trade->calculated_profit,1).'€':''). '",
                title: "' . $trade->strategy. '",
                fontSize: 9,
                wrap: 300
              },
              connector: {
                 end: "dot",        
                 type: "line",      
                 lineType : "vertical",    
                 endScale: 10
              },
              color: ["' . ($trade->calculated_profit> 0 ? 'green' : ($trade->calculated_profit< 0 ?'red':'black')) . '"],
              x: x(parseDate("' . $trade->create . '")),
              y: y(' . $trade->price . '),
              dy: ' . ($trade->cmd == 0 ? 85 : -35) . ',
              dx: ' . ($trade->cmd == 0 ? $distance+20: $distance) . '
          }, ';

10. Dezember 2022

Erste Tests von neuen automatischen Stopp-Modellen

  • Trailing-Stopps sind gut um bei schwankenden Märkten hier schnell ins Plus zu laufen. Sie verhindern bei einem normalen Setup aber wirkliche Gewinne
  • Manuelle Trading-Setups sollten vermieden werden
  • Trading-Größe ist unter Umständen den Marktgegebenheiten/Volatilität anzupassen


Ableitungen:

  • Einführung von neuen vStopp-Alerts
  • Nutzung ausschließlich von normalen Initial-Stopps
  • Alle Trading-Setups sind auf Mid-Chance-Volume umgestellt
  • Versuch keine manuellen Trades durchzuführen, da diese und letzte Woche empfindlich schlecht dadurch gelaufen sind