Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2065
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Unter der Annahme, dass es keine Lücken in der Historie gibt und alle Tage 1440 Minuten lang sind (am Freitag weniger), sollte der Code wie folgt aussehen
Lücken treten auch beim Eurusd auf. Arbeit mit Barzeit
Das ist verständlich, denn wenn ich das täte, würde ich es auch tun. Dies dient nur der besseren Verständlichkeit.
Irgendwie scheint es zu funktionieren) Zum Speichern wird eine neue Zeile in rates[i].high erfasst
Irgendwie scheint es zu funktionieren) Zum Speichern wird die neue Zeile in rates[i].high gesammelt
Sie normalisieren Takte aus der Vergangenheit, z. B. vom 5.1.2020 00:00 Uhr, auf Takte aus der Zukunft, z. B. vom 10.1.2020 00:00 Uhr, und solche dazwischen.
Das ist auf dem realen Markt nicht möglich.
Sie müssen die gleiche Berechnung für jeden Balken durchführen, aber nur für die vergangenen Balken.
Irgendwie scheint es zu funktionieren) Um zu speichern, wird die neue Zeile in rates[i].high gesammelt
Als Abrufe füttern wir 60 Candlestick-Höhen mit Tages-Offset, und lehren normalisierte Höhen in Ihrem Code erhalten.
Das Training sollte nahezu 100% genau sein.
D.h. normalisierte Candlestick-Höhen enthalten keine neuen Informationen.
Der einzige Vorteil ist, dass keine 60 zusätzlichen Merkmale an die Modellschulung weitergegeben werden müssen.
Es ist unwahrscheinlich, dass jemand als fiches Bars 2 Monate alt, dh neue Informationen für diejenigen, die sie nicht eingereicht haben, gibt es immer noch einreichen).
Natürlich sollten wir prüfen, ob diese normalisierten Leuchterhöhen die Leistung des Modells verbessern, und natürlich sollten wir sie verwenden (oder einen Ihrer Chips, was vorzuziehen ist, oder den 60sten, aus dem er besteht).
Das ist seltsam. Ich frage mich, wie man das erklären kann?
Ich habe eine andere Version auskommentiert, die mir aber aus logischen Gründen nicht gefallen hat:
Welche RandomInteger() verwenden Sie? Ich verwende XOR.
Ich weiß nicht, wie ich das erklären soll :)
Ich habe diese Funktion
Maxim, ich habe den Verdacht, dass das Modell für C++ nicht korrekt von CatBoost entladen wird - können Sie mit dem Modell für Python vergleichen?
Ich habe eine Diskrepanz zwischen den Werten der Modellinterpretation in MQL5, wo die Werte aus dem CPP-Modell übernommen werden, und den Werten aus dem binären Modell. Das Delta beträgt etwa 0,15 - das ist viel.
Sie normalisieren vergangene Takte, z. B. von 2020.5.1 00:00 Uhr auf zukünftige Takte, von 2020.10.1 00:00 Uhr und die dazwischen liegenden.
In der realen Welt tun Sie das nicht.
Sie müssen ungefähr die gleiche Berechnung von jedem Balken durchführen, aber nur von den vergangenen Balken dafür.
Ja, es gibt den Blick in die Zukunft und auch andere Probleme, die nicht sofort offensichtlich sind. Für den direkten Handel ist sie nicht ganz geeignet, aber für eine erste Analyse ist sie unersetzlich. Zum Beispiel macht die Korrelation zwischen irrelevanten Inkrementen keinen Sinn.
Ja, es gibt einen Blick in die Zukunft und auch andere Probleme, die nicht sofort offensichtlich sind. Für den direkten Handel ist sie nicht ganz geeignet, aber für die Voranalyse ist sie unverzichtbar. So macht es beispielsweise keinen Sinn, die Korrelation zwischen nicht relativen Inkrementen zu berechnen.
Wenn jemand dies bereits überprüft hat, bitte ich um Mitteilung.
Wie lautet die vorläufige Analyse? Sie füttern das Modell mit dem Input und vergleichen es mit oder ohne diese Funktion.
Ich denke, es ist besser, die letzten 30 Minuten zu normalisieren.
Alternativ: die letzten 30 Minuten des heutigen Tages und 5 vorangegangene Tage à 30 Minuten.
So wie sich die Volatilität im März verändert hat, wird Ihre Variante sehr lange brauchen, um sich anzupassen. In einem oder anderthalb Monaten werden die aktuellen Werte viel höher sein als vor ein oder zwei Monaten. Infolgedessen wird das Modell in einem unbekannten Bereich arbeiten. Sie verfügt einfach nicht über Beispiele für solche Arbeiten, auf deren Grundlage sie Prognosen erstellen könnte.
Mit der Normalisierung in der letzten Woche wird sie die neuen Spielregeln schneller lernen.