Diskussion zum Artikel "Anwendung des L1-Trendfilters in MetaTrader 5"

 

Neuer Artikel Anwendung des L1-Trendfilters in MetaTrader 5 :

Dieser Artikel befasst sich mit der praktischen Anwendung des L1-Trendfilters im MetaTrader 5, wobei sowohl die mathematischen Grundlagen als auch die Verwendung in MQL5-Programmen behandelt werden. Der L1-Filter ermöglicht die Extraktion stückweise linearer Trends, die die wesentliche Marktstruktur erhalten und gleichzeitig das Kursrauschen reduzieren. Die Studie analysiert die Skalierung der Parameter, das Verhalten der Trendschätzung und die Integration der Methode in algorithmische Handelsstrategien. Experimentelle Ergebnisse zeigen, wie der L1-Trendfilter die Signalstabilität, das Handels-Timing und die allgemeine Robustheit von Handelssystemen verbessern kann.

Finanzzeitreihen sind durch ein hohes Maß an Rauschen, häufige Ausreißer und wechselnde Marktregimes gekennzeichnet. In praktischen Handelssystemen zeigt sich dies auf einfache und messbare Weise: Klassische „glatte“ Filter (gleitende Durchschnitte, HP) hinken hinterher, verwischen die Momente von Steigungsveränderungen und interpretieren lokale Korrekturen oft als Umkehrungen – in der Folge steigt die Zahl der falschen Ein- und Ausstiege, der Profitfaktor sinkt und der Drawdown wächst. Darüber hinaus ist die Auswahl des Regularisierungsparameters λ in der Regel auf eine manuelle Abstimmung beschränkt und lässt sich nicht gut auf andere Instrumente, Zeitrahmen und Historienlängen übertragen.

Dieser Beitrag schlägt eine praktische Lösung für diese Probleme vor, die auf dem L1-Trendfilter basiert: Die Optimierung mit L1-Regularisierung der zweiten Differenzen ergibt automatisch eine stückweise lineare Approximation mit expliziten Bruchpunkten. Die wichtigsten Vorteile sind eine klare Interpretation der Bruchpunkte als Regimewechsel, die Möglichkeit, die Skala der Regularisierung über die Berechnung von λmax und den Übergang zu einem relativen Parameter λ = coef · λmax festzulegen, sowie eine lineare Berechnungskomplexität, die für die Implementierung in MQL5 geeignet ist.

Wir präsentieren nicht nur die Theorie, sondern auch einen vollständigen praxisorientierten Leitfaden: Methoden zur Berechnung von λmax und des L1-Trends, drei Indikatoren (Trend, Steigung, Steigungsvorzeichen), sieben L1-Trend-Volatilitätsindikatoren, Integration in Expert Advisors und ein reproduzierbares Testprotokoll (vier Filtermodi, Balance/Equity-Export und Visualisierung).


Autor: MetaQuotes

 
MetaQuotes :

Der Artikel " L1 Trend Filtering in MetaTrader 5 verwenden" wurde veröffentlicht:

Autor: MetaQuotes

Das ist hervorragend, großartige Arbeit, MetaQuotes. Professor Stephen Boyd von der Stanford University und seine legendäre Zeitreihenforschung ist jetzt in MQL5.

 
cemal #:
Das ist hervorragend, gut gemacht MetaQuotes.Prof. Stephen Boyd von der Stanford University und seine legendären Zeitreihenergebnisse in mql5.

Ich danke Ihnen. Die Methode hat keine Randprobleme, weshalb ihre Anwendungen im Handel nützlich sein können.

Nachdem der Artikel fertig war, hat sich herausgestellt, dass die beste Methode darin besteht, Volumen bei Trendkorrekturen hinzuzufügen (dieser Zeitpunkt wird im Artikel nicht berücksichtigt), siehe die Expert Advisors hier: MA, MACD, ADX, EMA.

Die Expert Advisors mit Hinzufügung bei Trendkorrekturen:

MovingAverageFilteredL1-Add.mq5

MACDFilteredL1-Zusatz.mq5

Пример применения L1-фильтра для удаления шума в изображениях
Пример применения L1-фильтра для удаления шума в изображениях
  • 2026.04.10
  • www.mql5.com
Настройки тестирования Параметры тестирования без фильтров Параметры тестирования с фильтром закрытия сделок L1 Close Filter Стратегия с фильтром закрытия L1 Close Filter Индикаторы тренда на базе L1 Trend Filter
 

Das Skript zeigt die L1-Trendfilterung für die verschiedenen Lambdas (definiert in λmax-Einheiten als lambda_factors = {1.0,0.8,0.5,0.2,0.1,0.01,0.001});

Weitere Beispiele finden Sie unter https://forge.mql5.io/quantum/L1Trend.

L1Trend
L1Trend
  • quantum
  • forge.mql5.io
Examples from the article "Applying L1 Trend Filtering in MetaTrader 5"
Dateien:
 

Es geht ungefähr so:


 
Renat Akhtyamov #:

Es geht ungefähr so:

Die Aufspaltung in Trends hängt sehr stark vom Regularisierungsparameter lambda ab - je kleiner lambda, desto kürzere Trends können erfasst werden.
In den betrachteten Beispielen wurden feste Werte von lambda in der Einheit lambda=0,2*lambda_max verwendet. Die Berechnung in Einheiten von lambda_max ermöglicht teilweise eine Anpassung an die Daten. Der lambda_max-Wert selbst hängt von der Geometrie der Reihe (relative Streuung), d. h. der Volatilität, ab.

Es ist zu bedenken, dass ein Trend verschiedene Phasen und einen eigenen Lebenszyklus hat. Daher brauchen wir einen Mechanismus, um uns an den aktuellen Trend anzupassen, d.h. Lambda irgendwie zu verwalten und die optimale Trendaufteilung zu finden - diese Aufgabe ist noch nicht gelöst.

Wenn die Strategie selbst in dem Intervall keinen Gewinn abwirft, wird auch der Filter nicht helfen.
Die besten Ergebnisse sollten auf einem idealen Trendmarkt erzielt werden, das Beispiel war wie folgt: EURUSD, 2025, H1 (die besten Parameter MovingAverage period=61).

EURUSD

Optionen für Tester

Parameter des Prüfgeräts

Testergebnisse ohne Filter

L1-Schluss-Filter

L1 Filter schließen

Hier können wir sehen, dass der Ausstiegsfilter dazu beigetragen hat, den Gewinn im Trendbereich zu erhöhen.


Eine Variante der gleichen Strategie mit zusätzlichen Positionen bei Korrekturen:

Testeroptionen mit Zusatz

Testeroptionen mit Positionen hinzufügen

Ohne Hinzufügungen:

Mit Hinzufügungen:


Intervalle mit flachem Markt enthalten lokale kleine Trends, und um diese korrekt zu berücksichtigen, sollten wir kleinere Werte des Lambda-Parameters verwenden (wenn er als Ausstiegsfilter verwendet wird).
Außerdem sollten die besten Werte der MovingAverage-Parameter im Intervall mit flachem Markt anders sein. D.h. die optimalen Perioden der Durchschnitte auf dem zweiten Intervall haben sich geändert (aber bei der Optimierung im Tester geben die gefundenen Parameter den höchsten Gewinn unter allen anderen auf dem gesamten Intervall der Optimierung).

 

Prüfen wir die Ergebnisse für flache Intervalle mit verschiedenen Lambdas.

Ohne Filter:

Mit Ausgangsfilter lambda=0,2*lambda_max

Mit Filter lambda=0,001 lambda_max (kleinere Trends).

Auf der flachen Strecke bei lambda=0,001 lambda_max können wir also das Ergebnis ohne Filter verbessern und lokale kleine Trends berücksichtigen.

Allerdings zeigte die Variante mit dem Filter lambda=0,2*lambda_max hier eine geringere Rentabilität als die Strategie ohne Filter.

 

Variante mit Hinzufügung von Positionen (unterschiedliches Lambda) zu lokalen Trends innerhalb der Ebenheit

Ohne Filter:


C-Filter lambda=0.2*lambda_max und Hinzufügen von Korrekturen:

C-Filter mit lambda=0,001*lambda_max und Hinzufügen von Korrekturen:

Die Variante mit Filter mit lambda=0,2*lambda_max und Hinzunahme von Korrekturen zeigte ein besseres Ergebnis als die Variante ohne Filter.

Das Hinzufügen lokaler kleiner Trends (lambda=0,001*lambda_max) innerhalb des flachen Intervalls auf Korrekturen ermöglichte es, den Gewinn der ursprünglichen Strategie ohne Filter zu erhöhen (und die Variante mit lambda=0,2*lambda_max in Bezug auf den Gewinn zu verbessern).

 
Quantum #:

Variante mit Hinzufügung von Positionen (unterschiedliches Lambda) zu lokalen Trends innerhalb der Ebenheit

Ohne Filter:


C-Filter lambda=0.2*lambda_max und Hinzufügen von Korrekturen:

C-Filter lambda=0,001*lambda_max und Zusatzkorrekturen:

Die Variante mit Filter mit lambda=0,2*lambda_max und Hinzunahme von Korrekturen zeigte ein besseres Ergebnis als die Variante ohne Filter.

Das Hinzufügen lokaler kleiner Trends (lambda=0,001*lambda_max) innerhalb des flachen Intervalls auf Korrekturen ermöglichte es, den Gewinn der ursprünglichen Strategie ohne Filter zu erhöhen (und die Variante mit lambda=0,2*lambda_max in Bezug auf den Gewinn zu verbessern).

Handel, zumindest auf Demo

Das Verständnis wird mit der Erfahrung und nach dem Warten von 10 Monaten nutzloser Arbeit kommen.