MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 84): Verwendung von Mustern des Stochastik-Oszillators und des FrAMA – Schlussfolgerung
Einführung
Im letzten Artikel haben wir die ersten 5 Signalmuster des Indikatorpaares Stochastik-Oszillator und Fractal Adapting Moving Average untersucht. In unserem kleinen Testfenster schienen alle einen Vorwärtstest mit Gewinn zu haben, wobei das Training über ein Jahr und die Validierung im darauf folgenden Jahr durchgeführt wurde.
Wir haben diese Tests unter Berücksichtigung der für die Muster geeigneten Markttypen durchgeführt und dabei auch für jeden Markttyp „geeignete“ Vermögenswerte verwendet. Die von uns betrachteten Marktarchetypen waren trendfolgende/mittelwertrückkehrende, autokorrelierte/entkoppelte und hohe/niedrige Volatilitätsmärkte. Innerhalb dieser Typen haben wir versucht, bestimmte Asset-Typen zuzuordnen, die von diesen Mustern besser genutzt werden.
Wir behalten daher die gleiche Asset-Typ/Markt-Arche-Typ-Paarung des letzten Artikels bei, wenn wir die verbleibenden 5 Signalmuster dieser Indikatorpaarung besprechen.
Muster 5: Ausbruch bei niedriger Volatilität und flachen Linie
Unser sechstes Muster, Muster 5, ist für ein ruhiges oder wenig volatiles Umfeld konzipiert. Die Voraussetzungen dafür sind daher die Identifizierung von Preiskompressionszonen, die sowohl FrAMA als auch Seitwärtsbewegung der Preise vor einem Knall in einer bestimmten Richtung aufweisen. Im Wesentlichen versuchen wir, den Moment zu erfassen, in dem die Volatilität nach einer längeren Kontraktion ausbricht. Solche Systeme sind dem Vermögenswert, an dem wir sie im letzten Artikel getestet haben, nicht fremd, und dieser Vermögenswert war USDJPY. Der Wechsel zwischen starken Ausbrüchen und langen Konsolidierungen ist bei diesem Devisenpaar sehr häufig. Wir implementieren dies wie folgt in MQL5:
Kaufsignal (Muster 5): Flacher FrAMA + Kreuzen der Stochastik unter 30

//+------------------------------------------------------------------+ //| Check for Pattern 5. | //+------------------------------------------------------------------+ bool CSignalFrAMA_Stochastic::IsPattern_5(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY) { return((FlatFrama(X()) && CrossUp(K(X()), D(X()), K(X() + 1), D(X() + 1)) && K(X()) < 30) ? true : false); } else if(T == POSITION_TYPE_SELL) { return((FlatFrama(X()) && CrossDown(K(X()), D(X()), K(X() + 1), D(X() + 1)) && K(X()) > 70) ? true : false); } return(false); }
Die interne Logik dieses Musters hängt von der Methode „FlatFarma()“ ab, deren Code im letzten Artikel vorgestellt wurde. Diese Funktion misst im Wesentlichen den Grad, in dem FrAMA flach war, wenn eine Toleranz verwendet wird, die durch den Hyperparameter „m_pips“ eingestellt wird. Der Vollständigkeit halber teilen wir diese Funktion im Folgenden:
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool CSignalFrAMA_Stochastic::FlatFrama(int ind) { const double tol = m_pips * m_symbol.Point(); for(int i = ind; i < m_past+ind; i++) if(MathAbs(FrAMASlope(i)) > tol) return false; return true; }
Unsere obige boolesche Logik prüft lediglich die „Flachheit“ der FrAMA-Steigung über ein Rückblicksfenster, einen weiteren optimierten Hyperparameter. Dies ist der Fall, wenn die Volatilität im vorangegangenen Rückblickszeitraum tatsächlich gering war und die Richtung nicht stimmte. Wenn wir dies mit dem Stochastik-Oszillator koppeln und das Kreuzen der Stochastik in der Nähe der Schwellenwerte von 30 oder 70 verwenden, versucht das Muster im Wesentlichen, einen Volatilitätsausbruch zu antizipieren. Zusammenfassend lässt sich also sagen, dass das beabsichtigte Marktverhalten darin besteht, ein ruhiges Fahrwasser zu erkennen, auf ein Kreuzen der Stochastik zu warten, das einen Impuls auslösen könnte, und dann präventiv einzusteigen, in Erwartung eines Volatilitätsanstiegs.
Die Verwendung des USDJPY für diesen Zweck war wichtig, da der USDJPY für seine Kompression in engen Bandbreiten zwischen Makro-Ereignissen bekannt ist. Sie bietet tendenziell eine ideale theoretische Grundlage für Volatilitätsausbruchsmodelle. Die Anpassungsfähigkeit des FrAMA würde also die Kontraktionsphase des USDJPY bestätigen, während die Reaktivierung des Stochastik eine frühe Tendenz zur Richtungsänderung anzeigt. Beim anschließenden Training dieses Paares traten mehrere dieser Fälle mehrfach auf, insbesondere im politischen Fenster der BOJ im Januar 2024. Dies bedeutete, dass wir perfekte Setups mit geringer Volatilität hatten. Mit dem Übergang in die erwartete hohe Volatilität, vor allem nach 2024, als wir Vorwärtstests durchführten, verschwand das Umfeld für solche Setups, und die Volatilität war meist erratisch. Dies machte die Abhängigkeit des Musters von bestimmten Marktregimen deutlich und erklärt zum Teil, warum wir nicht in der Lage waren, mit diesem Muster gewinnbringend vorwärts zu gehen, wie in dem nachstehenden Bericht angegeben;

Beim Vorwärtsdurchlauf war die FrAMA-Prüfung auf die Seitwärtsbewegung oft über mehrere Balken hinweg „wahr“, selbst bei Volatilitätsspitzen, und dies führte zu falschen Ausbrüchen und verspäteten Einstiegen. Das Modell suchte nach ruhigen Märkten, fand aber eine erratische Volatilität. Unsere binären Bedingungen, die nur auf Seitwärtsbewegungen basieren, sind nicht in der Lage, sich schnell genug an neue Volatilitätsregime anzupassen. Dies könnte auf die Notwendigkeit eines dynamischen und nicht statischen Rückblicks hinweisen.
Muster 6: Wiederaufnahme des Trends, W- und M-Formationen
Dieses Muster wurde entwickelt, um die Wiederaufnahme von Trends nach einer Korrektur zu erfassen. Indem wir in der Lage sind, wiederkehrende Momentum-Formationen, deren visuelle Darstellung einem „W“ für Aufwärts-Formationen und einem „M“ für Abwärts-Formationen ähnelt, innerhalb des Stochastik-Oszillators zu erkennen, identifizieren wir die Stellen, an denen das Momentum einbricht, sich stabilisiert und sich dann wieder in Richtung des Haupttrends durchsetzt. Bei diesem Muster wird auch die Steigung des FrAMA als Richtungsprüfung einbezogen, sodass nur Setups mit dem vorherrschenden adaptiven Trend als gültig angesehen werden. Auf dem Papier handelt es sich also um einen klassischen Trendfortsetzungsalgorithmus, der sich ideal für Gold eignet, wo mehrstufige Richtungswellen an der Tagesordnung sind. Wir implementieren dies wie folgt in MQL5.
Verkaufssignal (Muster 6): Stoch „M“ Spitze über 80 + FrAMA Anstieg nach oben

//+------------------------------------------------------------------+ //| Check for Pattern 6. | //+------------------------------------------------------------------+ bool CSignalFrAMA_Stochastic::IsPattern_6(ENUM_POSITION_TYPE T) { bool W = (K(X() + 2) < 20 && K(X() + 1) > K(X() + 2) && K(X()) < 20 && K(X()) > K(X() + 1)); bool M = (K(X() + 2) > 80 && K(X() + 1) < K(X() + 2) && K(X()) > 80 && K(X()) < K(X() + 1)); if(T == POSITION_TYPE_BUY) { return((FrAMASlope(X()) < 0 && W) ? true : false); } else if(T == POSITION_TYPE_SELL) { return((FrAMASlope(X()) > 0 && M) ? true : false); } return(false); }
Ausgehend von unserer obigen Quelle suchen wir nach einer W-Formation, bei der der Stochastik K zwei Tiefs unter 20 bildet, wobei das zweite dieser Tiefs höher ist als die erste. Um zu verkaufen, suchen wir nach einer K-Formation von zwei Ausreißern über 80. Auch hier gilt, wie beim Aufwärtstrend, dass das zweite Hoch unter dem ersten liegen muss. In diesem Fall dient die FrAMA-Steilheit als Regimefilter. Sie prüft, ob diese Formationen in einer Korrekturphase stattfinden oder nicht. Die Struktur zielt darauf ab, zu erkennen, wann das Momentum erschöpft ist und der Haupttrend kurz vor der Wiederaufnahme steht – ein Setup, das für den Wiedereinstieg in der Mitte des Trends entwickelt wurde.
Die Verwendung von Gold als Vermögenswert zum Testen dieses Signalmusters ist auf die „Trendmechanik“ von Gold zurückzuführen. Es ist oft ein guter Kandidat für einen Wiedereinstieg. Außerdem zeigt es oft lange impulsive Phasen, die von kleinen Rücksetzern unterbrochen werden, ein „fruchtbarer Boden“ für die von uns gesuchten stochastischen „W/M“-Formationen. Die starke Beteiligung von institutionellen und privaten Anlegern an der Goldpreisentwicklung führt häufig dazu, dass Momentum-Oszillatoren wie der Stochastik-Oszillator in Trendpausen eine starke harmonische Wiederholung aufweisen. Die Steigung des FrAMA sollte dann die stochastischen Messwerte filtern, indem sie eine Anpassung an den zugrunde liegenden Trendkontext sicherstellt. Beim Trainieren/Optimieren dieses Signalmusters war es vielversprechend, diese wellenbasierten Fortsetzungen erfolgreich zu identifizieren, aber wir stellen später fest, dass dieser Erfolg von der Konsistenz der Volatilitätszyklen abhängig ist. Diese ändern sich beim Vorwärtstest erheblich, was sich in den unten dargestellten Ergebnissen widerspiegelt:

So schneidet das Muster 6 bei strukturierten Trends gut ab, wie dies bei den Läufen von 2023 der Fall war, aber nicht so gut bei Phasen mit variabler Volatilität, wie dies bei 2025 der Fall war. Der „Rhythmus“ des Goldpreises änderte sich zwischen 2024 und 2025, wobei die Pullbacks etwas tiefer und weniger symmetrisch ausfielen, was die Geometrie des „W/M“-Musters untergrub. Der Vorwärtstest mit Verlust zeigt trotz der Verwendung binär kodierter Signale Tendenzen zur statischen Geometrieerkennung. Wie für Muster 5 vorgeschlagen, könnten Verbesserungen für Muster 6 eine adaptive Fensterung in Betracht ziehen, die volatilitätsbereinigte Rückblickbalken -Zählungen enthalten könnte, oder die Verwendung einer dynamischen FrAMA-Slope-Schwelle, um eine gewisse Robustheit zu erreichen.
In gewisser Weise unterstreicht dieses Signal den wichtigen Kompromiss, der zwischen Präzision und Anpassungsfähigkeit besteht. Während die „W/M“-Logik in der Lage war, saubere Pullbacks in den Trainingstrendkursen zu erkennen, war sie mit der sich ändernden Volatilitätssymmetrie an den Terminmärkten überfordert. Für einen dauerhaften Einsatz könnte also neben einem dynamischen Rückblick für Robustheit ein zusätzliches Kontextbewusstsein aus dem Verstärkungslernen mit MQL5-codierten und nicht ONNX-importierten Modellen erforscht werden.
Muster 7: Rückkehr zum Mittelwert, FrAMA, Umkehr nach Berührung
Während das Muster 6 mit der Volatilitätssymmetrie zu kämpfen hat, ist unser nächstes Muster so konzipiert, dass es von ihr „lebt“. Das Design von Muster 7 verkörpert die Logik einer Rückkehr zum Mittelwert bzw. eines Abpralls, die aktiviert wird, wenn der Preis den adaptiven Mittelwert berührt, während der Stochastik-Oszillator bei einem Extremwert aussteigt. Dieses Signalmuster zielt auf die Momente ab, in denen sich der Preis kurzzeitig wieder dem Gleichgewicht nähert, bevor er seinen Schwingungszyklus wieder aufnimmt. Dies ist gewissermaßen ein Archetyp von „buy-the-dip“ oder „sell-the-rally“.
Wir wählen Gold als Wert, um dieses Muster zu testen, da es häufig zwischen Richtungsimpulsen und ruhigen Konsolidierungsphasen wechselt. Der Rhythmus von Gold ist reich an Berührungs- und Abprallsequenzen. Vor allem wenn man das Chartbild bis etwa 1980 zurückverfolgt, sind die Konsolidierungsphasen sehr signifikant. Von April 1980 bis Juli 2006 befand sie sich im Wesentlichen in einer Konsolidierungsphase. In ähnlicher Weise haben wir kürzlich von Juli 2012 bis Juli 2020 ein weiteres Konsolidierungsband erhalten. In einem großen Zeitrahmen sind wir derzeit in Bewegung und befinden uns sogar auf Allzeithochs. Vor diesem Hintergrund würde der FrAMA für ein adaptives Gleichgewicht sorgen, und die K-Steilheit der Stochastik würde dazu beitragen, kurzfristige Einstiegsmöglichkeiten zu schaffen. Wir setzen dies in MQL5 wie folgt um:
Kaufsignal (Muster 7): Kurs berührt FrAMA + Stoch steigt über 30

//+------------------------------------------------------------------+ //| Check for Pattern 7. | //+------------------------------------------------------------------+ bool CSignalFrAMA_Stochastic::IsPattern_7(ENUM_POSITION_TYPE T) { bool touch = (Low(X()) <= FrAMA(X()) && High(X()) >= FrAMA(X())); if(T == POSITION_TYPE_BUY) { return((touch && K(X() - 1) < 20 && K(X()) > 30) ? true : false); } else if(T == POSITION_TYPE_SELL) { return((touch && K(X() - 1) > 80 && K(X()) < 70) ? true : false); } return(false); }
Unsere obige Auflistung prüft, ob die Kerze die FrAMA-Linie kreuzt. Dadurch wird sichergestellt, dass der Markt tatsächlich mit dem adaptiven Mittelwert interagiert. Für ein Kaufsignal muss der Stochastik K von unter 20 auf über 30 ansteigen. Dies bedeutet einen Ausstieg aus der überverkauften Zone. Für ein Verkaufssignal muss der K-Puffer von über 80 nach unten drehen und bei oder unter 70 schließen. Auch dies signalisiert den Beginn einer mittleren Umkehr aus einem überkauften Zustand. Unser Code bestimmt im Wesentlichen, ob der Kurs den Mittelwert erreicht hat und ob sich die Dynamik umgekehrt hat. Dies könnte ein zuverlässiger Gegenschwung sein, insbesondere in unruhigen Umgebungen.
Wir haben uns für Gold entschieden, da es längere Konsolidierungsphasen gibt und es wichtig ist, zu erkennen, wann diese in Trends umschlagen. Der FrAMA passt sich den Volatilitätszyklen des Goldes reibungslos an, indem sein Mittelwert in Echtzeit neu kalibriert wird. Selbst auf kleineren Zeitskalen wie der 4-Stunden-Linie, auf der wir testen, driftet Gold nach impulsiven Ausdehnungen häufig zu seinem adaptiven Mittelwert, und wenn es den FrAMA berührt, fallen diese „Berührungsereignisse“ in der Regel mit der Erschöpfung der Spekulationsposition, einem Schwung in der Dynamik, zusammen. Der Stochastik-Oszillator dient also dazu, das neue Momentum abseits des Mittelwerts zu bestätigen, indem er als Filter fungiert und das Risiko eines Übergangs in eine Trendfortsetzung verringert. Im Anschluss an unsere Training für die Jahre 2023 bis 2024 ergab der Bericht über die Vorwärtsbewegung einen gewissen Gewinn, wie unten angegeben:

Die gewählten Inputs ergaben beim Training des Musters 7 eine mäßige Handelsfrequenz von etwa einem Handel alle 4 bis 5 Takte, d. h. fast einen Handel pro Tag. Dies deutet auf eine effiziente Filterung hin, die wir erreichen konnten, als der Optimierer bei 73 konvergierte und das komplexe Kriterium verwendete, das normalerweise den Wert 100 anstrebt. Auf dem Papier sollte dies auf einen konstanten Beitrag zur Rentabilität hindeuten. Innerhalb des Tests selbst scheint die Performance zwischen Oktober 2023 und März 2024 ihren Höhepunkt erreicht zu haben, also in Zeiträumen, die durch oszillierende Konsolidierungen nach dem Trend gekennzeichnet waren. Dies bestätigt, dass das Muster wie eine Reversion aufgebaut ist.
Beim Vorwärtstest blieben die Signalmuster 7 trotz der wechselnden Volatilität stabil. Die Berührungsbedingung von FrAMA war automatisch in der Lage, mit der Amplitude zu skalieren. Anfang 2025, als der Goldpreis innerhalb einer Handelsspanne korrigierte und anschließend mit einer Stochastik-Korrektur den FrAMA durchbrach, spielten sich einige lehrbuchmäßige Handlungen ab. Dies führte zu einer Menge sauberer Umkehrungen. Wichtig ist, dass uns der vorherige K-Wert eine Bestätigung lieferte, die sich verzögerte, und wir dennoch keine Gewinne aus späten Einstiegen geopfert haben.
Zusammenfassend lässt sich also sagen, dass Muster 7 den Beweis erbringt, dass die Rückkehr zum Mittelwert mit adaptiven Durchschnittswerten möglich ist, wenn sie als diskrete boolesche Logik kodiert werden. Boolesche Logik in dem Sinne, dass immer mehrere Indikatorsignale registriert werden müssen, bevor ein Muster für vorhanden erklärt wird. Zusammen mit einem Signal, das wir im letzten Artikel gesehen haben, ich glaube, es war Muster 1, könnten die beiden ein belastbares Regime-Switching-Grundgerüst bilden.
Muster 8: Hohe Volatilität, Kreuzen der Mittellinien, Momentum
Während das Muster, das wir am Ende des letzten Artikels gesehen haben (Muster 4), die Ränder von Volatilitätsausbrüchen erfasst hat, konzentriert sich unser neuntes Signalmuster auf den internen Momentumswechsel, der der Volatilität folgt. Dieses Muster zielt darauf ab, Zeiten zu erkennen, in denen der Kurs unter Bedingungen hoher Volatilität die Mittellinie des FrAMA mit neuer Stärke kreuzt. Dies bedeutet häufig, dass die Volatilität nicht nur zunimmt, sondern auch die Richtung wechselt.
Anders ausgedrückt, geht es bei diesem Muster um die Fortsetzung der Volatilität, d. h. um den Handel mit dem zweiten Volatilitätsimpuls nach einem Ausbruch aus dem ersten. Da dieses Muster sowohl ein Kreuzen der FrAMA-Mittellinie als auch eine Bestätigung der Stochastik im mittleren Bereich erfordert, sorgt es dafür, dass durch Rauschen bedingte Ausschläge herausgefiltert werden. Dies geschieht, während echte direktionale Erweiterungen erfasst werden. Wir implementieren sie in MQL5 wie folgt:
//+------------------------------------------------------------------+ //| Check for Pattern 8. | //+------------------------------------------------------------------+ bool CSignalFrAMA_Stochastic::IsPattern_8(ENUM_POSITION_TYPE T) { // Midline (50) cross via synthetic “moving” reference bool crossUpMid = (K(X() + 1) <= 50.0 && K(X()) > 50.0); bool crossDownMid = (K(X() + 1) >= 50.0 && K(X()) < 50.0); if(T == POSITION_TYPE_BUY) { return((FramaTurningUp() && crossUpMid) ? true : false); } else if(T == POSITION_TYPE_SELL) { return((FramaTurningDown() && crossDownMid) ? true : false); } return(false); }
Dieses Setup löst, wie oben beschrieben, ein boolesches Signal aus, wenn der Schlusskurs den FrAMA in dieselbe Richtung wie die Mittellinie des Stochastik-Oszillators kreuzt. Ein Kaufsignal liegt vor, wenn der Stochastik K über 55 liegt, was eine Bestätigung des anhaltenden Aufwärtsmomentums darstellt. Ein Verkaufssignal liegt vor, wenn der Stochastik K die 45er-Marke überschreitet und darunter schließt, was bestätigt, dass der Abwärtsdruck anhält. Unser neuntes Muster zielt darauf ab, Überreaktionen auf kurzfristige Überschreitungen zu vermeiden, indem wir uns nicht auf die typischen Extremzonen konzentrieren, sondern uns stattdessen auf die mittleren Oszillatorniveaus konzentrieren. Er verfolgt reife, volatilitätsbedingte Fortsetzungen.
Wir haben uns bei diesem Muster für den USDJPY entschieden, weil er, wie bei früheren ähnlichen Signalen, volatilitätsempfindlich ist. Die Dynamik des USDJPY ist, wie bereits erwähnt, in der Regel durch den Wechsel zwischen Phasen geringer Volatilität und starken Richtungswechseln gekennzeichnet. Muster 8 soll diese Phase-2-Beschleunigungen ausnutzen, wenn der Kurs nach einem anfänglichen Volatilitätsschub wieder über oder unter den anpassungsfähigen Mittelwert klettert.
Die Anpassungsfähigkeit von FrAMA stellt sicher, dass die Mittellinie den vorherrschenden strukturellen Mittelwert widerspiegelt, selbst in Situationen, in denen sich die Marktbedingungen ändern. Der Stochastik hat die 50er-Schwelle erreicht und bestätigt damit, dass diese Bewegung entweder von Dauer ist oder nur ein Rauschen widerspiegelt. Dieses Muster war in der Lage, den Vorwärtstest mit Gewinn zu bestehen, wie wir im nachstehenden Bericht sehen können:

Beim Optimieren/Trainieren zeigten die besten Eingabeeinstellungen eine solide volatilitätsorientierte Rentabilität im trainierten Zeitraum. Die beste Performance war in zwei Zeiträumen zu verzeichnen: Ende 2023 und Anfang 2024. Dies wurde durch die Ausnutzung großer Richtungsänderungen nach einer längeren Kompression erreicht. Wir konnten die K-Schwellenwerte im Bereich von 45/55 verwenden, was bestätigt, dass das Momentum der Kreuzens im mittleren Band eine gewisse Persistenz aufweisen und in volatilen Phasen besser abschneiden kann als die extremen Zonen der stochastischen Oszillatoren.
Der Vorwärtstest war gewinnbringend, insbesondere Anfang 2025, als die BOJ die Welt schockierte, indem sie ihre Zinssätze von 0,25 auf 0,5 % erhöhte. Da der USDJPY-Kurs zu diesem Zeitpunkt überhöht war, kam es zu einer unregelmäßigen Richtungsänderung. Mit diesem Signalmuster wurden Fehlalarme vermieden, da es nur dann ausgelöst wurde, wenn gültige Bedingungen für ein Kreuzen mit Momentum vorlagen. Bemerkenswert ist auch, dass der Drawdown mit ca. 10,4 % moderat blieb, was beweist, dass die Fähigkeit des Musters, die Performance bei wechselnden Volatilitätsszenarien aufrechtzuerhalten, eingeplant war.Muster 9: Entkoppelte Überstreckung Umkehrung
Unser endgültiges Signalmuster ist als konträrer Entkopplungsdetektor aufgebaut. Er soll die Erschöpfung erfassen, wenn sich das Kursmomentum zu weit von seinem adaptiven Mittelwert entfernt, der in unserem Fall der FrAMA ist, und zeigt dann ein divergierendes Oszillatorverhalten an. Dieses Muster zielt darauf ab, von kurzfristigen Verwerfungen zwischen dem strukturellen Trend und den stochastischen Messwerten zu profitieren, was bei Indizes wie dem SPX 500 häufig vorkommt, wo zusammengesetzte, korrelierende Sektoren überschießen können, bevor sie wieder zurückfallen. Wir setzen dies in MQL5 wie folgt um:
Verkaufssignal (Muster 9): Aufwärtstrend FrAMA + Stoch > 90 und fällt

//+------------------------------------------------------------------+ //| Check for Pattern 9. | //+------------------------------------------------------------------+ bool CSignalFrAMA_Stochastic::IsPattern_9(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY) { return((FrAMASlope(X()) < 0 && K(X()) < 10 && K(X()) >= K(X() + 1)) ? true : false); } else if(T == POSITION_TYPE_SELL) { return((FrAMASlope(X()) > 0 && K(X()) > 90 && K(X()) <= K(X() + 1)) ? true : false); } return(false); }
Ein Kaufsignal liegt vor, wenn der Kurs deutlich unter den FrAMA fällt und der Stochastik in den stark überverkauften Bereich gelangt. Ein Verkaufssignal liegt auch dann vor, wenn der Kurs weit über dem adaptiven Mittelwert notiert und der Oszillator sich in der extrem überkauften Zone befindet. Wir verwenden einen 3-fachen Abstandsfaktor, um diese Übererweiterungen zu quantifizieren. Dieser Faktor soll sicherstellen, dass das Signal nur bei ausgeprägten Abweichungen aktiviert oder ausgelöst wird. Die Oszillatorkomponente muss auch bestätigen, dass das interne Momentum gesättigt ist, um eine Umkehr mit hoher Wahrscheinlichkeit zu implizieren.
Wir verwenden den SPX 500 Index, da er aufgrund seines zusammengesetzten Charakters auch synchronisierte Ausdehnungen der ihm zugrunde liegenden Sektoren aufweist, bevor es zu mittleren Korrekturen kommt. Diese von der Masse ausgelösten Übertreibungen bieten ein hervorragendes Testumfeld für konträre Signale, wie bei diesem Muster. Die These hierfür ist, dass breite Indizes in der Vergangenheit dazu tendierten, eine durch die Sektorrotation bedingte Entkopplung zu zeigen, wenn z. B. Technologie und Energie in der Kursentwicklung divergieren, obwohl der Index neue Höchststände verzeichnet. Trotz all dieser guten Absichten versagt dieses Muster, so wie 5 und 6, beim Vorwärtstest. Dies könnte daran liegen, dass die strukturelle Widerstandsfähigkeit des SPX 500, die ein Rebalancing der börsengehandelten Fonds beinhaltet, die Dauer einer solchen Entkopplung begrenzen kann. Aus diesem Grund kann das, was zunächst wie eine Übertreibung aussieht, leicht auslaufen und zu einer Schwungfortsetzung werden. Dies kann zu verfrühten Stornoeinträgen führen. Der Bericht über den Vorwärtstest lautet wie folgt:

Beim „Training“ deutete dieses Muster auf eine solide Performance in der Stichprobe hin, insbesondere in der Konsolidierungsperiode von Mitte 2023 bis Anfang 2024. Damals folgten auf kurzzeitige Überschreitungen kleinere Rückschläge. Außerdem können wir – wenn auch posthum – sagen, dass unser Optimierungsfenster mehrere ausgeglichene Volatilitätsphasen enthielt und das Muster gut kalibriert erschien. Die boolesche Schwellenwertprüfung schien Überschreitungen mit schnellem Abprallen „sauber“ zu isolieren. Trotzdem stammten die meisten Gewinne aus nur drei Clustern, was eher auf eine zeitliche Konzentration als auf Robustheit hindeutet.
Im Vorwärtstest gingen die „Hühner zum Grill“. Der Markt im Jahr 2025 war ein Rotationsmarkt, auf dem die Preise regelmäßig die dreifache Punktabweichung überstiegen, während sie sich in einem anhaltenden Trend befanden. Auch der K-Puffer des Stochastik-Oszillators blieb meist in der Nähe oder an den Extremen hängen, was die Annahme entkräftet, dass überkauft/überverkauft erschöpft bedeutet. Anstatt Umkehrungen zu markieren, neigte die binäre Regel dazu, die Dynamik in makroökonomisch getriebenen Fortsetzungen abzuschwächen. Zusammenfassend lässt sich sagen, dass wir „jetzt wissen“, dass das Muster 9 Volatilitätspersistenz mit Erschöpfung verwechselte, ein klassischer Fehler bei der Anwendung der Überdehnungslogik auf dynamischen Märkten.
Vergleichende Einblicke
Wieder einmal hat unsere Untersuchung von zehn boolesch kodierten Signalmustern, die diesmal den Stochastik-Oszillator und den Fractal Adaptive Moving Average zusammenbringen, einige Erkenntnisse darüber gebracht, wie klassische Indikatoren in kontextbewusste Signale umgewandelt werden können, die sich potenziell für den automatischen Handel eignen. Wir teilen den Code für die Verwendung in einem MQL5-Assistenten, um einen Expert Advisor zusammenzustellen, weil wir so schnell neue Ideen ausprobieren können.
Da wir jedes Muster als boolesche Bedingung kodiert haben, die nur dann erfüllt sein muss, wenn alle Bedingungen des Musters erfüllt sind, andernfalls ist sie falsch, verhält sich dies in gewisser Weise wie ein vektorisierter Filter für Marktrauschen. Diese ist in der Lage, gesiebte Chartbedingungen dynamisch in einen recheneffizienten Binärzustand abzubilden. Diese „Binärzustände“ oder Musterausgaben machen sie leicht anpassbar an maschinelle Lernmodelle, die wir im nächsten Artikel untersuchen werden, in dem wir das Inferenzlernen betrachten. Sie sind Teil einer „Pipeline“, die Daten für ein Prognosemodell normalisiert. Die Ergebnisse des Vorwärtstests unserer 10 Signalmuster sind im Folgenden tabellarisch dargestellt.
| Muster | Markttyp | Anlage geprüft | Optimierung Gewinnfaktor | Termin-Gewinn-Faktor | Status | Kommentar |
|---|---|---|---|---|---|---|
| 0 | Trend | XAUUSD | 1.66 | 1.48 | Vorwärtstest bestanden | Starke richtungsbezogene Kontinuität |
| 1 | Rückkehr zum Mittelwert | XAUUSD | 1.52 | 1.39 | Vorwärtstest bestanden | Stabile Erholung bei Oszillation |
| 2 | Autokorreliert | SPX 500 | 1.58 | 1.33 | Vorwärtstest bestanden | Erfassung synchronisierter Rotation |
| 3 | entkoppelt | SPX 500 | 1.49 | 1.28 | Vorwärtstest bestanden | Zuverlässiger Kontextfilter |
| 4 | hohe Volatilität | USDJPY | 1.72 | 1.43 | Vorwärtstest bestanden | Starke Impulserfassung |
| 5 | geringe Volatilität | USDJPY | 1.34 | 0.87 | Gescheitert | Überangepasst an ruhige Märkte |
| 6 | Trend | XAUUSD | 1.63 | 0.92 | Gescheitert | Statische Musterverschiebung |
| 7 | Rückkehr zum Mittelwert | XAUUSD | 1.59 | 1.44 | Vorwärtstest bestanden | Ausgezeichnete Gleichgewichtsreaktion |
| 8 | hohe Volatilität | USDJPY | 1.74 | 1.52 | Vorwärtstest bestanden | Fortsetzung der Volatilität in der zweiten Phase |
| 9 | entkoppelt | SPX 500 | 1.47 | 0.84 | Gescheitert | Falsch erkannte strukturelle Erschöpfung |
Schlussfolgerung
Während unserer Untersuchung der 10 booleschen FrAMA-Stochastik-Signalmuster konnten wir sehen, wie diese grundlegenden Indikatorenkombinationen, wenn sie in einen booleschen Ausgang mit Rauschfilterung kodiert werden, uns ein vielfältiges Verhaltensspektrum für alle Marktarchetypen liefern können. Jedes Muster diente als experimenteller Proxy, um festzustellen, ob die Logik der strukturierten Indikatoren robust bleibt, wenn das Datenfenster für die Optimierung überschritten wird. Die Beweise, die wir in unserer vergleichenden Tabelle oben zusammengefasst haben, zeigen, dass sieben der Signalmuster bis zu einem gewissen Grad erfolgreich die Rentabilität übertragen haben, während die anderen unter Regimeabhängigkeit oder Volatilitätsasymmetrie litten.
Die gewinnbringende Gruppe der Muster 0,1,2,3,4,7 und 8 zeigte mehr Robustheit und Anpassungsfähigkeit. Auch wenn die hier vorgestellten Testergebnisse „aufschlussreich“ erscheinen mögen, so wurden sie doch aus einem begrenzten Testfenster und sehr spezifischen Marktbedingungen/Situationen gewonnen. Wie immer müssen die Leser unabhängige Sorgfalt walten lassen, bevor sie die hier veröffentlichten Ergebnisse in Betracht ziehen oder sich auf sie verlassen. Die Marktdynamik ändert sich ständig, und was in einer Phase gut läuft, kann sich in einer anderen Phase ganz anders darstellen. Es kann nicht stark genug betont werden, dass die Ergebnisse immer durch unabhängige Tests mit erweiterten Daten und Zukunftssimulationen vor einem Live-Einsatz validiert werden müssen.
In unserer Fortsetzung werden wir wie üblich von der Regelkodierung zum maschinellen Lernen übergehen. Wir werden insbesondere das Inferenzlernen erforschen und vermuten, ob es tatsächlich eine Rolle dabei spielen kann, das Glück unserer Nachzügler zu wenden.
Haftungsausschluss
Dies ist keine finanzielle Beratung. Mit diesen Artikeln soll nicht behauptet werden, dass sie die Märkte verstehen, sondern sie sollen zur Diskussion von Ideen anregen. Dabei geht es nicht darum, einen Gral zu finden, sondern vielmehr darum, die vorhandenen Möglichkeiten auszuloten und hoffentlich aufzuzeigen, wie sie genutzt werden können. Die abschließende Arbeit und wichtige Sorgfalt liegt immer auf Seiten des Lesers, sollte er sich dafür entscheiden, einen Teil des hier vorgestellten Materials zu übernehmen.
| Name | Beschreibung |
|---|---|
| WZ_83.mq5 | Assistent Assemblierter Expert Advisor, in dessen Kopfzeile Name und Ort der referenzierten Dateien aufgeführt sind |
| SignalWZ_83.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/19890
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.
Aufbau von KI-gestützten Handelssystemen in MQL5 (Teil 4): Überwindung mehrzeiliger Eingaben, Sicherstellung der Chat-Persistenz und Generierung von Signalen
Entwicklung des Price Action Analysis Toolkit (Teil 46): Entwicklung eines interaktiven Fibonacci Retracement EA mit intelligenter Visualisierung in MQL5
Dynamic Swing Architecture: Marktstrukturerkennung von Umkehrpunkten (Swings) bis zur automatisierten Ausführung
Aufbau von KI-gestützten Handelssystemen in MQL5 (Teil 3): Upgrade auf eine scrollbare, auf den Einzelchat ausgerichtete Nutzeroberfläche
- 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.
Hallo Stephen,
Ein sehr interessanter Artikel, insbesondere Muster 0.
Ich habe Ihren Code aus dem vorherigen Artikel heruntergeladen, kompiliert und ihn auf vier wichtigen USD-Währungen, EUR, GBP, CAD, JPY für den H4-Zeitrahmen und für den Zeitraum 1/1/25 - 10/1/25 ausgeführt und ALLE haben einen Verlust produziert.
Erstens, muss ich es für die spezifische Währung neu trainieren, und zweitens, wie lege ich fest, ob ich nur eines oder mehrere der Muster verwende? Kann dieses Ea auch verwendet werden, um mehrere Ihrer hervorragenden Artikel zu integrieren?
Vielen Dank!
CapeCoddah