und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 8
- Rating:
- Veröffentlicht:
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
1. Überblick
Der Alpha-Beta-Trendfilter ist ein prädiktiver Glättungsindikator, der aus der Regelungstechnik und der digitalen Signalverarbeitung abgeleitet wurde. Konzeptionell fungiert er als vereinfachter Kalman-Filter im stationären Zustand. Während sich Standard-Gleitende Durchschnitte (SMA, EMA, LWMA) streng auf die Mittelwertbildung vergangener Daten stützen – und somit naturgemäß hinter der aktuellen Kursentwicklung zurückbleiben –, schätzt der Alpha-Beta-Filter aktiv den aktuellen „tatsächlichen“ Kurs und die Geschwindigkeit des Trends, während er Marktrauschen herausfiltert.
Diese spezielle MQL5-Implementierung erweitert den klassischen Ein-Linien-Indikator um ein Matrix-Dashboard für mehrere Symbole und Zeitrahmen. Damit können Trader die Alpha-Beta-Trendausrichtung eines gesamten Portfolios direkt in einem einzigen Chart überwachen, der bei jedem Tick dynamisch aktualisiert wird.
2. Die mathematische Engine
Der Filter wird iterativ auf jeden neuen Kursbalken angewendet. Er stützt sich auf zwei primäre Abstimmungskoeffizienten:
-
$\alpha$ (Alpha): Der Kurssensitivitätskoeffizient. Er steuert die Gewichtung, die dem neuen Rohkurswert gegenüber der internen Vorhersage des Filters zugewiesen wird.
-
$\beta$ (Beta): Der Geschwindigkeitssensitivitätskoeffizient. Er steuert die Reaktionsfähigkeit auf Veränderungen im Momentum des Trends.
Der Algorithmus wird pro Kerze in zwei unterschiedlichen Phasen ausgeführt:
Phase 1: Der Prognoseschritt
Bevor der aktuelle Balken schließt, prognostiziert der Filter den aktuellen Kurs ($\hat{P}_{t}$) und die Geschwindigkeit ($\hat{V}_{t}$) auf der Grundlage des berechneten Zustands des vorherigen Balkens:
Phase 2: Der Aktualisierungsschritt
Sobald der tatsächliche Schlusskurs ($Z_{t}$) bekannt ist, berechnet der Filter den Fehler bzw. die Abweichung ($E_{t}$) zwischen seiner Vorhersage und dem tatsächlichen Wert und aktualisiert seinen internen Zustand:
Dabei gilt:
-
$Z_{t}$: Tatsächlicher Schlusskurs des aktuellen Balkens.
-
$P_{t}$: Aktualisierte, geglättete Kursschätzung (im Chart dargestellt).
-
$V_{t}$: Aktualisierte Velocity (wird zur Bestimmung der bullischen/bärischen Trendausrichtung verwendet).
3. Wesentliche Merkmale dieser Implementierung
-
Vorausschauende Glättung ohne Verzögerung: Die Hauptindikatorlinie folgt der Kursentwicklung wesentlich enger als herkömmliche EMAs und bildet somit eine hervorragende Grundlage für schnelle Crossover-Strategien.
-
Dynamische farbcodierte Darstellung: Die Hauptlinie des Charts nutzt DRAW_COLOR_LINE, um basierend auf dem internen Zustand von $V_{t}$ automatisch zwischen Blau (bullische Geschwindigkeit) und Rot (bärische Geschwindigkeit) zu wechseln .
-
Unauffälliges Matrix-Dashboard: Eine grafische Benutzeroberfläche direkt im Chart verfolgt den Trendstatus (Bull, Bear, Wait) von bis zu 5 Zeitrahmen über eine benutzerdefinierte Liste externer Symbole hinweg.
-
Ressourcenschonendes Management: Externe Symbole und Zeitrahmen im Dashboard laden nicht den gesamten historischen Datenverlauf. Das Skript ruft über `CopyClose()` nur die minimal erforderlichen Balken ab, um den Live-Status zu berechnen, wodurch Verzögerungen im Terminal vermieden werden.
4. Erläuterung der Eingabeparameter
Einstellungen der Filter-Engine
-
inpAlpha (Standard: $0,2$): Der Bereich liegt typischerweise zwischen $0,1$ und $0,9$. Ein höherer $\alpha$-Wert folgt dem Rohkurs sehr genau (ideal für Scalping); ein niedrigerer $\alpha$-Wert glättet die Kurve stark, um Seitwärtsbewegungen zu ignorieren (besser für Swing-Trading).
-
inpBeta (Standard: $0,05$): Der Bereich liegt typischerweise zwischen $0,01$ und $0,5$. Ein höherer $\beta$-Wert reagiert aggressiv auf plötzliche Momentum-Veränderungen . Ein sehr niedriger $\beta$-Wert geht von einem stetigen, unveränderlichen Trend aus.
Einstellungen für das Dashboard-Raster
-
inpSymbols (Standard: „EURUSD,GBPUSD,USDJPY,AUDUSD“): Eine durch Kommas getrennte Zeichenkette der Symbole, die Sie verfolgen möchten. Der Code analysiert diese automatisch mithilfe von StringSplit().
-
Zeitrahmen-Schalter (showM5 bis showD1): Boolesche Eingaben, mit denen Sie anpassen können, welche Spalten in Ihrem Matrix-Dashboard angezeigt werden.
5. Architektur und Code-Highlights
MQL5-Entwickler, die den Quellcode prüfen, sollten die folgenden strukturellen Entscheidungen beachten:
-
Indizierung von Zeitreihen: MQL5 indiziert Arrays standardmäßig vom ältesten zum neuesten Element. Um der üblichen Handelslogik zu entsprechen (bei der [0] der aktuelle Live-Balken ist), nutzt der Code für alle Indikator-Puffer und abgerufenen Arrays intensiv die Funktion `ArraySetAsSeries(buffer, true)`.
-
Hilfsfunktion zur Zustandsermittlung: Die Funktion `GetStateForTarget()` ist eine eigenständige Schleife, die vom Dashboard verwendet wird. Sie ruft 50 Balken mit Schlusskursen für das Zielsymbol bzw. den Zielzeitrahmen ab, initialisiert die Prognose-Engine und gibt einen ganzzahligen Zustand zurück (0 für „Bull“, 1 für „Bear“), ohne dass externe `iCustom`-Aufrufe erforderlich sind.
-
Saubere Objekt-Deinitialisierung: Die Funktion „OnDeinit()“ durchläuft das UI-Präfix (AB_Matrix_), um sicherzustellen, dass alle grafischen Beschriftungen aus dem Chart gelöscht werden, sobald der Indikator entfernt wird.
6. Handelsanwendungen
-
Scalping-Konfiguration: Probieren Sie einen $\alpha$-Wert von 0,45 und einen $\beta$-Wert von 0,12 aus. Die farbcodierte Linie wechselt schnell die Richtung, sodass Sie Mikrotrends auf den M1- oder M5-Charts erkennen können.
-
Konfiguration für Makro-Swing: Senken Sie die Werte auf einen $\alpha$-Wert von 0,15 und einen $\beta$-Wert von 0,02. Der Indikator flacht bei intraday-Rauschen ab und hält Sie im Trade, bis eine echte makroskopische Geschwindigkeitsverschiebung eintritt.
-
Matrix-Konfluenz: Nutzen Sie das Dashboard, um Trades auf Ihrem aktuellen Chart nur dann zu tätigen, wenn die H1-, H4- und D1-Zellen für dieses spezifische Symbol vollständig in derselben Farbe ausgerichtet sind.
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/en/code/74958
SuperTrend_Amarnath_Kondiyan_Mohan
Super-Trend mit Basket-TP- und SL-Management
CKS Position Risk Dashboard
Ein schreibgeschütztes MT5-Dashboard für die risikobasierte Lot-Größenbestimmung, den Kontostatus, die Volumenlimits des Brokers und das aktuelle Engagement in einzelnen Wertpapieren.
Trend Flasher -AKM
Ein Super-Trend-Dashboard mit mehreren Währungen und mehreren Symbolen
Accelerator Oszillator (AC)
Der Acceleration/Deceleration Indikator (AC) misst die Beschleunigung und Verlangsamung des aktuellen Marktimpulses, der Kraft der Kursbewegung.
