Diskussion zum Artikel "MetaTrader 5 Machine Learning Blueprint (Teil 1): Datenlecks und Zeitstempelfehler"
Die tätigkeitsbezogenen Balken lösen nicht alle Probleme, die Sie für Zeitbalken genannt haben. Sie haben zum Beispiel geschrieben:
The Subtle Intra-Bar Leakage: However, a more subtle form of data leakage can still occur within the very formation of that time bar. If a significant event transpires midway through a 1-minute bar (e.g., at 09:00:35), any features derived from that bar (such as its high price or a flag for the event) will inevitably incorporate this information by the bar's end.
Wenn Sie Balken mit gleichem Volumen, gleichem Bereich oder andere Tick-basierte benutzerdefinierte Balken erstellen, werden Sie einen solchen Balken ohnehin mit einem einzigen Label markieren, und es werden Informationen über den Höchstpreis über den gesamten Balken hinweg durchsickern (oder genauer gesagt, verschwimmen).
Die einzige Möglichkeit, dieses Problem zu lösen, besteht darin, "Balken" mit den spezifischen Funktionen (die Sie verwenden werden) im Hinterkopf zu erstellen. Wenn z.B. Hochs oder Tiefs die Hauptmerkmale sind, sollten Sie versuchen, einen Zickzack-Balken" mit zeitlich exakt markierten Extermums zu erstellen.
Der Ansatz mit konstanten Zeitrahmen und insbesondere die Beschränkung auf M1 ist im Zusammenhang mit dem Datenleck im MT5 problematisch. Die Kennzeichnung von M1-Balken mit der Endzeit ist imho nicht viel besser als mit der Anfangszeit.
Für diejenigen, die daran interessiert sind, benutzerdefinierte Balken (Charts) nativ in MT5 zu erstellen, gibt es den Artikel mit der MQL5-Implementierung von Equal-Volume-, Equal-Range- und Renko-Balken. Natürlich können Sie die Balken mit Endzeit im Open Source Code markieren.
- www.mql5.com
Die tätigkeitsbezogenen Balken lösen nicht alle Probleme, die Sie für Zeitbalken genannt haben. Sie haben zum Beispiel geschrieben:
Wenn Sie Balken mit gleichem Volumen, gleichem Bereich oder andere Tick-basierte benutzerdefinierte Balken erstellen, werden Sie einen solchen Balken ohnehin mit einem einzigen Etikett markieren, und es werden Informationen über den Höchstpreis über den gesamten Balken hinweg durchsickern (oder genauer gesagt, verschwimmen).
Die einzige Möglichkeit, dieses Problem zu lösen, besteht darin, "Balken" mit den spezifischen Funktionen (die Sie verwenden werden) im Hinterkopf zu erstellen. Wenn z.B. Hochs oder Tiefs die Hauptmerkmale sind, sollten Sie versuchen, einen Zickzack-Balken" mit zeitlich genau markierten Extermums zu erstellen.
Der Ansatz mit konstanten Zeitrahmen und insbesondere die Beschränkung auf M1 ist im Zusammenhang mit dem Datenleck im MT5 problematisch. Die Kennzeichnung von M1-Balken mit der Endzeit ist nicht viel besser als die mit der Anfangszeit, imho.
Für diejenigen, die daran interessiert sind, benutzerdefinierte Balken (Charts) nativ in MT5 zu erstellen, gibt es den Artikel mit der MQL5-Implementierung von Equal-Volume-, Equal-Range- und Renko-Balken. Natürlich können Sie die Balken mit Endzeit im Open Source Code markieren.
Die aktivitätsgesteuerten Balken zielen darauf ab, die in den Balken enthaltenen Informationen über statistische Eigenschaften zu verbessern, z. B. weniger Heteroskedastizität und verbesserte Normalität. Die von mir vorgeschlagene Lösung für das subtile Intra-Bar-Leakage besteht darin, die Balken mit ihren Endzeiten zu kennzeichnen, so dass alle Ereignisse, die innerhalb des Balkens auftreten, im Zeitstempel erfasst werden. Ein nützliches Beispiel ist die Verwendung von aus dem Zeitstempel abgeleiteten Merkmalen, wie z. B. Fourier-Transformationen, beim Training Ihres Modells. Wenn Sie die MetaTrader5-Konvention verwenden, bei der die Balken mit dem Beginn der Periode gekennzeichnet sind, dann geben Sie Ihrem Modell falsche Informationen. Diese Unterscheidung mag für einige Modelle keine große Rolle spielen, aber sie hat einen großen Einfluss auf Modelle, die die zyklische Natur der Märkte ausnutzen wollen. Ich hoffe, ich habe meine Absicht deutlich gemacht.
The activity-based bars don't solve all the problems you mentioned for time bars. For example, you wrote:
If you create bars of the same volume, range, or other tick-based custom bars, you'll be marking such a bar with a single label anyway, and information about the maximum price will leak (or more accurately, blur) across the entire bar.
The only way to solve this problem is to create "bars" with the specific features (you'll be using) in mind. For example, if highs or lows are the main characteristics, you should try to create a "zigzag bar" with extermums marked exactly in time.
The constant timeframe approach, and in particular the limitation to M1, is problematic in the context of the MT5 data leak. Marking M1 bars with the end time is imho not much better than with the start time.
For those interested in creating custom bars (charts) natively in MT5, there is the article with the MQL5 implementation of Equal Volume, Equal Range and Renko bars. Of course, you can mark the bars with end time in the open source code.
What do you mean when you state "If you create bars of the same volume, range, or other tick-based custom bars, you'll be marking such a bar with a single label anyway, and information about the maximum price will leak (or more accurately, blur) across the entire bar"?
Was meinen Sie, wenn Sie sagen: "Wenn Sie Balken mit dem gleichen Volumen, Bereich oder andere Tick-basierte benutzerdefinierte Balken erstellen, werden Sie einen solchen Balken sowieso mit einem einzigen Etikett markieren, und die Informationen über den Höchstpreis werden über den gesamten Balken auslaufen (oder genauer gesagt, verschwimmen)"?
Ich verstehe nicht, was unklar ist. Mein Satz ist eine direkte Antwort auf Ihren Satz, den ich im vorherigen Beitrag zitiert habe. Unabhängig davon, wie Sie den Balken formen, werden alle Eigenschaften des Balkens durch einen einzigen Zeitstempel zugeordnet, und die tatsächlichen "Ereignisse" der Eigenschaften stimmen nicht mit dieser Zeit überein. Zeit.
Jetzt verstehe ich die Bedeutung der Unschärfe.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel MetaTrader 5 Machine Learning Blueprint (Teil 1): Datenlecks und Zeitstempelfehler :
Das Ausspähen von Daten oder Datenlecks mag unauffällig erscheinen, aber die Auswirkungen auf maschinelle Lernmodelle können gewaltig sein - und verheerend. Stellen Sie sich vor, Sie lernen für einen Test und schauen sich unwissentlich die Antworten vorher an. Ihr perfektes Ergebnis fühlt sich verdient an, ist aber eigentlich Betrug. Genau das passiert, wenn wir die Standard-Zeitstempel von MetaTrader 5 für das maschinelle Lernen verwenden - ein Datenleck untergräbt unerwartet die Integrität Ihres Modells.
Wie die Zeitstempel des MetaTrader 5 Sie austricksen

MetaTrader 5 kennzeichnet den 5-Minuten-Balken ab 18:55 Uhr, d.h. den vorletzten Balken oben, als:Durch den Zeitstempel am Anfang impliziert MetaTrader 5, dass die Daten dieses Balkens um 18:55:00 Uhr zur Verfügung standen - ganze 5 Minuten vor seinem tatsächlichen Ende! Wenn Ihr Modell dies beim Training verwendet, ist es so, als würde man einem Schüler 5 Minuten vor Beginn der Prüfung die Antworten geben. Um dem entgegenzuwirken, sollten wir es vermeiden, die vorkompilierten Zeitbalken von MetaTrader 5 zu verwenden, sondern stattdessen Tick-Daten nutzen, um die Balken zu erstellen, die wir in unseren Modellen verwenden.
Autor: Patrick Murimi Njoroge