
MQL5-Assistenz-Techniken, die Sie kennen sollten (Teil 69): Verwendung der Muster von SAR und RVI
Einführung
Die Indikatoren Parabolic Stop-And-Reverse (SAR) und der Relative Vigour Index (RVI) sind die nächste Paarung, die wir innerhalb dieser Serien betrachten. Diesmal verbindet dieses Duo die Trenderkennung mit der Momentumverfolgung. Wie bereits in früheren Artikeln haben wir 10 mögliche Signalmuster betrachtet, die aus der Kombination dieser beiden Indikatoren generiert werden können, und wir haben sie in einem von einem Assistenten zusammengestellten Expert Advisor getestet. Schauen wir uns also die Definitionen dieser beiden Indikatoren an.
Unsere Optimierung und Tests werden für das Symbol GBP CHF für das Jahr 2023 auf dem 4-Stunden-Zeitrahmen durchgeführt. Wir testen ein Muster nach dem anderen. Da wir den eingebauten Parameter „m_patterns_used“ von MQL5 verwenden, müssen wir unsere eigene Map mit einem Eingabeparameter „PatternsUsed“ implementieren. Hierbei handelt es sich um einen ganzzahligen Wert, der als Bitmap für die Kombination der zu einem bestimmten Zeitpunkt verwendeten Muster dient. In unserem Fall verwenden wir jedoch jeweils nur ein Muster. Die Gründe dafür wurden bereits in früheren Artikeln dargelegt, und es steht den Lesern frei, diese zur Auffrischung noch einmal zu lesen. Unsere Muster sind von 0 bis 9 indiziert, und um den ganzzahligen Wert zu erhalten, der ausschließlich einem bestimmten Muster entspricht, nehmen wir einfach 2 hoch dem Index des Musters. Wenn wir das Muster 0 verwenden, dann passt das zu 2 hoch 0, was 1 ergibt. Wenn der Musterindex 4 ist, dann ist der verwendete Wert 2 hoch 4, was 16 ergibt. Und so weiter.
Der Vorwärtstest wird für das Jahr 2025 durchgeführt, was einen Gesamtzeitraum vom 2023.01.01 bis zum 2025.01.01 ergibt. Dieses Zeitfenster ist für jeden, der dies in Erwägung zieht, eindeutig begrenzt, da die Tests idealerweise für verschiedene Markttypen durchgeführt werden sollten, und diese Markttypen erstrecken sich in der Regel über mehrere Jahre, wenn nicht Jahrzehnte.
Der parabolische SAR
Dieser Indikator wurde entwickelt, um sowohl Trends als auch potenzielle Umkehrpunkte zu erkennen. Es zeigt Punkte über oder unter dem Preis an, um den Trend zu verdeutlichen. Ein Punkt unter dem Kurs würde einen Aufwärtstrend markieren, während ein Punkt über dem Kurs einen Abwärtstrend anzeigen würde. Dies kann einen sekundären Vorteil bei der Festlegung eines angemessenen Trailing-Stop-Loss in Trendfolgestrategien darstellen. Bei Trendfolgestrategien würde er sich dynamisch anpassen, was darauf schließen lässt, dass dieser Indikator erwartungsgemäß besser für trendfolgende Märkte geeignet ist. Seine Formel ist zweigeteilt. Füllen Sie den oberen und den unteren Puffer. Der obere Puffer sieht wie folgt aus
Der untere Puffer wird durch definiert:
wobei:
- SARn ist der SAR-Wert (Stop and Reverse) für den aktuellen Zeitraum,
- SARn+1 ist der SAR-Wert für die nächste Periode (der prognostizierte SAR-Wert),
- AF ist der Beschleunigungsfaktor - er beginnt bei 0,02 und erhöht sich jedes Mal um 0,02, wenn ein neuer EP erreicht wird, bis zu einem Höchstwert von 0,20,
- EP ist der Extrempunkt - das höchste Hoch (in einem Aufwärtstrend) oder das tiefste Tief (in einem Abwärtstrend), das bisher beobachtet wurde,
- EP-SARn oder SARn-EP ist der Abstand zwischen dem aktuellen SAR und dem extremen Preispunkt, der dazu dient, die Bewegung des SAR zu beschleunigen.
Die Logik dahinter ist, dass wenn der Kurs bei einer Trendumkehr den SAR kreuzt, er auf den entgegengesetzten Extrempunkt zurückgesetzt wird. Dann wird der Zyklus fortgesetzt, wobei der Beschleunigungsfaktor mit jeder weiteren Trendbestätigung steigt, bis er seinen voreingestellten Grenzwert erreicht, der in der Regel bei 0,2 liegt.
Dieser Indikator überwacht die Dynamik, indem er den Schlusskurs mit einer Kursspanne über einen Eingabezeitraum vergleicht. Er zeigt ein Aufwärtsmomentum an, wenn sich der Schlusskurs in der Nähe der Höchststände befindet, und umgekehrt ein Abwärtsmomentum, wenn er sich den Tiefstständen nähert. Darüber hinaus wird eine Signallinie, eine geglättete RVI-Linie, zur Identifizierung von Wendepunkten im RVI eingesetzt. Ein Überkreuzen dieser Signallinie von unten nach oben würde ein Aufwärtsmomentum signalisieren, während ein Überkreuzen von oben nach unten ein Abwärtsmomentum markieren würde.
Er ist in der Regel zuverlässiger in Märkten, die sich im Trend bewegen, als in Märkten, die sich in einer Bandbreite bewegen, da er Trends bestätigt und potenzielle Umkehrungen erkennt. Die Formel lautet wie folgt:
mit:
wobei:
- RVI ist der Wert des Relativen Vitalitätsindex zum Zeitpunkt t,
- Closet ist der Schlusskurs des Balkens oder der Kerze zum Zeitpunkt t,
- Opent ist der Eröffnungskurs eines Barrens zu einem Zeitpunkt t,
- Hight ist das Hoch zum Zeitpunkt t,
- Lowt ist das Tief des Balkens oder der Kerze zum Zeitpunkt t,
- Numeratortist die Differenz zwischen dem Schlusskurs und dem Eröffnungskurs (Momentum),
- Denominatort ist die Differenz zwischen dem Hoch und dem Tief (Bewegungsspanne),
- SAM4 ist ein symmetrisch gewichteter gleitender Durchschnitt mit Gewichten [1, 2, 2, 1].
Dies ist eine pedantische Formel, die wir für diesen Artikel nicht strikt übernehmen, sondern hier der Vollständigkeit halber als Einführung in diesen Indikator präsentieren. Die Logik hinter der Formel besteht darin, die Differenz zwischen dem Schlusskurs und dem Eröffnungskurs zu berechnen und ein Gefühl für die aktuelle Kursdrift im Vergleich zum vorherrschenden Kursbereich zu bekommen. Die Signalleitung glättet den RVI, um Rauschen zu reduzieren und klarere Signale zu erzeugen. Nach dieser Einführung des Indikators können wir uns nun die Signalmuster ansehen.
SAR Flip mit RVI Crossover
Unser erstes Muster erkennt potenzielle Umkehrungen anhand des parabolischen SAR-Kreuzes und des Kreuzes der RVI-Nulllinie. Der erste Indikator deutet häufig auf einen Trendwechsel der Kurse hin, während der zweite Indikator die Richtung der Dynamik bestätigt. Er verbindet im Wesentlichen Hoch-Tief-Kursbewegungen mit SAR-Trendfolge und RVI-Momentum-Signalen.
Ein Kaufsignal liegt vor, wenn das Hoch des vorangegangenen Balkens unter dem SAR lag, da sich der Markt in einem Abwärtstrend befand, und das Tief des aktuellen Balkens nach einem Umschwung, der einen Aufwärtstrend signalisiert, oberhalb des SAR liegt; wir würden dies als Aufwärtssignal kennzeichnen, sofern der RVI gleichzeitig die Nulllinie von unten nach oben kreuzt. So implementieren wir dies in MQL5:
//+------------------------------------------------------------------+ //| Check for Pattern 0. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_0(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && High(X() + 1) <= SAR(X() + 1) && SAR(X()) <= Low(X()) && 0.0 > RVI(X() + 1) && RVI(X()) > 0.0) { return(true); } else if(T == POSITION_TYPE_SELL && Low(X() + 1) >= SAR(X() + 1) && SAR(X()) >= High(X()) && 0.0 < RVI(X() + 1) && RVI(X()) < 0.0) { return(true); } return(false); }
Die Verkaufslogik basiert darauf, dass das Tief des vorangegangenen Balkens in einem Aufwärtstrend über dem SAR liegt, gefolgt von einer Umkehr, bei der das aktuelle Hoch unter dem SAR liegt und auch der RVI die Nulllinie kreuzt, um unter diese zu fallen. Dieses Muster ist zeitrahmensensitiv und funktioniert wohl am besten in den mittleren Zeitrahmen von 1 Stunde bis 4 Stunden, wo es weniger anfällig ist für das Rauschen der kleineren Zeitrahmen, ohne zu sehr nachzuhinken wie in den größeren Zeitrahmen. Sein Nutzen liegt in einer Mischung aus Trendumkehrmuster und ist bei Bereichsausbrüchen oder volatilen Marktübergängen nützlich.
Bei der Verwendung ist es eine gute Idee, den Trend aus dem Kontext zu filtern. Der Handel sollte auf den Makrokontext abgestimmt sein. Die Verwendung eines Volatilitätsfilters mit dem Indikator STD-DEV kann eingesetzt werden, um das Eingehen von Geschäften in schwachen Märkten zu vermeiden. Die Vermeidung von Handelsgeschäften in der Nachrichtenzeit kann auch durch den Einsatz eines Nachrichtenzeitfilters erfolgen. Die RVI-Steilheit ist ein weiterer Filter, der ergänzt werden kann, um unser Muster 0 zu verstärken, damit wir sauberere Signale erhalten. Die Verwendung des SAR bedeutet, dass das Stop-Loss-Management inhärent ist, da das SAR-Niveau als Richtwert dienen kann. Es können jedoch auch ATR-basierte Stop-Loss in Betracht gezogen werden, da der SAR und der RVI dazu neigen, zu reaktiv zu sein. Die Ergänzung dieses Signalmusters durch ein anderes sollte im Allgemeinen in Betracht gezogen werden, und die Einrichtung des MQL5-Assistenten ermöglicht dies problemlos.
Ein möglicher Schwachpunkt unserer Implementierung ist die Reaktivität von SAR. Er hinkt bei einer schnellen Marktumkehr oder falschen Ausbrüchen stark hinterher und kann Signale erzeugen, die deutlich zu spät sind. Es gibt keinen Volumen- oder Volatilitätsfilter zur zusätzlichen Bestätigung, da Märkte mit geringer Aktivität voller Fehlsignale sind und der RVI-Nulldurchgang in schwankenden Märkten ein unzuverlässiger Auslöser sein kann. Unsere Einstiegsschwellen sind auch etwas zu streng, da es ihnen an Toleranz oder Spielraum fehlt (d.h. keine, <= oder >=).
Mögliche Abhilfemaßnahmen für diese Schwächen sind zum Teil einfach: Bei STD-DEV können wir prüfen, ob die aktuelle Standardabweichung einen optimierbaren Schwellenwert überschreitet. Ein Momentum-Filter, der die Veränderungen im RVI verfolgt, kann ebenfalls hinzugefügt werden, um sicherzustellen, dass die letzte Veränderung der RVI-Größe ein ausreichendes Maß an Momentum signalisiert. ATR für dynamische SL und TP ist eine weitere mögliche Verbesserung. Unser Test dieses Musters auf GBP CHF vom 2023.01.01 bis zum 2025.01.01 ergibt folgenden Bericht. Dieses Muster war in der Lage, vorwärts zu gehen;
SAR-Unterstützung mit RVI-Trending
Unser zweites Muster erhält sein Kaufsignal, wenn das Tief der vorherigen Kerze über dem SAR liegt und der RVI ein Aufwärtsmomentum aufweist, wobei der aktuelle Wert über dem letzten liegt. Die Implementierung von MQL5 sieht folgendermaßen aus:
//+------------------------------------------------------------------+ //| Check for Pattern 1. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_1(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Low(X() + 1) > SAR(X() + 1) && SAR(X()) < Low(X()) && RVI(X()) > RVI(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && High(X() + 1) < SAR(X() + 1) && SAR(X()) > High(X()) && RVI(X()) < RVI(X() + 1)) { return(true); } return(false); }
Ein Verkaufssignal liegt vor, wenn das Hoch des letzten Balkens unter dem SAR lag und der RVI ein Abwärtsmomentum anzeigt, wobei der aktuelle RVI unter dem letzten liegt. Diese komplementäre Einheit zielt darauf ab, eine durch Momentum gestützte Umkehr frühzeitig zu erkennen. Dieses Muster eignet sich ideal für den Umkehrhandel oder für Momentum-Ausbrüche, vor allem in trendigen oder volatilen Märkten, in denen die SAR-Reaktion sehr stark sein kann.
In der Praxis könnte dieses spezielle Muster auf höheren Zeitrahmen, mindestens 1 Stunde, verwendet werden. Dies ist auf die reaktive Natur des Signals zurückzuführen, das bei niedrigen Zeitrahmen viele falsche Eröffnungen verursachen kann. Auch die Kombination mit dem Volumen für die Volatilitätsfilterung unter Verwendung von Indikatoren wie dem On-Balance-Volumen kann sicherstellen, dass die Momentum-Signale gültig sind. Die STD-DEV und die ATR können ebenfalls als zusätzliche Bestätigung herangezogen werden. Ein weiterer möglicher Filter für dieses Muster ist ein Kerzenfilter wie das Aufwärts-Engulfing oder das Abwärts-Engulfing. Das Vermeiden von Handelsgeschäften während der Nachrichtenlage kann angesichts des reaktiven Charakters des SAR gut funktionieren, und SL und TP neigen ebenfalls dazu, mit diesem Muster gut zu funktionieren, insbesondere wenn es auf ATR basiert. Unser Testbericht für dieses Muster lautet wie folgt. Dieses Muster ist nicht vorwärts gelaufen:
SAR-Ausbruch mit RVI-Divergenz
Unser drittes Muster kombiniert den SAR und den RVI mit dem Ziel, frühe Anzeichen einer Umkehr oder einer frühen Trendbestätigung zu erfassen. Die relative Position des Preises zum SAR ist hier entscheidend, und ein RVI-Momentum-Crossover ist eine Voraussetzung. Ein Kaufsignal liegt vor, wenn der Höchststand unter oder gleich dem SAR liegt, gefolgt von einem Rückgang oder einer Umkehrung, sodass der Tiefststand unterschritten wird, was auf eine Aufwärtsumkehrung hindeutet, zusammen mit dem Hintergrund eines steigenden RVI, der für eine zunehmende Dynamik sorgt. Der Schlusskurs kann auch leicht fallen, was auf eine Bärenfalle oder einen letzten Einbruch vor einer bevorstehenden Umkehr hindeutet. Wir implementieren dies wie folgt in MQL5:
//+------------------------------------------------------------------+ //| Check for Pattern 2. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_2(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && High(X() + 1) <= SAR(X() + 1) && SAR(X()) <= Low(X()) && RVI(X()) > RVI(X() + 1) && Close(X()) < Close(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && Low(X() + 1) >= SAR(X() + 1) && SAR(X()) >= High(X()) && RVI(X()) < RVI(X() + 1) && Close(X()) > Close(X() + 1)) { return(true); } return(false); }
Das Verkaufssignal zeichnet sich durch ein vorheriges Tief aus, das über oder gleich dem SAR lag, gefolgt von einem SAR-Anstieg, um über dem Hoch des aktuellen Balkens zu thronen, wobei der RVI rückläufig ist - ein Zeichen für eine abnehmende Dynamik. In dieser Situation kann der Schlusskurs auch höher ticken und eine potenzielle Bullenfalle oder einen Erschöpfungspunkt darstellen. Bei diesem Muster handelt es sich um ein hybrides Umkehr-/Momentum-Signal. Der SAR dient als Trendumkehrindikator, während der RVI die Stärke des internen Momentums widerspiegelt. Der ergänzende, enge Preisvergleich führt zu einer zusätzlichen Validierung des Preis-Handlungs-Verhaltens.
Anwendungsfälle für das Muster 2 sind wahrscheinlich in den Märkten der Reichweite oder der Übergangszeit zu finden. Der Grund dafür ist, dass hier häufiger Umkehrungen auftreten. Dieses Muster kann auch in niedrigeren Zeitrahmen von Vorteil sein, wenn Strategien der Rückkehr zum Mittelwerts oder kurzfristiger Momentum-Handel verfolgt werden.
Die beste Praxis für Händler, wenn sie dieses Muster verwenden, wäre wahrscheinlich, dass sie mehrere Zeitrahmen zur Bestätigung verwenden. Dies wirkt angesichts der Schwankungen im unteren Zeitrahmen eher als Sicherheit. Wenn es eine Bestätigung auf einem größeren Zeitrahmen gibt, kann dies dieses Muster noch weiter verstärken. Außerdem können sie es mit einem Volatilitätsfilter kombinieren. In diesem Szenario würden sie den STD-DEV/eingebauten Standardabweichungsindikator oder die ATR verwenden, um zu überprüfen, ob eine Umkehrung genügend Spielraum hat. Dieses Muster sollte nicht eingesetzt werden, wenn starke Trends im Spiel sind. Das liegt daran, dass er zwangsläufig schlecht abschneidet, da viele Rückschläge als Umkehrungen interpretiert werden können. Zusätzliche Filter wie der ADX oder gleitende Durchschnitte könnten dies abmildern.
Das Risikomanagement könnte auch bei diesem Muster enge Stop-Loss erfordern. Diese können etwas außerhalb der SAR platziert werden, um die Umkehrlogik zu berücksichtigen. Im Allgemeinen können die Ziele auf Unterstützungs-/Widerstandsniveaus oder R-Multiplikatoren von z. B. 1,5 liegen. Backtests sollten idealerweise auch dann durchgeführt werden, wenn Slippage und Broker-Spreads verwendet werden, da ein kleiner Zeitrahmen bevorzugt wird. Es muss sichergestellt werden, dass das Muster unter realen Ausführungsbedingungen robust ist, insbesondere wenn es innerhalb eines Tages verwendet wird. Die Testergebnisse für unser drittes Muster, mit ähnlichen Einstellungen/Bedingungen wie bei den bereits erwähnten Mustern, ergeben folgenden Bericht. Dieses Muster ist nicht vorwärts gelaufen:
SAR-Trendfortsetzung und RVI-Gap gegen Null
Unser viertes Muster ist ein momentumbestätigtes Trendfolgesignal. Er nutzt die SAR-basierte Preisbeziehung, um eine Positionierungsrichtung festzulegen. Der RVI-Wert im Verhältnis zur Nulllinie dient auch als Bestätigung für die Art des Momentums, das im Spiel ist, ob abwärts oder aufwärts. Ein Kaufsignal liegt vor, wenn der Tiefststand des vorangegangenen Balkens über dem SAR liegt, was darauf hindeutet, dass der SAR unter dem Preis liegt, was einen Aufwärtstrend darstellt. Danach liegt der Tiefststand des aktuellen Balkens immer noch über dem SAR, was bestätigt, dass der Trend intakt ist. Der RVI des aktuellen und des vorangegangenen Balkens müsste über der Nullgrenze liegen, was ebenfalls ein Hinweis auf eine anhaltende Dynamik ist. Wir setzen dies in MQL5 wie folgt um:
//+------------------------------------------------------------------+ //| Check for Pattern 3. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_3(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Low(X() + 1) > SAR(X() + 1) && SAR(X()) < Low(X()) && RVI(X()) > 0.0 && RVI(X() + 1) > 0.0) { return(true); } else if(T == POSITION_TYPE_SELL && High(X() + 1) < SAR(X() + 1) && SAR(X()) > High(X()) && RVI(X()) < 0.0 && RVI(X() + 1) < 0.0) { return(true); } return(false); }
Die Verkaufsbedingungen sind ähnlich, wenn ein früheres Hoch unter dem SA liegt, was ein Zeichen für eine Abwärtstrend ist. Danach bleibt das aktuelle Hoch unter dem SAR, was auf einen anhaltenden Trend hindeutet. Der RVI des aktuellen und des vorangegangenen Kurses müsste ebenfalls unter Null liegen, um mit einer negativen Momentum-These übereinzustimmen. Dieser Mustertyp ist ein trendbestätigendes Signal. Es handelt sich nicht um eine Umkehrung wie bei Muster 2, das die Wendepunkte einfängt, und Muster 3, das voraussetzt, dass Momentum und Preis mit dem SAR übereinstimmen. Der ideale Marktkontext für dieses Muster sind Märkte, die sich im Trend befinden oder ausbrechen, insbesondere nach größeren Rücksetzern. Bei diesem Muster ist es wichtig, ein „Hin und Her“ im Handel zu vermeiden, indem man sich vergewissert, dass der RVI die gleiche Richtung der letzten beiden Balken beibehält.
Diese Trendfortsetzungsfälle erfordern, dass das Muster nur dann angewendet wird, wenn ein vorheriger Trend bereits im Gange ist. Zur Bestätigung können auch Trendfilter wie ein ADX von über 25 oder die Steigung eines EMA mit längerer Periode eingesetzt werden. Die Verwendung von Volatilitätskompressions-/Breakout-Filtern wie dem Bollinger Band Squeeze oder dem niedrigen STD-DEV kann ergänzt werden, um den Einstiegszeitpunkt genauer zu bestimmen. Eine Kombination mit Stop-Platzierungsregeln knapp unter dem SAR-Level für Kaufpositionen oder knapp über dem SAR-Level für Verkaufspositionen kann für direktionale Sicherheit verwendet werden. Der SAR selbst kann auch als dynamischer Trailing-Stop nach dem Einstieg dienen.
Die Timeframe-Strategie kann auf höheren Timeframes von 1 Stunde und darüber robuster sein. Der Grund dafür ist, dass die Trends in diesen größeren Zeiträumen stabiler sind. Der 1-Minuten- und 5-Minuten-Zeitrahmen sollte gänzlich vermieden werden, es sei denn, er wird zur Bestätigung mit einem größeren Zeitrahmen gepaart. Das Ausstiegskriterium kann sein, dass der RVI umkippt oder dass der SAR seine Position im Verhältnis zum Preis ändert. Unsere Testergebnisse für Muster 3 werden im Folgenden vorgestellt. Dieses Muster funktionierte:
SAR-Umkehrung mit RVI überkauft/überverkauft
Unser fünftes Muster, Pattern-4, ist ein Umkehrsignal, das darauf abzielt, Preisumschwünge mit einer Momentum-Bestätigung zu erfassen. Die Beziehung zwischen SAR und Kursen deutet auf eine mögliche Richtungsänderung des Marktes hin. Das Kreuzen von RVI dient auch als Momentum-Bestätigungsfilter. Die Bedingungen für ein Kaufsignal bestehen darin, dass das Hoch des vorangegangenen Balkens am oder unter dem vorangegangenen SAR liegt, ein Zustand, in dem der Preis fällt; gefolgt vom Tief des aktuellen Balkens, das am oder über dem SAR liegt, was auf einen Umschwung unter den Preis für ein Aufwärts-Setup hinweisen würde. Der RVI müsste auch nach oben kreuzen, wie unsere improvisierte Funktion RVI-UP zeigt. Dies ist ein Zeichen für ein Aufwärtsmomentum. Darüber hinaus sollte der aktuelle RVI-Wert positiv sein, um die Aufwärtsthese zu untermauern. Wir setzen dies in MQL5 wie folgt um:
//+------------------------------------------------------------------+ //| Check for Pattern 4. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_4(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && High(X() + 1) <= SAR(X() + 1) && SAR(X()) <= Low(X()) && RVI_UP(X()) && RVI(X()) > 0.0) { return(true); } else if(T == POSITION_TYPE_SELL && Low(X() + 1) >= SAR(X() + 1) && SAR(X()) >= High(X()) && RVI_DN(X()) && RVI(X()) < 0.0) { return(true); } return(false); }
Die Bedingungen für ein Verkaufssignal sind umgekehrt dadurch gekennzeichnet, dass das vorherige Tief auf oder über dem vorherigen SAR liegt, was ein Zeichen für einen vergangenen Aufwärtstrend ist, und dass das aktuelle Hoch auf oder unter dem aktuellen SAR liegt. Dies stellt eine fallende Entwicklung dar. Unsere RVI-DN-Funktion muss auch das Kreuzen des RVI nach unten registrieren, was eine Bestätigung des Abwärtsmomentums darstellt. Außerdem muss der aktuelle RVI-Wert, wie beim Kaufsignal, negativ sein, um die Abwärtsstimmung zu bestätigen.
Diese Form des Musters ist von Natur aus ein Momentum-basierter Umkehr-Einstieg. Er profitiert von SAR-Umkehrpunkten und wird zusätzlich durch die vom RVI angezeigten Momentum-Verschiebungen verstärkt. Die idealen Marktbedingungen sind, wenn die Preise/Märkte kurz vor der Erschöpfung ihrer Trends stehen oder nach gescheiterten Ausbrüchen. Sie funktioniert auch am besten, wenn sich der Kurs in einer überkauften oder überverkauften Zone befindet und eine Momentum-Divergenz vorliegt.
Bei der Verwendung sollte man flache SAR-Zonen vermeiden. Man sollte dieses Muster nicht verwenden, wenn die Meldung sehr leichtfertig ist. Eine Bestätigung durch zusätzliche Instrumente kann ebenfalls sinnvoll sein, wenn ergänzende Indikatoren wie der MACD oder die RSI-Divergenz zur Validierung des RSI-Kreuzung herangezogen werden. Der geeignete Zeitrahmen für dieses spezielle Muster liegt wahrscheinlich im Bereich von 1 bis 4 Stunden, um die starken Umkehrstrukturen zu erfassen. Kürzere Zeitrahmen führen zwangsläufig zu vielen Fehlentwicklungen.
Eine Einstiegsanpassung mit einem ergänzenden Kerzenmuster oder einem Ausbruchsfilter wie dem Engulfing-Muster kann ebenfalls genutzt werden, um den Einstieg besser zu timen. Der Ausstiegsplan kann darin bestehen, dass der RVI seinen Schwung nicht beibehält oder dass der SAR nach dem Einstieg erneut umschlägt. Ein Volatilitätsfiler kann wie immer den STD-DEV oder den ATR einbeziehen, um Signale in Umgebungen mit zu geringer Volatilität zu unterdrücken. Das Testen unseres fünften Musters, Pattern-4, ergibt folgenden Bericht über die trainierten und des Vorwärtstests, Er funktionierte:
SAR-Konsolidierungsdurchbruch mit RVI-Kreuzung
Unser sechstes Muster ist ein Trendfortsetzungs-Ausbruchssignal, das für den Einstieg gedacht ist, kurz nachdem der SAR in einen neuen Trend umgeschlagen ist und die RVI-Momentum-Bestätigungen im Anmarsch sind. Das Kaufsignal setzt voraus, dass der Tiefststand des vorangegangenen Balkens über dem SAR liegt, um zu bestätigen, dass der Kurs über den „Trailing-Stop“ hinaus tendiert. Damit würde der aktuelle SAR auch unter dem Tief des aktuellen Balkens bleiben, was ein Zeichen für einen anhaltenden Aufwärtstrend wäre. In diesem Fall würde der RVI nach oben kreuzen, was ein Zeichen dafür wäre, dass das Aufwärtsmomentum „erneuert“ ist und mit dem vorherrschenden Trend übereinstimmt. Wir setzen dies in MQL5 wie folgt um:
//+------------------------------------------------------------------+ //| Check for Pattern 5. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_5(ENUM_POSITION_TYPE T) { if(STD_DEV(X()) >= fabs(SAR(X()) - SAR(X() + __PERIOD))) { if(T == POSITION_TYPE_BUY && High(X() + 1) <= SAR(X() + 1) && SAR(X()) <= Low(X()) && RVI_UP(X())) { return(true); } else if(T == POSITION_TYPE_SELL && Low(X() + 1) >= SAR(X() + 1) && SAR(X()) >= High(X()) && RVI_DN(X())) { return(true); } } return(false); }
Die Verkaufsvoraussetzungen bestehen darin, dass das Hoch des vorangegangenen Balkens unter dem SAR liegt, was auf einen Abwärtstrend hindeutet, und dass sich die gleichen Bedingungen im aktuellen Balken wiederholen, wobei das Hoch wiederum unter dem SAR liegt, was auf anhaltenden Verkaufsdruck hindeutet. Dies würde in Verbindung mit einem Überschreiten des RVI nach unten geschehen und eine nachlassende Dynamik markieren. Die Hauptprämisse dieses Musters besteht darin, dass es die SAR-Positionsbestätigung und das Kreuzen des RVI nutzt, bei dem die Preisposition relativ zum SAR mit Momentum-Ausrichtung für den Handelseinstieg verwendet wird, um frühe Umkehrungen zu minimieren. Der Unterschied zu den Mustern 3 und 4 besteht darin, dass Muster 5 nur nach SAR-Fortsetzungen mit RVI-Übereinstimmung filtert, aber keine Volatilitätsprüfungen vornimmt.
Wenn Sie das Muster 5 verwenden, sollten Sie es idealerweise in Trendmärkten einsetzen. Man sollte dies in Betracht ziehen, wenn starke Richtungsbewegungen im Spiel sind oder nach einem größeren Pullback, der den Trend und das Momentum erneut bestätigt. Bei diesem Muster sollte man Seitwärtsbewegungen oder „Auf-und-Nieder“-Bedingungen vermeiden. Bei niedriger Volatilität oder in SAR-Whip-Situationen kann Pattern-5 aufgrund von engen SAR-Flips und irreführenden RVI-Kreuzungen zu einer Vielzahl von Fehlsignalen führen. Die RVI-Bestätigung dient als Momentum-Gate für dieses Muster. Für schärfere Einstiegspunkte kann auch eine Multi-Timeframe-Bestätigung eingesetzt werden.
Bei der Verwendung dieses Musters muss auch sichergestellt werden, dass die optimalen SAR-Einstellungen verwendet werden. Deshalb kann es eine gute Idee sein, die Beschleunigungs- und Maximalparametereinstellungen zu überprüfen, um sicherzustellen, dass sie mit dem zu testenden Vermögenswert gut funktionieren. Die Integration von Risikofiltern wie STD-DEV und ATR ist ebenfalls etwas, das beim Umgang mit diesem Muster zu begrüßen ist. Dadurch wird insbesondere der Eintritt in ruhige Märkte vermieden. Die Testergebnisse für das Muster 5 liefern uns den folgenden Bericht, der weitergeht:
SAR-Trend mit RVI-Rücksetzer
Unser siebtes Muster ist ein Umkehrsignal der Volatilitätskompression, das versucht, Preisabweisungszonen zu identifizieren, in denen der SAR-Druck konsistent und das RVI-Momentum gestaut oder schwach ist. Die Logik der Kaufbedingung besteht darin, dass der Höchststand des vorherigen Balkens unter oder gleich dem vorherigen SAR liegt, was bedeutet, dass der Kurs unter dem Widerstand des SAR lag, der aktuelle SAR jedoch unter oder gleich dem aktuellen Tiefstkurs liegt; ein Zeichen dafür, dass der SAR gesunken ist und nun als Unterstützung dient. Dies würde vor dem Hintergrund eines RVI-Wertes geschehen, der nahe bei Null liegt und eine geringe bis neutrale Dynamik signalisiert. Wenn der RVI-Wert nahe bei Null liegt, ist dies in der Regel ein Zeichen dafür, dass sich der Markt auf einen möglichen Ausbruch vorbereitet. Wir setzen dies in MQL5 wie folgt um:
//+------------------------------------------------------------------+ //| Check for Pattern 6. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_6(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Low(X() + 1) > SAR(X() + 1) && SAR(X()) < Low(X()) && RVI_UP(X())) { return(true); } else if(T == POSITION_TYPE_SELL && High(X() + 1) < SAR(X() + 1) && SAR(X()) > High(X()) && RVI_DN(X())) { return(true); } return(false); }
Die Logik der Verkaufsbedingung für unser siebtes Muster besteht darin, dass der Tiefststand des vorangegangenen Balkens über oder gleich dem vorangegangenen SAR liegt, was ein Zeichen dafür ist, dass sich der Kurs in der Unterstützungsrolle befindet. Anschließend dreht sich der aktuelle SAR-Wert und liegt über oder gleich dem aktuellen Hoch, während der SAR-Wert über den Kurs steigt. Der RVI würde sich kurz vor einer Umkehr nahe Null befinden, mit geringem oder abnehmendem Schwung.
Der Sinn der Verwendung des RVI-Filters mit einer Punktgröße besteht darin, dass er als Volatilitätsunterdrückungsfilter fungiert. Dies trägt dazu bei, die ruhige Schwungphase zu markieren, die oft kurz vor einem Ausbruch oder einer Umkehrung auftritt. Das strategische Ziel dieses Musters besteht darin, die vorherige Richtung während einer Kompressionsphase, in der der SAR versucht, sich umzukehren, und der RVI noch nicht richtungsweisend ist, auszublenden; es handelt sich also um eine gegenläufige Randbedingung.
Ideale Anwendungsfälle für das siebte Muster sind Märkte, die sich in einer Bandbreite bewegen, insbesondere in der Nähe wichtiger Unterstützungs-/Widerstandsbereiche. Er sollte bei starken Trends vermieden werden. Es kann mit einer Ausbruchslogik gekoppelt werden. Darüber hinaus ist es wichtig, die Spread- und Pip-Werte zu beobachten, da dieses Muster empfindlich auf sie reagiert. Auch die Verwendung von Tageszeitfiltern kann die Leistung dieses Musters steigern. Bei der Prüfung unseres siebten Musters erhalten wir den folgenden Bericht, der nicht weitergeht:
Doppelte Formation von SAR-Trend und RVI
Unser achtes Muster, Pattern-7, wurde entwickelt, um momentumbasierte Ausbrüche zu erkennen, die durch mehrere RVI-Aufwärts-/Abwärtssignale nach einer SAR-Positionierung bestätigt werden. Er sucht nach einer Trendfortsetzung nach einem Momentum-Durchbruch. Dies ist in der Regel ein Wechsel von der Ablehnung des Preises zur Richtungsbestimmung, die bestätigt wird. Die Kaufbedingungen sind gegeben, wenn das vorherige Kerzentief über dem SAR liegt, was darauf hindeutet, dass sich der Kurs über der SAR-Unterstützung hält, gefolgt vom aktuellen SAR, der ebenfalls unter dem Preistief liegt, was bestätigt, dass der SAR den Kurs nachzieht. Wir hätten zwei RVI-Aufwärtsbewegungen innerhalb einer Zeitspanne gehabt, die den vom Indikator verwendeten Eingabezeitraum nicht überschreitet. Im Falle des Aufwärtssignals handelt es sich um einen neuen doppelten Boden. Wir setzen dies in MQL5 wie folgt um:
//+------------------------------------------------------------------+ //| Check for Pattern 7. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_7(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && High(X() + 1) <= SAR(X() + 1) && SAR(X()) <= Low(X()) && fabs(RVI(X())) <= 250.0 * m_symbol.Point()) { return(true); } else if(T == POSITION_TYPE_SELL && Low(X() + 1) >= SAR(X() + 1) && SAR(X()) >= High(X()) && fabs(RVI(X())) <= 250.0 * m_symbol.Point()) { return(true); } return(false); }
Die Verkaufsbedingung ist umgekehrt, wenn der vorherige Höchststand der Kerze unter dem SAR lag, ein Zeichen dafür, dass der Preis unter dem SAR-Widerstand liegt. Darauf folgt der aktuelle SAR, der seine Sub-SAR-Position beibehält, mit zwei jüngsten RVI-Dip-Kreuze innerhalb der Periodenlänge des Indikators. Die Logik der doppelten Bestätigung dient dazu, Fehlstarts und schwache Impulse herauszufiltern. Er führt einen Aspekt der verzögerten Bestätigung ein, eine Form der Momentum-Filterung, die eine bessere Trendqualität gewährleistet. Da dieses Muster auf einen doppelten Boden oder ein doppeltes Top im RVI innerhalb des RVI-Indikatorzeitraums abzielt, deutet dies darauf hin, dass ein Einstieg nur dann erfolgt, wenn das Momentum anhält, was eine gute Sicherheitsmaßnahme ist. Die Prüfung von diesem Pattern-7 präsentiert uns den folgenden Bericht mit Vorwärtstest:
SAR-Beschleunigung mit einem RVI-Ausreißer
Unser neuntes Muster, Pattern-8, sucht nach einer Bestätigung der Beschleunigung sowohl durch den Kurs-SAR-Abstand als auch durch das RVI-Momentum. Er bewertet, ob sich der Abstand zwischen dem Preis und dem SAR vergrößert. Dies dient oft als Anhaltspunkt für die Stärke des Trends und stellt gleichzeitig sicher, dass das RVI-Momentum ebenfalls in dieselbe Richtung geht. Die Kauflogik ist, wenn das Tief über dem SAR der letzten 2 Balken liegt und sich die Lücke zwischen diesem Tief und dem SAR vergrößert, verbunden mit zunehmenden Veränderungen des RVI nach oben. Dies ist in MQL5 wie folgt kodiert:
//+------------------------------------------------------------------+ //| Check for Pattern 8. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_8(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Low(X() + 1) > SAR(X() + 1) && SAR(X()) < Low(X()) && RVI_UP(X())) { bool _double = false; for(int i = X() + 1; i < X() + __PERIOD + 1; i++) { if(RVI_UP(i)) { _double = true; break; } } return(_double); } else if(T == POSITION_TYPE_SELL && High(X() + 1) < SAR(X() + 1) && SAR(X()) > High(X()) && RVI_DN(X())) { bool _double = false; for(int i = X() + 1; i < X() + __PERIOD + 1; i++) { if(RVI_DN(i)) { _double = true; break; } } return(_double); } return(false); }
Die Verkaufslogik besteht ebenfalls darin, dass zwei aufeinanderfolgende Balken des SAR über dem Höchstkurs liegen, wobei diese Lücke zwischen dem SAR und dem Höchstkurs auf die Expansion zurückzuführen ist. Dies ist auch dann der Fall, wenn sich die Veränderungen des RVI nach unten verstärken, was eine Art von fallende Beschleunigung darstellt. Durch die Verwendung von RVI-Differenzen zweiter Ordnung wird das Verhalten der zweiten Ableitung erfasst. Dies zielt auf eine konvexe Kurve oder eine steigende Dynamik ab, nicht nur auf eine aktuelle Dynamik.
Dieses Muster vermeidet grundlegende Überschneidungen wie in Pattern-7. Er nutzt keine Kreuzungs-Ereignisse, sondern macht sich stattdessen die Veränderungsrate zunutze, wodurch das Rauschen schneller Umkehrungen reduziert werden kann. Er geht auch davon aus, dass die Dynamik mit dem Preis zunimmt, was seine Kernphilosophie ist. Mit anderen Worten: Das Momentum muss steigen, wenn der Kurs auch den Richtungsausbruch anzeigt. Unsere Testergebnisse für dieses Muster lauten wie folgt, und wir haben eine positive Vorwärtsbewegung:
Schlussfolgerung
Wir schließen hier unseren ersten Blick auf die Muster des Parabolic SAR und des Relative Vigour Index ab. Wir haben das zehnte Muster, Pattern-9, nicht behandelt, da der Artikel etwas zu lang geworden wäre. Der vollständige Quellcode für alle 10 Muster ist unten angehängt, und es steht den Lesern frei, sich darin zu vertiefen und Korrekturen vorzunehmen. Der Code ist für die Verwendung mit dem MQL5-Assistenten für neue Leser gedacht, und eine Anleitung finden Sie hier für diejenigen, die sie benötigen. Im nächsten Artikel, in dem wir versuchen, diese Signalmuster mit einer überwachten Bedeutung zu ergänzen, werden wir uns auf die Muster konzentrieren, die nicht erfolgreich vorwärts gehen konnten.
Name | Beschreibung |
---|---|
WZ-69.mq5 | Assistenz-Assemblierter Expert Advisor, dessen Kopfzeile die verwendeten Dateien angibt |
SignalWZ-69.mqh | Nutzerdefinierte Signalklassendatei, die vom MQL5-Assistenten beim Zusammenstellen des Expert Advisors verwendet wird |
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/18399
Warnung: Alle Rechte sind von MetaQuotes Ltd. vorbehalten. Kopieren oder Vervielfältigen untersagt.
Dieser Artikel wurde von einem Nutzer der Website verfasst und gibt dessen persönliche Meinung wieder. MetaQuotes Ltd übernimmt keine Verantwortung für die Richtigkeit der dargestellten Informationen oder für Folgen, die sich aus der Anwendung der beschriebenen Lösungen, Strategien oder Empfehlungen ergeben.





- 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.