NLMS Adaptive Volatility Trail Multi Filter Signal
- Indikatoren
- Version: 1.28
- Aktivierungen: 5
NLMS Volatility Trail MultiFilter MT5 – Bedienungsanleitung und technische Daten
1. Überblick und Hauptzweck
NLMS Volatility Trail MultiFilter MT5 ist ein algorithmischer Marktanalyse-Indikator für MetaTrader 5, der adaptive Trenderkennung, dynamische Trailing-Envelopes und mehrstufige Signalfilterung bietet. Das System basiert auf der Theorie der digitalen Signalverarbeitung, dynamischen Volatilitätskanälen und einer modularen Matrix aus Sekundärfiltern. Seinen rechnerischen Kern bildet der adaptive Filter „Normalized Least Mean Squares“ (NLMS), eine etablierte transversale FIR-Filtermethode (Finite Impulse Response), die in der akustischen Geräuschunterdrückung, der Radar-Echoverarbeitung und der ökonometrischen Zeitreihen-Schätzung weit verbreitet ist.
Standardmäßige lineare gleitende Durchschnitte (SMA, EMA, LWMA) arbeiten mit statischen mathematischen Gewichten über ein festes Rückblickfenster. Im Gegensatz dazu optimiert der adaptive NLMS-Filter seine internen Tap-Koeffizienten kontinuierlich bei jeder Kerze mit Schlusskurs. Er berechnet den momentanen Fehler zwischen seiner geschätzten Kursentwicklung und dem realisierten Marktkurs und nutzt diesen Gradienten, um die Filtergewichte dynamisch anzupassen. Dies sorgt für eine schnelle Reaktion auf aufkommendes Momentum und dämpft gleichzeitig das Rauschen während Konsolidierungsphasen.
Ergänzt wird der adaptive Schätzungskern durch eine dynamische, nachlaufende Volatilitätshülle auf Basis der Average True Range (ATR). Anstelle statischer Punktabstände, die bei Volatilitätsschwankungen versagen, dehnt sich die nachlaufende Hülle automatisch entsprechend der aktuellen Marktstreuung aus und zieht sich wieder zusammen. Der Indikator umfasst sechzehn modulare sekundäre technische Filter, die unabhängig voneinander oder in Kombination aktiviert werden können: Ichimoku Senkou Span B-Gleichgewichtsbasislinie (um 26 Perioden verschoben), dynamische RSI-Grenzenüberschreitungen, RSI-Trendausrichtung über einen erweiterten Zeitraum, ADX-Trendstärkeschwellenwerte, Basislinien mit einem gleitenden Durchschnitt, Trendfilter mit zwei gleitenden Durchschnitten, Awesome Oscillator (AO) – Volumen/Farbe/Nullpunktüberprüfung, Parabolic-SAR-Richtungsindikator, Bestätigung durch synthetische Heiken-Ashi-Kerzenkörper, CCI-Trend- und Überkauft-/Überverkauft-Grenzen, RVI-Trend- und Signal-Kreuzungen, MACD-Histogramm- und Nullniveau-Filter, dynamische Unterstützungs- und Widerstandszonen sowie Fibonacci-Retracement-Niveaus, die aus einem dreiparametrigen ZigZag-Algorithmus abgeleitet werden.
Der Indikator gibt fünf spezielle Datenpuffer aus, die für die visuelle Chartanalyse und die direkte automatisierte Integration in Expert Advisors über Standard-iCustom-Deklarationen konzipiert sind.
2. Mathematische Grundlagen und algorithmische Operationen
Die Berechnungsabfolge durchläuft bei jeder eingehenden Kursnotierung vier diskrete algorithmische Stufen:
Stufe 1: Normalisierte adaptive Schätzung nach der Methode der kleinsten mittleren Quadrate. Der transversale FIR-Filter modelliert die Kursbildung durch eine adaptive Tap-Architektur. Für einen Eingabevektor der jüngsten Kurse x(n) über N Taps (InpTaps) wird der geschätzte Kursausgang y(n) mittels des Vektor-Skalarprodukts berechnet: y(n) = sum_{j=0}^{N-1} w_j(n) * x(n - 1 - j), wobei w_j(n) den Tap-Gewichtungskoeffizienten darstellt. Der Vorhersagefehler e(n) wird anhand des tatsächlichen Quellkurses d(n) (InpSource) berechnet: e(n) = d(n) – y(n). Um die numerische Stabilität über verschiedene Preisbereiche hinweg zu gewährleisten, werden die Gewichtungskorrekturen anhand der momentanen Signalenergie normalisiert: w_j(n+1) = w_j(n) + [mu / (epsilon + ||x(n)||^2)] * e(n) * x(n - 1 - j), wobei mu (InpMu) die Lernrate, epsilon (InpEps) die Regularisierungskonstante und ||x(n)||² die Summe der quadrierten Preiseingaben ist. Um Determinismus zu gewährleisten und ein „Repainting“ zu vermeiden, erfolgen Gewichtsaktualisierungen ausschließlich zum Schlusskurs historischer Balken (i < rates_total - 1). Der aktive, noch nicht geschlossene Balken nutzt die festgelegten Gewichte, um Echtzeitverläufe darzustellen, ohne die internen Filterzustände zu verändern.
Stufe 2: Dynamischer ATR-Trailing-Volatilitätskanal. Die Average True Range (ATR) wird über einen wählbaren Rückblickzeitraum (InpAtrPeriod) berechnet: TR = max(High[i] – Low[i], |High[i] – Close[i-1]|, |Low[i] - Close[i-1]|), ATR = (1 / InpAtrPeriod) * sum_{k=0}^{InpAtrPeriod-1} TR[i-k]. Um die adaptive Kurve herum werden symmetrische Volatilitätsbänder projiziert: Oberes Band = nlms + (ATR * InpAtrFactor), Unteres Band = nlms - (ATR * InpAtrFactor). Die Trailing-Linie (TrailBuffer) wird rekursiv berechnet: Wenn unteres Band > prev_trail, dann Trail = unteres Band; andernfalls, wenn oberes Band < prev_trail, dann Trail = oberes Band; andernfalls Trail = prev_trail. Dieser Ratcheting-Mechanismus stellt sicher, dass Schutzstopps während Trends nachlaufen und sich erst dann umkehren, wenn die Kursbewegung die Volatilitätshülle durchbricht.
Stufe 3: Trendrichtungsstatus und visuelle Farbkodierung. Richtungsänderungen werden anhand von drei aufeinanderfolgenden Trailing-Werten (Trail, prev_t, prev2_t) erkannt: Ein bullischer Wendepunkt tritt ein, wenn Trail > prev_t und prev_t <= prev2_t (TrendDirBuffer = +1, ColorBuffer = 1 / Limette). Eine bärische Trendwende tritt ein, wenn Trail < prev_t und prev_t >= prev2_t (TrendDirBuffer = -1, ColorBuffer = 2 / Rot). Liegt keine Trendwende vor, bleibt der bestehende Trendstatus erhalten (ColorBuffer = 0 / Grau während der Initialisierung).
Stufe 4: Modulare Multi-Filter-Überprüfung und Signalgenerierung. Wenn eine Trendwende an einem geschlossenen Balken auftritt, wird das potenzielle Signal anhand aller aktiven sekundären Filtermodule ausgewertet. Ein Richtungspfeilsignal wird gezeichnet und Warnmeldungen versendet, genau dann, wenn jeder aktivierte Filter den Wert „wahr“ ergibt.
3. Protokoll zur Signalausführung und Architektur ohne Neuzeichnung
Das erneute Zeichnen von Signalen ist ein inakzeptabler Fehlermodus in Handelssoftware. NLMS Volatility Trail MultiFilter MT5 implementiert strenge programmatische Sicherheitsvorkehrungen:
- Signalauslösung bei geschlossenen Kerzen: Die Routinen zur Signalerzeugung, die „BuyBuffer“ und „SellBuffer“ steuern, sind streng auf bestätigte geschlossene Kerzen beschränkt (Kerzenindex i < rates_total - 1). Die aktive Kerze (Balkenindex rates_total - 1) wird bei der Platzierung des Pfeils vollständig umgangen. Sobald ein Balken schließt und ein Pfeil gezeichnet wird, bleibt dieser Pfeil dauerhaft im Chart-Puffer fixiert. Er verschwindet nicht, ändert seine Koordinaten nicht und wird bei nachfolgenden Ticks, Chart-Aktualisierungen oder Terminal-Neustarts nicht neu berechnet.
- Echtzeit-Trail-Dynamik: Die NLMS-Trailing-Linie und der Farbpuffer werden bei der sich öffnenden Kerze (Balken 0) aktualisiert, um in Echtzeit einen Überblick über den Abstand zu den Trailing-Schwellenwerten zu bieten. Diese Echtzeitberechnung führt jedoch erst nach endgültigem Schließen der Kerze zur Festlegung von Signalpfeilen oder zur Auslösung von Benachrichtigungen.
- Duplikatsvermeidung bei Benachrichtigungen: Der interne Benachrichtigungshandler verfolgt den Zeitstempel der zuletzt bestätigten Benachrichtigung (last_alert_time) und beschränkt Audio-Benachrichtigungen, Popup-Dialoge und Push-Benachrichtigungen streng auf abgeschlossene Balkenereignisse (i == rates_total - 2). Dies gewährleistet, dass Händler genau eine Benachrichtigung pro bestätigtem Signalereignis erhalten, wodurch falsche Doppelauslösungen aufgrund von Marktgeräuschen innerhalb eines Balkens verhindert werden.
4. Technische Logik aller Filtermodule
Händler können den NLMS Volatility Trail als eigenständige Richtungs-Engine ausführen oder ihn mit einer beliebigen Kombination aus sechzehn integrierten technischen Filtern kombinieren:
- Ichimoku-Senkou-Span-B-Filter: Bewertet das Gleichgewicht über den Zeitraum „Ichimoku_SenkouB“ (Standard: 52), rückwärts projiziert um „Ichimoku_Kijun“ (Standard: 26 Balken). Ein KAUF erfordert einen Schlusskurs, der streng über dem verschobenen Senkou-Span-B-Niveau liegt. Ein VERKAUF erfordert einen Schlusskurs, der deutlich unter dem verschobenen Senkou-Span-B-Niveau liegt.
- RSI-Crossover-Filter: Misst das Momentum anhand des Relative Strength Index über den Zeitraum RSI_Length (Standard 14). Ein KAUF-Signal setzt voraus, dass der RSI des geschlossenen Balkens den Bereich „Oversold“ (Standardwert 30,0) von unten nach oben durchschreitet. Ein VERKAUF-Signal setzt voraus, dass der RSI des geschlossenen Balkens den Bereich „Overbought“ (Standardwert 70,0) von oben nach unten durchschreitet.
- ADX-Trendstärkungsfilter: Bewertet die Trendstärke anhand des Average Directional Index über den Zeitraum „ADX_Period“ (Standardwert 10). Sowohl Kauf- als auch Verkaufssignale erfordern einen ADX-Wert ≥ ADX_Min_Level (Standardwert 20,0). Unterhalb von 20,0 wird der Markt als trendlos eingestuft und Signale werden unterdrückt.
- Einzel-MA-Filter: Wendet einen strukturellen gleitenden Durchschnitt an (MA_Period Standardwert 50, MA_Method Standardwert SMA, MA_Shift Standardwert 0). Ein KAUF-Signal erfordert Close[i] > MA[i]; ein VERKAUF-Signal erfordert Close[i] < MA[i], wodurch sichergestellt wird, dass die Trades mit der dominanten gleitenden Basislinie übereinstimmen.
- RSI-75-Trendfilter: Verwendet einen erweiterten RSI mit 75 Perioden (RSI_Filter_Period Standardwert 75). Für einen KAUF muss RSI 75 > 50,0 sein; für einen VERKAUF muss RSI 75 < 50,0 sein, wodurch übergeordnete bullische Phasen von bärischen Phasen unterschieden werden.
- Doppelter MA-Filter: Bewertet den schnellen MA A (MA_A_Period, Standardwert 30, EMA) und den langsamen MA B (MA_B_Period, Standardwert 140, EMA). Ein KAUF erfordert MA A > MA B; ein VERKAUF erfordert MA A < MA B.
- Awesome-Oscillator-Filter (AO): Berechnet die Differenz zwischen dem 5-Perioden- und dem 34-Perioden-SMA der Medianpreise. Bietet drei optionale Modi: (a) Volumenfilter: Ein KAUF erfordert AO >= AO_Buy_Min (Standardwert 4,0), ein VERKAUF erfordert AO <= AO_Sell_Max (Standardwert -4,0); (b) Farbfilter: Ein KAUF erfordert AO[i] > AO[i-1], ein VERKAUF erfordert AO[i] < AO[i-1]; (c) Nullfilter: Ein KAUF erfordert AO > 0 und steigend, ein VERKAUF erfordert AO < 0 und fallend.
- Parabolischer SAR-Filter: Verwendet den parabolischen SAR mit dem Schritt SAR_Step (Standard 0,02) und der Obergrenze SAR_Maximum (Standard 0,2). Für einen KAUF muss Close[i] > SAR[i] sein; für einen VERKAUF muss Close[i] < SAR[i] sein.
- Heiken-Ashi-Filter: Berechnet synthetische Heiken-Ashi-Kerzenkörper: HA_Close = (Open + High + Low + Close) / 4; HA_Open = (HA_Open[prev] + HA_Close[prev]) / 2. Ein Kauf (BUY) erfordert HA_Close > HA_Open (grüne Kerze); ein Verkauf (SELL) erfordert HA_Close < HA_Open (rote Kerze).
- CCI-Trendfilter: Verwendet den Commodity Channel Index über den Zeitraum CCI_Period (Standardwert 50). Ein KAUF erfolgt, wenn CCI > 0,0 ist; ein VERKAUF erfolgt, wenn CCI < 0,0 ist.
- CCI-OB-&-OS-Filter: Verwendet den kurzfristigen CCI über den Zeitraum CCI_OBOS_Period (Standardwert 14). Ein KAUF erfordert CCI > CCI_Overbought (Standardwert 100,0); ein VERKAUF erfordert CCI < CCI_Oversold (Standardwert -100,0).
- RVI-Trendfilter: Bewertet den Relative Vigor Index über den Zeitraum RVI_Period (Standardwert 75). Ein Kauf (BUY) erfordert RVI > 0,0; ein Verkauf (SELL) erfordert RVI < 0,0.
- RVI-Signalfilter: Vergleicht die RVI-Hauptlinie mit ihrer symmetrisch gewichteten Signallinie über den Zeitraum „RVI_Signal_Period“ (Standardwert 20). Ein Kauf (BUY) erfordert RVI-Hauptlinie > RVI-Signallinie; ein Verkauf (SELL) erfordert RVI-Hauptlinie < RVI-Signallinie.
- MACD-Histogramm- und Null-Filter: Konfiguriert über Fast EMA 12, Slow EMA 26, Signal SMA 9. Im MACD-Histogramm-Modus erfordert ein KAUF ein Histogramm-Delta > 0, ein VERKAUF ein Delta < 0. Im MACD-Null-Modus erfordert ein KAUF, dass MACD Main > 0,0 ist, ein VERKAUF erfordert, dass MACD Main < 0,0 ist.
- Unterstützungs- und Widerstandsfilter: Durchsucht das Rückblickfenster SR_Period (Standard 50 Balken) nach Schwankungsextremen mit einem Korridor von SR_Zone_Points (Standard 80 Punkte). Für einen KAUF muss der Tiefstkurs die Unterstützung berühren oder durchbrechen; für einen VERKAUF muss der Höchstkurs den Widerstand berühren oder durchbrechen.
- Fibonacci-Filter: Identifiziert aktuelle Kursschwankungen mithilfe der ZigZag-Logik (Tiefe 12, Abweichung 5, Rückschritt 3). Berechnet die Retracement-Grenzen Fib_Level_1 (0,382) und Fib_Level_2 (0,618). Für KAUF- und VERKAUF-Signale muss die Spanne des aktuellen Balkens diesen Fibonacci-Retracement-Bereich schneiden.
5. Wichtige technische Merkmale
- Adaptive digitale Filterung: Der transversale FIR-Algorithmus minimiert kontinuierlich den Tracking-Fehler und sorgt so für eine reaktionsschnelle Trendfolge in Aufschwungphasen, während er Schwankungen in Marktkonsolidierungsphasen herausfiltert.
- Dynamischer ATR-Volatilitäts-Trailing-Kanal: Die Trailing-Grenzen passen sich automatisch an die Marktstreuung in Echtzeit an und vermeiden so starre Punktabstände, die bei Regimewechseln versagen.
- Sechzehn modulare Filterblöcke: Jeder Sekundärfilter kann unabhängig aktiviert oder gleichzeitig mit anderen kombiniert werden, um maßgeschneiderte Kriterien zur Handelsvalidierung für verschiedene Finanzinstrumente zu erstellen.
- Ausführung ohne Nachzeichnung: Berechnungen und die Darstellung von Pfeilen sind streng an abgeschlossene, geschlossene Kerzen (Kerzenindex 1) gebunden, wodurch sichergestellt wird, dass historische Chartanalysen mit der Live-Ausführung übereinstimmen.
- Mehrkanal-Benachrichtigungen: Sofortige Benachrichtigungen über native Desktop-Popup-Meldungen, anpassbare Audiowiedergabe (.wav) und Push-Benachrichtigungen an mobile MetaTrader-Terminals über die MetaQuotes-ID.
- Nahtlose EA-Integration: Fünf standardisierte Puffer ermöglichen das direkte Auslesen durch Expert Advisors mithilfe von Standard-iCustom-Funktionsaufrufen.
- Ressourcenschonend: Intelligente Zeigerverwaltung, explizite Freigabe technischer Handles bei der Deinitialisierung (OnDeinit) und Schleifenbeschränkungen gewährleisten einen reibungslosen Betrieb mit mehreren Charts.
6. Operative Einrichtung und Empfehlungen zum Zeitrahmen
- Unterstützte Anlageklassen: Wichtige Währungspaare (EURUSD, GBPUSD, USDJPY, AUDUSD, USDCAD), Kreuzwährungspaare (EURJPY, GBPJPY, EURGBP), Edelmetalle (XAUUSD, XAGUSD), Index-CFDs (US30, US500, USTEC, GER40) sowie liquide Energie-Rohstoffe (USOIL, UKOIL).
- Empfohlene Zeitrahmen:
* Scalping: M1, M5 (empfohlene Konfiguration: schnelle ATR-Einstellungen, ADX-Filter und RSI-Cross).
* Daytrading / Intraday-Swing: M15, M30, H1 (empfohlene Konfiguration: Standard-NLMS-Einstellungen mit Ichimoku Senkou Span B, Single MA 50 oder Double MA 30/140).
* Makro-Trend-Trading: H4, D1 (empfohlene Konfiguration: NLMS mit RSI 75, MACD-Null-Linie und Fibonacci-Retracement).
- Broker-Umgebung: Vollständig kompatibel mit Hedging- und Netting-Konten auf MetaTrader 5. Für kurzfristige Strategien werden Raw-Spread- oder ECN-Kontotypen empfohlen, um Transaktionsreibungsverluste zu minimieren. Während eine Ausführung mit geringer Latenz oder VPS-Hosting für Hochfrequenz-Scalping von Vorteil sind, funktioniert der Indikator zuverlässig auf allen gängigen Desktop-Systemen für Privatanleger.
7. Vollständige Dokumentation der Eingabeparameter
NLMS-Einstellungen:
- InpTaps (Standard: 2) -> Anzahl der Filter-Tap-Gewichte im transversalen FIR-Speicher (Mindestwert 2).
- InpMu (Standard: 0,1) -> Parameter für die Anpassungsschrittweite bzw. Lernrate, der die Geschwindigkeit der Gewichtsanpassung steuert.
- InpEps (Standard: 0,5) -> Regularisierungsdämpfungsfaktor, der numerische Instabilität bei geringer Marktvolatilität verhindert.
- InpAtrPeriod (Standard: 7) -> Rückblickzeitraum in Bars zur Berechnung der Average True Range (ATR)-Volatilität.
- InpAtrFactor (Standard: 0,5) -> Multiplikator, der auf den ATR angewendet wird, um die Breite des Trailing-Band-Offsets zu bestimmen.
- InpSource (Standard: PRICE_CLOSE) -> Verwendete Kursreihe (PRICE_CLOSE, PRICE_OPEN, PRICE_HIGH, PRICE_LOW usw.).
Signaleinstellungen:
- InpShowBuySell (Standard: true) -> Schaltet die Anzeige der visuellen BUY- und SELL-Pfeile im Chart ein bzw. aus.
- InpArrowOffset (Standard: 30) -> Vertikaler Versatz in Punkten zwischen den Extremwerten der Kerzen und den Pfeildarstellungen.
- InpAlertOnSignal (Standard: false) -> Aktiviert native MetaTrader-Popup-Dialogfelder bei Signalbestätigung.
- InpPushNotify (Standard: false) -> Aktiviert Push-Benachrichtigungen, die über die MetaQuotes-ID an die mobile MetaTrader 5-App gesendet werden.
- InpPlaySound (Standard: false) -> Schaltet akustische Warnsignale bei Signalbestätigung ein oder aus.
- InpBuySound (Standard: „alert.wav“) -> Audio-WAV-Datei, die bei Bestätigung eines bullischen KAUF-Signals abgespielt wird.
- InpSellSound (Standard: „alert2.wav“) -> Audio-WAV-Datei, die bei Bestätigung eines bärischen VERKAUF-Signals abgespielt wird.
Filtermodus – Ichimoku Senkou Span B-Filter:
- Use_Ichimoku_Filter (Standard: false) -> Aktiviert oder deaktiviert den Ichimoku-Senkou-Span-B-Trendfilter.
- Ichimoku_SenkouB (Standard: 52) -> Rückblickzeitraum in Balken für die Senkou-Span-B-Basislinie ((52 Höchstwerte + 52 Tiefstwerte) / 2).
- Ichimoku_Kijun (Standard: 26) -> Horizontaler Versatz, der auf Senkou Span B relativ zum aktuellen Bar angewendet wird.
Filtermodus – RSI-Cross-Filter:
- Use_RSI_Cross_Filter (Standard: false) -> Aktiviert die dynamische Überprüfung des Durchbruchs der RSI-Grenzen für Überverkauft/Überkauft.
- RSI_Length (Standard: 14) -> Berechnungszeitraum in Bars für den Relative Strength Index.
- RSI_Price_Source (Standard: PRICE_CLOSE) -> Für die RSI-Berechnung verwendete Kursreihe.
- Überverkauft (Standard: 30,0) -> Schwellenwert für den überverkauften Bereich; ein Aufwärtsdurchbruch bestätigt einen KAUF.
- Überkauft (Standard: 70,0) -> Schwellenwert für Überkauft; ein Abwärtsdurchbruch bestätigt einen VERKAUF.
Filtermodus – ADX-Filter:
- Use_ADX_Filter (Standard: false) -> Aktiviert den Trendstärkenfilter des Average Directional Index.
- ADX_Period (Standard: 10) -> Berechnungszeitraum in Balken für das Directional Movement System.
- ADX_Min_Level (Standard: 20,0) -> Erforderlicher ADX-Mindestschwellenwert. Signale unterhalb dieses Wertes werden unterdrückt.
Filtermodus – Einzel-MA-Filter:
- Use_MA_Filter (Standard: false) -> Aktiviert den Strukturfilter mit einem einzelnen gleitenden Durchschnitt.
- MA_Period (Standard: 50) -> Mittelungsperiode in Balken für den gleitenden Durchschnitt.
- MA_Method (Standard: MODE_SMA) -> Mathematische Glättungsmethode (MODE_SMA, MODE_EMA, MODE_SMMA, MODE_LWMA).
- MA_Shift (Standard: 0) -> Horizontale Verschiebung in Balken.
Filtermodus – RSI-75-Filter:
- Use_RSI75_Filter (Standard: false) -> Aktiviert die Makrotrend-Filterung über den RSI mit erweiterter Periode.
- RSI_Filter_Period (Standard: 75) -> Rückblickzeitraum in Balken für die Makro-RSI-Basislinie (KAUF bei über 50, VERKAUF bei unter 50).
Filtermodus – Doppel-MA-Filter:
- Use_DoubleMA_Filter (Standard: false) -> Aktiviert die Richtungsorientierung anhand zweier gleitender Durchschnitte.
- MA_A_Period (Standard: 30) -> Mittelungsperiode in Balken für den schnellen gleitenden Durchschnitt A.
- MA_A_Method (Standard: MODE_EMA) -> Glättungsalgorithmus für den schnellen MA A.
- MA_A_Applied (Standard: PRICE_CLOSE) -> Kursquelle für den schnellen MA A.
- MA_A_Shift (Standard: 0) -> Verschiebungsversatz in Balken für den schnellen MA A.
- MA_B_Period (Standard: 140) -> Mittelungsperiode in Bars für den langsamen MA B.
- MA_B_Method (Standard: MODE_EMA) -> Glättungsalgorithmus für den langsamen MA B.
- MA_B_Applied (Standard: PRICE_CLOSE) -> Kursquelle für den langsamen MA B.
- MA_B_Shift (Standard: 0) -> Versatz in Bars für den langsamen MA B.
Filtermodus – Awesome-Oscillator-Filter:
- Use_AO_Filter (Standard: false) -> Hauptschalter für die Filterung durch den Awesome Oscillator.
- Use_AO_Volume_Filter (Standard: false) -> Erzwingt Mindestamplitudenschwellenwerte für die AO-Histogrammbalken.
- AO_Buy_Min (Standard: 4,0) -> Minimaler positiver AO-Wert, der erforderlich ist, um einen KAUF zu autorisieren.
- AO_Sell_Max (Standard: -4,0) -> Maximaler negativer AO-Wert, der erforderlich ist, um einen VERKAUF zu autorisieren.
- Use_AO_Color_Filter (Standard: false) -> Erfordert einen steigenden AO-Balken für einen Kauf und einen fallenden AO-Balken für einen Verkauf.
- Use_AO_Zero_Filter (Standard: false) -> Erfordert einen AO-Wert über 0,0 für einen Kauf und unter 0,0 für einen Verkauf.
Filtermodus – Parabolischer SAR-Filter:
- Use_SAR_Filter (Standard: false) -> Aktiviert die Richtungsbestätigung durch den Parabolischen SAR.
- SAR_Step (Standard: 0,02) -> Schrittfaktor für die Kursbeschleunigung.
- SAR_Maximum (Standard: 0,2) -> Obere Sättigungsgrenze für den Beschleunigungsfaktor.
Filtermodus – Heiken-Ashi-Filter:
- Use_HeikenAshi_Filter (Standard: false) -> Aktiviert die synthetische Überprüfung der Heiken-Ashi-Kerzenkörperfarbe (grün für KAUF, rot für VERKAUF).
Filtermodus – CCI-Trendfilter:
- Use_CCI_Filter (Standard: false) -> Aktiviert den Makro-CCI-Nulllinienfilter (KAUF oberhalb von 0, VERKAUF unterhalb von 0).
- CCI_Period (Standard: 50) -> Mittelungsperiode in Bars für den Trend-CCI.
- CCI_Applied (Standard: PRICE_CLOSE) -> Auf die CCI-Formel angewendete Kursdaten.
Filtermodus – CCI-Überkauft- und Überverkauft-Filter:
- Use_CCI_OBOS_Filter (Standard: false) -> Aktiviert die Bestätigung von Ausbrüchen bei Überkauft- und Überverkauft-Signalen des CCI im Kurzzyklus.
- CCI_OBOS_Period (Standard: 14) -> Berechnungszeitraum in Balken für den Momentum-CCI.
- CCI_OBOS_Applied (Standard: PRICE_CLOSE) -> Angewandte Kursquelle für den Momentum-CCI.
- CCI_Overbought (Standard: 100,0) -> Erforderlicher Schwellenwert für Überkauft, der für eine KAUF-Freigabe erforderlich ist.
- CCI_Oversold (Standard: -100,0) -> Schwellenwert für Überverkauft, der für eine VERKAUF-Freigabe erforderlich ist.
Filtermodus – RVI-Trendfilter:
- Use_RVI_Filter (Standard: false) -> Aktiviert die Richtungsbestätigung anhand der Nulllinie des Relative Vigor Index.
- RVI_Period (Standard: 75) -> Berechnungszeitraum in Bars für den Trend-RVI.
Filtermodus – RVI-Signalfilter:
- Use_RVI_Signal_Filter (Standard: false) -> Aktiviert den Filter für das Kreuzen der RVI-Hauptlinie und der Signallinie.
- RVI_Signal_Period (Standard: 20) -> Berechnungszeitraum in Balken für den schnellen RVI-Signaloszillator.
Filtermodus – MACD-Signal- und Null-Filter:
- Use_MACD_Filter (Standard: false) -> Aktiviert die Momentum-Bestätigung durch das MACD-Histogramm (Delta > 0 für KAUF, Delta < 0 für VERKAUF).
- MACD_FastEMA (Standard: 12) -> Periode des schnellen exponentiellen gleitenden Durchschnitts.
- MACD_SlowEMA (Standard: 26) -> Periode des langsamen exponentiellen gleitenden Durchschnitts.
- MACD_SignalSMA (Standard: 9) -> Periode des einfachen gleitenden Durchschnitts der Signallinie.
- MACD_Applied (Standard: PRICE_CLOSE) -> Für die MACD-Berechnung verwendete Kursdaten.
- Use_MACD_Zero_Filter (Standard: false) -> Erzwingt die Position der MACD-Hauptlinie relativ zur Null (über 0 für KAUF, unter 0 für VERKAUF).
Filtermodus – Unterstützungs- und Widerstandsfilter:
- Use_SR_Filter (Standard: false) -> Aktiviert die Überprüfung der Wechselwirkung mit strukturellen Kursgrenzen.
- SR_Period (Standard: 50) -> Rückblickfenster in Balken, über das die höchsten Hochs und tiefsten Tiefs berechnet werden.
- SR_Zone_Points (Standard: 80) -> Toleranzbreite des Puffers in Chartpunkten, die die Sensitivitätszone um die Grenzen herum definiert.
Filtermodus – Fibonacci-Filter:
- Use_Fib_Filter (Standard: false) -> Aktiviert den dynamischen Filter für Fibonacci-Retracement-Zonen.
- Fib_Level_1 (Standard: 0,382) -> Verhältnis der flachen Retracement-Grenze.
- Fib_Level_2 (Standard: 0,618) -> Goldenes Verhältnis der tiefen Retracement-Grenze.
- ZigZag_Depth (Standard: 12) -> Mindestanzahl an Balken ohne widersprüchliches Extrem für die Identifizierung von ZigZag-Schwankungen.
- ZigZag_Deviation (Standard: 5) -> Minimale Kursänderung in Punkten, die erforderlich ist, um einen neuen Swing-Scheitelpunkt zu bilden.
- ZigZag_Backstep (Standard: 3) -> Mindestanzahl an Balken, die zwischen aufeinanderfolgenden Swing-Pivots erforderlich ist.
8. Architektur des technischen Puffers und EA-Integration
Für Entwickler quantitativer Algorithmen gibt der Indikator fünf Datenpuffer aus:
- Puffer 0 (INDICATOR_DATA, TrailBuffer): Speichert den Kurswert der NLMS-Trailing-Linie.
- Puffer 1 (INDICATOR_COLOR_INDEX, ColorBuffer): Speichert den visuellen Farbstatus (0 = neutral/grau, 1 = bullisch/limettengrün, 2 = bärisch/rot).
- Puffer 2 (INDICATOR_DATA, BuyBuffer): Speichert die Kurskoordinate bestätigter KAUF-Pfeilsignale. Gibt EMPTY_VALUE (DBL_MAX) zurück, wenn kein Signal vorliegt.
- Puffer 3 (INDICATOR_DATA, SellBuffer): Speichert die Kurskoordinate bestätigter VERKAUF-Pfeilsignale. Gibt EMPTY_VALUE (DBL_MAX) zurück, wenn kein Signal vorliegt.
- Puffer 4 (INDICATOR_CALCULATIONS, TrendDirBuffer): Speichert die interne Trendrichtung (+1 = bullisch, -1 = bärisch, 0 = undefiniert).
Zur Integration in einen Expert Advisor initialisieren Sie das Handle über iCustom und kopieren die Pufferdaten am Balkenindex 1:
int handle = iCustom(_Symbol, _Period, "NLMS_Volatility_Trail_MultiFilter", ...);
double buy[1], sell[1], trend[1];
CopyBuffer(handle, 2, 1, 1, buy);
CopyBuffer(handle, 3, 1, 1, sell);
CopyBuffer(handle, 4, 1, 1, trend);
bool is_buy = (buy[0] != EMPTY_VALUE);
bool is_sell = (sell[0] != EMPTY_VALUE);
9. Häufig gestellte Fragen (FAQ)
F1: Berechnet dieser Indikator vergangene Signale neu oder zeichnet er sie nach?
A1: Nein. Die Signalberechnung erfolgt ausschließlich auf der Grundlage abgeschlossener, geschlossener Kerzen (Kerzenindex 1). Sobald eine Kerze schließt und einen Pfeil anzeigt, ist ihre Position endgültig. Die aktive, offene Kerze (Kerze 0) aktualisiert die Live-Trailing-Linie dynamisch, legt die Signalpfeile jedoch erst nach dem Schließen der Kerze fest.
F2: Kann ich diesen Indikator gleichzeitig auf mehreren Charts ausführen?
A2: Ja. Der Code nutzt native Indikator-Handles und gibt bei der Deinitialisierung Speicher frei. Um die Effizienz des Terminals auf Systemen mit geringerer Leistung zu gewährleisten, aktivieren Sie nur die für Ihre spezifische Konfiguration erforderlichen Filtermodule.
F3: Wie konfiguriere ich mobile Push-Benachrichtigungen?
A3: Setzen Sie „InpPushNotify“ in den Indikatoreinstellungen auf „true“ und stellen Sie sicher, dass Ihre MetaQuotes-ID in MetaTrader 5 unter „Extras“ -> „Optionen“ -> „Benachrichtigungen“ konfiguriert ist.
10. Risikohinweis
Der Handel mit Devisen, Rohstoffen, Indizes und anderen Finanzinstrumenten mit Hebelwirkung birgt ein erhebliches Risiko des Kapitalverlusts und ist möglicherweise nicht für alle Anleger geeignet. Die Wertentwicklung in der Vergangenheit, Backtest-Ergebnisse oder hypothetische Simulationen lassen keine Rückschlüsse auf zukünftige Handelsergebnisse zu. Diese Software ist ein analytischer und operativer technischer Indikator, der ausschließlich zur Unterstützung von Händlern bei der objektiven Marktanalyse entwickelt wurde; sie bietet keine Finanzberatung, keine Gewinngarantien und keine automatisierte Ausführung. Testen Sie den Indikator stets auf einem Demo-Simulationskonto, um sein Funktionsverhalten zu bewerten, bevor Sie ihn in Live-Handelsumgebungen einsetzen.
