English 日本語
preview
MQL5-Assistenz-Techniken, die Sie kennen sollten (Teil 73): Verwendung von Ichimoku-Mustern und ADX-Wilder

MQL5-Assistenz-Techniken, die Sie kennen sollten (Teil 73): Verwendung von Ichimoku-Mustern und ADX-Wilder

MetaTrader 5Tester |
201 2
Stephen Njuki
Stephen Njuki

Einführung

Der Indikator Ichimoku-Kinko-Hyo (Ichimoku) und der Oszillator ADX-Wilder (ADX) werden in diesem Artikel in einer Unterstützungs-/Widerstands- und Trenderkennungs-Kombination verwendet. Der Ichimoku ist sicherlich vielseitig und recht flexibel. Sie kann mehr als nur Unterstützungs-/Widerstandsniveaus liefern. Wir bleiben jedoch vorerst bei S/R. Indikatorenpaare, insbesondere wenn sie sich ergänzen, haben das Potenzial, prägnantere und genauere Einstiegssignale für Expert Advisors zu erzeugen. Wie üblich untersuchen wir 10 Signalmuster dieser Indikatorpaarung. Wir testen diese 10 Signalmuster, denen jeweils ein Index zugeordnet ist, eines nach dem anderen und lassen uns dabei von diesen Regeln leiten;

Die Indizierung reicht von 0 bis 9, sodass wir den passenden Wert für die ausschließliche Verwendung durch den Expert Advisor leicht berechnen können. Wenn zum Beispiel ein Muster mit dem Index 1 versehen ist, müssen wir den Parameter „PatternsUsed“ auf 2 hoch 1 setzen, was 2 ergibt. Wenn der Index 4 ist, dann ist das 2 hoch 4, was 16 ergibt, und so weiter. Der maximale Wert, der diesem Parameter sinnvollerweise zugewiesen werden kann, ist 1023, da wir nur 10 Parameter haben. Jede Zahl zwischen 0 und 1023, die nicht ein reiner Exponent von 2 ist, würde eine Kombination aus mehr als einem dieser 10 Muster darstellen.

In früheren Artikeln haben wir dargelegt, warum das Training oder die Optimierung mit mehreren Signalen trotz der rosigen Testergebnisse, die sie oft liefern, zwangsläufig erfolglos ist. Denn, wenn mehr als ein Signal aktiv ist, neigen sie dazu, sich gegenseitig zu Zeitpunkten aufzuheben, die für die Gewinnmaximierung in diesem begrenzten Testfenster günstig sind. Um dies zu umgehen, könnten Tests mit breiteren Testfenstern durchgeführt werden, aber da sich dieser Artikel auf ein einjähriges Testfenster konzentriert, wäre dies für unsere Zwecke nicht anwendbar.



Der Ichimoku

Definitionsgemäß ist der Ichimoku ein umfassender Indikator, der mehrere Elemente zur Bewertung von Trendrichtung, Momentum und S/R zusammenfasst. Dieser Indikator, dessen Name übersetzt so viel wie „All-in-One-System“ bedeutet, soll eine ganzheitliche Sicht auf die Preisentwicklung vermitteln und wird häufig für Trendfolgestrategien verwendet. Er besteht aus fünf Puffern. Der Tenkan-Sen, der Kijun-Sen, Senkou-Span-A, Senkou-Span-B und schließlich der Chikou-Span. Zusätzlich zu diesen Puffern wird oft auch eine Kumo-Wolke genannt, die aus den beiden Senkou-Spans A und B besteht. Diese Wolke kann primär als S/R-Marker und je nach ihrer Dicke auch als Maß für die Trendstärke dienen.

Für die Berechnung aller fünf Puffer sind drei Eingänge erforderlich, die in der Regel mit 9, 26 und 52 belegt sind. Auf dem Papier können diese Werte für verschiedene Märkte angepasst werden, aber es ist wahrscheinlich besser, diese Zeiträume unverändert zu lassen und andere Attribute seines Systems anzupassen. Mit diesem Indikator lassen sich eine Vielzahl von Signalen ableiten, darunter auch Überkreuzungen des Tenkan mit dem Kijun sowie Chikou-Bestätigungen, wie wir weiter unten sehen werden. Das Ichimoku ist somit vielseitig und kann auf eine Vielzahl von Vermögenswerten, von Aktien über Devisen bis hin zu Kryptowährungen, in einer Vielzahl von Zeitrahmen angewendet werden.

Schauen wir uns nun die diesen fünf Puffern zugrunde liegende Formel an, beginnend mit dem Tenkan-sen. Sie wird wie folgt ermittelt:

= (Highest High + Lowest Low) / 2

wobei:

  • Highest High ist der höchste Preis der letzten 9 Perioden.
  • Lowest Low ist der niedrigste Preis der letzten 9 Perioden.

Sein Zweck könnte als kurzfristiger Trendindikator verstanden werden, der auf Preisänderungen reagiert und somit leicht die Markttemperatur bei kurzfristigen Bewegungen erfassen kann. Auch das Kijun-sen ist in ähnlicher Weise aufgebaut:

= (Highest High + Lowest Low) / 2

wobei:

  • Highest High ist der höchste Preis in 26 Perioden.
  • Lowest Low ist der niedrigste Preis über 26 Perioden.

Er wird als mittelfristiges Trendbarometer betrachtet, das auch als S/R dienen kann. Als Nächstes haben wir die Senkou-Spanne A. Die Formel für diesen Puffer lautet wie folgt:

= (Tenkan-sen + Kijun-sen) / 2

wobei:

  • Tenkan-sen und Kijun-sen sind die Konvertierungslinie und die Basiswerte aus den Puffern, deren Formeln oben dargestellt sind.

Der Zweck dieses Puffers besteht in erster Linie darin, einen Rand der Kumo-Wolke zu bilden, ein wichtiges S/R-Merkmal des Ichimoku. Als Nächstes folgt die Senkou-Spanne B. Auch sie ähnelt dem Tenkan-sen, wobei die Unterschiede in den verwendeten Periodenlängen liegen:

= (Highest High + Lowest Low) / 2

wobei:

  • Highest High ist der höchste Preis über 52 Perioden.
  • Lowest Low ist der niedrigste Preis über 52 Perioden.

Er soll die Senkou-Spanne A ergänzen, indem er den zweiten Rand der Kumo-Wolke bildet. Seine längeren Indikatorperioden machen ihn auch zu einem langfristigen S/R. Schließlich wird die Chikou-Spanne, der Endpuffer, wie folgt definiert:

= Current period’s close

wobei:

  • close price, der aktuelle Schlusskurs, wird 26 Perioden zurück gezeichnet.

Der Zweck von Chikou besteht darin, Trends zu bestätigen, indem er vergangene Preise mit aktuellen Aktionen vergleicht. Erwähnenswert ist auch die bereits oben erwähnte Kumo-Wolke. Dies ist in der Regel der Bereich zwischen der Senkou-Spanne A und der Senkou-Spanne B. Wenn die Spanne A größer als B ist, haben wir eine steigende Kumo-Wolke, und wenn das Gegenteil der Fall ist, A < B, fällt sie. Kumo hilft bei der Visualisierung der Trendstärke sowie der S/R-Niveaus.



Der ADX-Wilder

Unser zweiter Indikator für diesen Artikel misst die Stärke eines vorherrschenden Trends. Nicht seine Richtung. Er verfügt jedoch neben dem Hauptpuffer über 2 weitere Puffer, die zur Bewertung der Aufwärts- und Abwärts-Dynamik verwendet werden können. Normalerweise hat der ADX-Hauptpuffer Werte zwischen 0 und 100.  Die 25er-Marke wird jedoch nur selten überschritten, und wenn dies der Fall ist, wird es als Zeichen für einen starken vorherrschenden Trend gewertet. Wenn sein Wert unter 20 liegt, ist dies ein Zeichen für einen schwachen Trend. Es handelt sich um einen nachlaufenden Indikator, der in der Regel eine Periodenlänge von 14 für seine Berechnungen verwendet. Es kann vielseitig in verschiedenen Anlageklassen eingesetzt werden. Signale könnten sekundär durch Überkreuzungen von +DI/-DI generiert werden, wenn sie die Trendrichtung vorgeben, wobei der ADX-Hauptpuffer die Trendstärke bestätigt.

Der ADX Wilder gibt 3 Puffer aus, arbeitet dabei aber mit bis zu 6 verschiedenen Puffern. Wir haben eine +DM-Richtungsbewegung und einen +DM-Richtungsindikator, eine -DM-Richtungsbewegung und einen -DM-Richtungsindikator, einen wahren Bereich und schließlich den ADX-Hauptpuffer. Schauen wir uns die Formeln der beiden an. Der erste Punkt ist die positive Richtungsbewegung der DM:

= Current High - Previous High

wobei:

  • Das vorherige Hoch muss größer sein als das aktuelle Hoch. Ist diese Bedingung nicht erfüllt, ist der Wert Null.

Dieser Puffer verfolgt die Aufwärtsbewegung der Preise. Der nächste Puffer, den wir haben, ist die negative Richtungsbewegung. Dies ergibt sich aus der Formel:

= Previous Low - Current Low

wobei:

  • Das vorherige Tief muss größer sein als das aktuelle Tief, andernfalls ist sein Wert gleich Null.

Dieser Puffer misst die Preisbewegung nach unten. Nachdem wir die Richtungsbewegungen definiert haben, wenden wir uns nun der wahren Spannweite zu. Dies ergibt sich aus der folgenden einfachen Formel:

= Max[(Current High - Current Low), |Current High - Previous Close|, |Current Low - Previous Close|]

wobei:

  • Max ist einfach der Höchstwert der drei oben berechneten Differenzen.

Der Hauptzweck der wahren Spanne besteht darin, die Preisvolatilität zu messen. Nachdem die Richtungsbewegungen und der tatsächliche Bereich definiert sind, können wir nun zu den verwendeten Indikatorpuffern übergehen. Der erste von ihnen ist der positive Richtungsindikator. Dies wird durch die nachstehende Formel beschrieben:

= (geglätteter +DM / geglätteter TR) × 100

wobei:

  • Der geglättete +DM ist der exponentielle gleitende Durchschnitt der oben definierten positiven Richtungsbewegung.
  • Der geglättete TR ist der exponentielle gleitende Durchschnitt der wahren Spanne.

Der Zweck der +DM ist es, eine Aufwärtsstärke anzuzeigen. Es gibt auch den -DM, der durch die folgende Formel definiert ist:

= (geglätteter -DM / geglätteter TR) × 100

wobei:

  • Der geglättete -DM ist auch der exponentielle gleitende Durchschnitt der negativen Richtungsbewegung, dessen Formel oben angegeben ist.
  • Der geglättete TR ist auch der exponentielle gleitende Durchschnitt des wahren Bereichs. 

Die Periodenlängen der Anzeigepuffer für -DM- und +DM betragen normalerweise 14. Der Zweck von -DM besteht darin, die Stärke des Abwärtstrends zu messen. Mit diesen 2 definierten Indikatorpuffern gelangen wir zum ADX-Hauptpuffer. Die Formel lautet wie folgt:

= geglättet[(|+DI - -DI| / (+DI + -DI)) × 100]

wobei:

  • Die Glättung bezieht sich auf eine exponentielle Mittelung der Formelausgabewerte über ein Fenster von 14 Perioden.
  • Der +DI ist der Aufwärts-Indikatorpuffer, den wir gerade oben definiert haben, und NICHT die positive Richtungsbewegung.
  • Der -DI ist auch der Abwärts-Indikator, den wir gerade definiert haben.
  • Der nicht geglättete Wert wird auch als DX bezeichnet.

Der Zweck des geglätteten DX alias ADX besteht darin, die Trendstärke zu quantifizieren. Nachdem die beiden Indikatoren vorgestellt wurden, können wir uns nun die 10 Muster ansehen, die wir in diesem Artikel verwenden. Alle Tests werden wie immer im Jahr 2023 durchgeführt, wobei das Jahr 2024 als Testumgebung dient. Wir verwenden jedoch den 30-Minuten-Zeitrahmen anstelle unseres regulären 4-Stunden-Zeitrahmens, weil der Ichimoku-Indikator in einem Jahr, unserem Testzeitraum, nicht genügend Signale aussendet. Unser Testsymbol ist GBP USD.



Kurs durchquert Senkou-Spanne A mit ADX-Bestätigung

Unser Pattern-0 ist wie immer das erste, das wir in Betracht ziehen, und das durchgängig verwendete Benennungsformat ist Pattern-x, wobei x für den Index des Musters steht, nicht für seine Positionszahl. Wie bereits in der Einleitung erwähnt, betonen wir hier die Indizes, weil sie bei der Festlegung der Eingabeparameterwerte helfen, die es uns ermöglichen, ein Muster nach dem anderen zu testen. Das Aufwärtssignal für das Pattern-0 entsteht, wenn der Kurs die Senkou-Spanne A überschreitet, was einen Ausbruch über die Kumo-Wolke bedeutet. Dies sollte in der Regel durch einen soliden ADX-Wert von mindestens 25 untermauert werden. Wir setzen dies in MQL5 wie folgt um:

//+------------------------------------------------------------------+
//| Check for Pattern 0.                                             |
//+------------------------------------------------------------------+
bool CSignalIchimoku_ADXWilder::IsPattern_0(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && Close(X() + 1) < Ichimoku_SenkouSpanA(X() + 1) && Close(X()) > Ichimoku_SenkouSpanA(X()) && ADX(X()) >= 25.0)
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL && Close(X() + 1) > Ichimoku_SenkouSpanA(X() + 1) && Close(X()) < Ichimoku_SenkouSpanA(X()) && ADX(X()) >= 25.0)
   {  return(true);
   }
   return(false);
}

Das Abwärtsmuster ist ebenfalls definiert, wenn der Kurs die Senkou-Spanne A durchquert und darunter schließt. Dies signalisiert einen Durchbruch unter die Wolke mit einem starken Trend. Die Kombination aus dem Durchbruch der Ichimoku-Wolke und der Bestätigung der ADX-Trendstärke macht dies zu einem zuverlässigen Signal. Es sollte am besten in einem Marktkontext funktionieren, der im Trend liegt; unruhige Bedingungen sind für dieses Muster nicht geeignet. Ein Testlauf über den 2-Jahres-Zeitraum 2023 und 2024, der auf einen Test im Jahr 2023 folgt, ergibt folgenden Bericht;

r0

Der erste Testlauf im Jahr 2023 führte zu sehr uneinheitlichen Ergebnissen, die leicht profitabel waren. Interessanterweise ergibt auch ein Forward Walk ein ähnliches Aktienkurvenprofil, das jedoch immer noch rentabel ist. Die Empfehlungen für die beste Praxis für dieses Muster könnte eine Bestätigung auf höheren Zeitebenen erfordern, um eine Trendausrichtung zu erhalten, bevor der Auslöser betätigt wird. Die Anforderung, dass der ADX mindestens 25 betragen muss, ist wichtig, um schwache Signale herauszufiltern. Der Stop-Loss kann unter/über der Kumo-Wolke für Kauf-/Verkaufstransaktionen gesetzt werden. Die Überwachung auf falsche Ausbrüche ist von entscheidender Bedeutung.



Das Kreuzen von Tenkan-Sen/Kijun-Sen mit ADX-Bestätigung

Unser nächstes Muster basiert auf zwei gleitenden Durchschnittskreuzungen und einer ADX-Bestätigung. Wenn der Tenkan-Sen den Kijun-Sen von unten nach oben kreuzt und darüber schließt, signalisiert dies eine kurzfristige Änderung des Momentums in Richtung Long. Der ADX müsste bei mindestens 20 liegen. Wir codieren unsere Prüffunktion in MQL5 wie folgt:

//+------------------------------------------------------------------+
//| Check for Pattern 1.                                             |
//+------------------------------------------------------------------+
bool CSignalIchimoku_ADXWilder::IsPattern_1(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && Ichimoku_TenkanSen(X() + 1) < Ichimoku_KijunSen(X() + 1) && Ichimoku_TenkanSen(X()) > Ichimoku_KijunSen(X()) && ADX(X()) >= 20.0)
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL && Ichimoku_TenkanSen(X() + 1) > Ichimoku_KijunSen(X() + 1) && Ichimoku_TenkanSen(X()) < Ichimoku_KijunSen(X()) && ADX(X()) >= 20.0)
   {  return(true);
   }
   return(false);
}

Ein Abwärtssignal liegt vor, wenn der Tenkan-Sen den Kijun-Sen von oben durchquert und darunter schließt, was eine Verschiebung hin zu einem Abwärtsmomentum anzeigt. Im Kern handelt es sich um ein frühes Trendumkehrsignal des Ichimoku, das den ADX zur Bestätigung ergänzt. Ein geeigneter Marktkontext wäre der Zeitpunkt der Trendentstehung oder fraktale Punkte. Auf Märkten, die sich in einem gewissen Rahmen bewegen, ist sie zwangsläufig weniger zuverlässig. Ein Testlauf, der ausschließlich nach diesem Muster abläuft, ergibt folgenden Bericht:

r1

Dieses Muster kämpfte eindeutig mit dem Vorwärtsgehen. Dies könnte daran liegen, dass enge Kursziele gesetzt werden und Verluste nicht gestoppt werden. Dies sind Parameter, die vom Leser eingestellt werden können, um verschiedene Handelseinstellungen zu ermöglichen. Auch bei der Verwendung dieses Musters sollte der Handel in Richtung des höheren Zeitrahmentrends erfolgen. Der ADX-Schwellenwert von nur 20 soll schwache Crossovers herausfiltern.  Der Stop-Loss kann bei Käufen unterhalb und bei Verkäufen oberhalb des Kijun-Sen platziert werden. Die Kombination mit Volumenindikatoren kann die Bestätigung erhöhen.



Das Kreuzen von Senkou Span A/B mit ADX-Bestätigung

Pattern-2 basiert auf dem Kumo-Wolkenwechsel oder dem Kreuzen. Ein Aufwärtssignal liegt vor, wenn die Senkou-Spanne A die Senkou-Spanne B überschreitet, was zu einer Aufwärts-Wolkenformation führt. Dieser Wechsel muss bei einem ADX von mindestens 25 erfolgen. Wir setzen dies in MQL5 wie folgt um:

//+------------------------------------------------------------------+
//| Check for Pattern 2.                                             |
//+------------------------------------------------------------------+
bool CSignalIchimoku_ADXWilder::IsPattern_2(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && Ichimoku_SenkouSpanA(X() + 1) < Ichimoku_SenkouSpanB(X() + 1) && Ichimoku_SenkouSpanA(X()) > Ichimoku_SenkouSpanB(X()) && ADX(X()) >= 25.0)
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL && Ichimoku_SenkouSpanA(X() + 1) > Ichimoku_SenkouSpanB(X() + 1) && Ichimoku_SenkouSpanA(X()) < Ichimoku_SenkouSpanB(X()) && ADX(X()) >= 25.0)
   {  return(true);
   }
   return(false);
}

Ein Abwärtssignal liegt vor, wenn die Senkou-Spanne A die Senkou-Spanne B von oben kreuzt und darunter schließt. Dies signalisiert eine Verschiebung zur Abwärtswolke. Es handelt sich um einen langfristigen Trendwechsel, der auch als Backup-Trendbestätigung dienen kann. Sie wollen dieses Signal in trendigen Märkten als Swing-Trader einsetzen. Die Testergebnisse sind unten aufgeführt:

r2

Pattern-2 scheint sich bei einem Vorwärtstest gut zu halten. Wie immer folgt dies einem begrenzten Testfenster von nur einem Jahr, sodass vom Leser unabhängige Tests erwartet werden, bevor die hier vorgestellten Ideen weiterverfolgt werden können. Für das Pattern-2 kann die Bestätigung der Kreuzung der Wolke auf höheren Zeitebenen unterstützend wirken. Der Schwellenwert von ADX 25 dient dazu, schwache Signale auszusieben und ist von entscheidender Bedeutung. Der Stop-Loss kann bei Kauf-/Verkaufspositionen unterhalb/oberhalb der Wolke platziert werden. Dieses Muster sollte vermieden werden, wenn die Wolke dünn ist.



Kursabprall/Abprall an der Wolke mit ADX und DI-Bestätigung

Pattern-3 berücksichtigt die Kursentwicklung um die Kumo-Wolke. Ein Aufwärtssignal liegt vor, wenn der Kurs von der Spitze des Kumo abprallt, was immer der Senkou-Span-A ist, während der ADX mindestens 25 beträgt und der positive Richtungsindex größer ist als der negative Richtungsindex. Wir setzen dies in MQL5 wie folgt um:

//+------------------------------------------------------------------+
//| Check for Pattern 3.                                             |
//+------------------------------------------------------------------+
bool CSignalIchimoku_ADXWilder::IsPattern_3(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && 
      Close(X() + 2) > Close(X() + 1) && Close(X() + 1) < Close(X()) &&
      Close(X() + 2) > Ichimoku_SenkouSpanA(X() + 2) && Close(X()) > Ichimoku_SenkouSpanA(X()) && 
      Close(X() + 1) <= Ichimoku_SenkouSpanA(X() + 1) && 
      ADX_Plus(X()) > ADX_Minus(X()) && ADX(X()) >= 25.0
      )
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL &&  
      Close(X() + 2) < Close(X() + 1) && Close(X() + 1) > Close(X()) &&
      Close(X() + 2) < Ichimoku_SenkouSpanA(X() + 2) && Close(X()) < Ichimoku_SenkouSpanA(X()) && 
      Close(X() + 1) >= Ichimoku_SenkouSpanA(X() + 1) && 
      ADX_Plus(X()) < ADX_Minus(X()) && ADX(X()) >= 25.0
      )
   {  return(true);
   }
   return(false);
}

Ein Abwärtssignal liegt vor, wenn der Kurs den Boden der Wolke ablehnt, was wiederum die Senkou-Span-A in einer U-Formation wäre. Darüber hinaus müsste der ADX mindestens 25 betragen und der negative Richtungsindex über dem positiven Richtungsindex liegen. Pattern-3 ist ein starkes S/R-Signal, das auch eine Richtungsbestätigung bietet. Es eignet sich am besten für Märkte, die sich in einem Übergang von einer Handelsspanne zu einem Trend befinden, was schwierig zu erkennen sein kann, weshalb wir mehrere Filterprüfungen durchführen, bevor dieses Signalmuster bestätigt werden kann. Unser Test von Pattern-3 ergibt folgendes Ergebnis:

r3

Dieses Muster ist ähnlich wie Pattern-2 in der Lage, einen positiven Vorwärtstest zu erzielen, wie oben gezeigt. Bei der Anwendung von Pattern-3 ist es immer gut, den Abprall bzw. die Ablehnung mit Kerzenmustern wie Pin Bars zu bestätigen. Der relative Trend des positiven/negativen Richtungsindex muss mit der Richtung des Preistrends übereinstimmen. Der Stop-Loss kann knapp unterhalb/oberhalb der Senkou-Span-B platziert werden.



Chikou Span vs. Senkou Span A mit ADX-Bestätigung

Pattern-4 beinhaltet den 5. Puffer des Ichimoku-Indikators der Chikou-Spanne. Ein Aufwärtssignal liegt vor, wenn die Chikou-Spanne über der Senkou-Spanne A liegt. Der Chikou ist, wie bereits in der Einleitung erwähnt, ein Nachzügler, typischerweise um 26 Periodenbalken. Aus der Sicht eines Programmierers bedeutet dies, dass wir, wenn wir uns auf den Chikou-Puffer des eingebauten Ichimoku-Indikators beziehen, unsere Lesung dieser Werte manuell um 26 verschieben müssen, da wir sonst NaN-Werte erhalten. So mit dem Chikou über span-A, müssen wir auch die ADX nördlich von 25. Wir setzen dies in MQL5 wie folgt um:

//+------------------------------------------------------------------+
//| Check for Pattern 4.                                             |
//+------------------------------------------------------------------+
bool CSignalIchimoku_ADXWilder::IsPattern_4(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && 
      Ichimoku_ChinkouSpan(X() + 26) > Ichimoku_SenkouSpanA(X()) &&  
      ADX(X()) >= 25.0
      )
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL &&  
      Ichimoku_ChinkouSpan(X() + 26) < Ichimoku_SenkouSpanA(X()) &&  
      ADX(X()) >= 25.0
      )
   {  return(true);
   }
   return(false);
}

Ein Abwärtssignal liegt vor, wenn sich der Chikou unter der Senkou-Spanne A befindet und der ADX weiterhin mindestens 25 beträgt. In diesem Fall würde die Spanne A jedoch unter der Spanne B liegen, im Gegensatz zum Aufwärtssignal, bei dem sie über der Spanne B liegen würde. Dieses Signal ist eine nachlaufende Bestätigung der Trendstärke und eignet sich am besten zur Bestätigung bestehender Trends. Unser Vorwärtstest sieht folgendermaßen aus:

r4

Pattern-4 besteht deutlich den Vorwärtstest. Wahrscheinlich sogar besser als Pattern-3 und -2. Allerdings könnte die Trendbestätigung eine bessere Anwendung sein als die Einstiegssignalisierung. Es kann auch mit anderen Ichimoku-Signalen, wie der Kumo-Wolkenpositionierung, kombiniert werden. Die Einstellung des Stop-Loss kann auf der Grundlage der letzten Umkehrpunkte erfolgen. Der Marktkontext, der sich für Pattern-4 eignet, ist ein Trendmarkt, und unruhige Umgebungen sollten nicht mit diesem Signal kombiniert werden. Zur zusätzlichen Veranschaulichung ist unten das Aufwärts-Pattern-4 auf einem Chart dargestellt.

p4



Kursabprall/Rückschlag am Tenkan-Sen mit ADX und DI-Bestätigung

Unser nächstes Muster nutzt die Kursbewegung am Tenkan-Sen gegenüber der Kumo-Wolke, die wir gerade betrachtet haben, mit dem obigen Muster. Ein Aufwärtssignal liegt vor, wenn der Kurs vom Tenkan-Sen abprallt, der ADX mindestens den Schwellenwert von 25 erreicht und der positive Richtungsindex ebenfalls über dem negativen Richtungsindex liegt. Wir implementieren dies wie folgt in MQL5:

//+------------------------------------------------------------------+
//| Check for Pattern 5.                                             |
//+------------------------------------------------------------------+
bool CSignalIchimoku_ADXWilder::IsPattern_5(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && 
      Close(X() + 2) > Close(X() + 1) && Close(X() + 1) < Close(X()) &&
      Close(X() + 2) > Ichimoku_TenkanSen(X() + 2) && Close(X()) > Ichimoku_TenkanSen(X()) && 
      Close(X() + 1) <= Ichimoku_TenkanSen(X() + 1) && 
      ADX_Plus(X()) > ADX_Minus(X()) && ADX(X()) >= 25.0
      )
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL &&  
      Close(X() + 2) < Close(X() + 1) && Close(X() + 1) > Close(X()) &&
      Close(X() + 2) < Ichimoku_TenkanSen(X() + 2) && Close(X()) < Ichimoku_TenkanSen(X()) && 
      Close(X() + 1) >= Ichimoku_TenkanSen(X() + 1) && 
      ADX_Plus(X()) < ADX_Minus(X()) && ADX(X()) >= 25.0
      )
   {  return(true);
   }
   return(false);
}

Das Abwärtsmuster entsteht, wenn der Kurs den Tenkan-Sen als Widerstand ablehnt und der ADX ebenfalls mindestens 25 beträgt. Bei den Richtungsindizes sollte der negative Puffer größer als der positive Puffer sein. Dieses Signal dient der Bestätigung des kurzfristigen Momentums. Es ist effektiv, wenn es in trendigen Märkten eingesetzt wird, insbesondere in Situationen von Rücksetzern. Unsere Vorwärtstests ergeben folgendes Bild:

r5

Von allen bisher getesteten Signalmustern mit dieser Indikatorenkombination ist dies eindeutig der Blindgänger. Er schafft den Vorwärtstest nicht. Mögliche Verbesserungen könnten die Bestätigung von Signalen durch Kerzenmuster sein. Die Ausrichtung des Richtungsindexes wird bereits überprüft, es könnten jedoch Schwellenwerte zur Überprüfung hinzugefügt werden, bevor ein Signal bestätigt wird. Die Platzierung eines Stop-Loss kann ebenfalls hinzugefügt werden, da wir ohne einen solchen testen. Dieser kann bei Kauf-/Verkaufsaufträgen unterhalb/oberhalb des Tenkan-sen liegen.



Kreuzen des Preisen und Kijun-Sen mit ADX und DI-Bestätigung

Das nächste Muster, Pattern-6, beinhaltet das Kreuzen des Preises mit dem Kijun-Sen. Das Aufwärtssignal entsteht, wenn der Kurs den Kijun-Sen von unten nach oben kreuzt und darüber schließt. Darüber hinaus würde der positive Richtungsindex mehr als der negative sein, während der ADX mindestens 25 beträgt. Wir implementieren dies wie folgt in MQL5:

//+------------------------------------------------------------------+
//| Check for Pattern 6.                                             |
//+------------------------------------------------------------------+
bool CSignalIchimoku_ADXWilder::IsPattern_6(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && 
   Close(X() + 1) < Ichimoku_KijunSen(X() + 1) && 
   Close(X()) > Ichimoku_KijunSen(X()) && 
   ADX_Plus(X()) > ADX_Minus(X()) && ADX(X()) >= 25.0)
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL && 
   Close(X() + 1) > Ichimoku_KijunSen(X() + 1) && 
   Close(X()) < Ichimoku_KijunSen(X()) && 
   ADX_Plus(X()) < ADX_Minus(X()) && ADX(X()) >= 25.0)
   {  return(true);
   }
   return(false);
}

Ein Abwärtssignal liegt vor, wenn Preis den Kijun-Sen von oben durchquert und darunter schließt. Der negative Richtungsindex wäre auch größer als der positive, mit dem ADX-Hauptpuffer von mindestens 25 als auch. Dies ist ein mittelfristiges Trendsignal, das eine Richtungsbestätigung verwendet. Sein idealer Marktkontext liegt in etablierten Trends. Die Prüfung von Pattern-6 ergibt folgenden Bericht:

r6

Auch bei diesem Muster, wie bei dem, das wir kurz zuvor besprochen haben, ist der Vorwärtstest schwierig, wenn auch nicht so spektakulär. Mögliche Anpassungen könnten vorgenommen werden, wenn wir auf Wolkenrichtungen mit höherem Zeithorizont achten. Neben dem ADX-Schwellenwert und der Ausrichtung des Richtungsindex können wir auch einen Stop-Loss unterhalb oder oberhalb des Kijun-Sen für Kauf- und Verkaufspositionen einbauen. Dieses Muster eignet sich auch besser für Trendumgebungen und sollte in Märkten mit begrenzter Handelsspanne vermieden werden.



Preissprung/Abprall an der Senkou-Spanne B mit ADX-Bestätigung

Unser achtes Muster, Pattern-7, betrachtet die Preisbewegung an der Spanne B. Ein Aufwärtssignal liegt vor, wenn der Preis von der Senkou-Spanne B abprallt, die als Unterstützung fungiert, und der ADX bei 20 liegt und steigt. In dieser Situation würde die Kursspanne A über der Kursspanne B liegen, was bedeutet, dass diese Kurswende innerhalb der Kumo-Wolke stattfindet. Wir implementieren sie in MQL5 wie folgt:

//+------------------------------------------------------------------+
//| Check for Pattern 7.                                             \
//+------------------------------------------------------------------+
bool CSignalIchimoku_ADXWilder::IsPattern_7(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && 
      Close(X() + 2) > Close(X() + 1) && Close(X() + 1) < Close(X()) &&
      Close(X() + 2) > Ichimoku_SenkouSpanB(X() + 2) && Close(X()) > Ichimoku_SenkouSpanB(X()) && 
      Close(X() + 1) <= Ichimoku_SenkouSpanB(X() + 1) && Ichimoku_SenkouSpanA(X()) > Ichimoku_SenkouSpanB(X()) && 
      ADX(X()) >= 20.0
      )
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL &&  
      Close(X() + 2) < Close(X() + 1) && Close(X() + 1) > Close(X()) &&
      Close(X() + 2) < Ichimoku_SenkouSpanB(X() + 2) && Close(X()) < Ichimoku_SenkouSpanB(X()) && 
      Close(X() + 1) >= Ichimoku_SenkouSpanB(X() + 1) && Ichimoku_SenkouSpanA(X()) < Ichimoku_SenkouSpanB(X()) && 
      ADX(X()) >= 20.0
      )
   {  return(true);
   }
   return(false);
}

Ein Abwärtssignal liegt vor, wenn der Kurs auch die Spanne B ablehnt, die als Widerstand wirkt, und der ADX wiederum bei 20 liegt und steigt. Wie beim Aufwärtssignal liegt die Spanne B über der Spanne A, was bedeutet, dass diese Kurswende auch im Kumo stattfindet. Dies ist ein S/R-Wolken-basiertes Signal, das für tiefe Rücksetzer in Trends geeignet ist. Bei unseren Vorwärtstests wie bei den bereits behandelten Signalen erhalten wir die folgenden Ergebnisse:

r7

Pattern-7 schneidet besser ab als die letzten beiden, da es den Vorwärtstest ein Jahr lang bewältigen kann. Dennoch könnte sie einige Verbesserungen vertragen. Mit Kerzenmuster kann eine unabhängige Richtungsbestätigung hinzugefügt werden. Die Platzierung des Stop-Losses wäre in diesem Fall eng und würde strikt unterhalb/oberhalb der Spanne B für den Kauf/Verkauf liegen. Dieses Muster sollte vermieden werden, wenn es sich um dünne Wolken oder niedrige ADX-Werte handelt.



Preis oberhalb/unterhalb der Wolke mit ADX-Bestätigung

Unser vorletztes Muster betrachtet die Position des Preises im Verhältnis zur Kumo-Wolke aus einer Makro-Perspektive. Ein Aufwärtssignal liegt vor, wenn der Kurs oberhalb der Kumo-Wolke liegt, d. h. die Spanne A ist größer als die Spanne B und der ADX beträgt mindestens 25. Wir setzen dies in MQL5 wie folgt um:

//+------------------------------------------------------------------+
//| Check for Pattern 8.                                             |
//+------------------------------------------------------------------+
bool CSignalIchimoku_ADXWilder::IsPattern_8(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && 
      Close(X() + 1) < Close(X()) &&
      Close(X() + 1) > Ichimoku_SenkouSpanA(X() + 1) && Close(X()) > Ichimoku_SenkouSpanA(X()) && 
      Ichimoku_SenkouSpanA(X()) > Ichimoku_SenkouSpanB(X()) && 
      ADX(X()) >= 25.0
      )
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL &&  
      Close(X() + 1) > Close(X()) &&
      Close(X() + 1) < Ichimoku_SenkouSpanA(X() + 1) && Close(X()) < Ichimoku_SenkouSpanA(X()) && 
      Ichimoku_SenkouSpanA(X()) > Ichimoku_SenkouSpanB(X()) && 
      ADX(X()) >= 25.0
      )
   {  return(true);
   }
   return(false);
}

Ein Abwärtssignal liegt vor, wenn der Kurs diesmal unter dem Kumo liegt und die Spanne B über der Spanne A liegt. Der ADX-Hauptpuffer sollte einen etablierten starken Trend anzeigen, d. h. sein Wert sollte mindestens 25 betragen. Dieses Muster stellt ein einfaches Trendfolgesignal mit ADX-Bestätigung dar. Er ist ideal für Trendfortsetzungen. Wenn wir mit diesem Muster nach einer Optimierungsphase einen Vorwärtstest machen, erhalten wir den folgenden Bericht:

r8

Pattern-8 ist wahrscheinlich das beste von allen getesteten Signalmustern in diesem Artikel. Seine Ergebnisse beim Vorwärtstest übertreffen seine Testergebnisse deutlich. Unsere Tests und Schulungen erstrecken sich über ein sehr begrenztes Zeitfenster, was die Leserinnen und Leser wie immer im Hinterkopf behalten sollten. Mögliche Erweiterungen des Musters 8 sind die Berücksichtigung der tatsächlichen Preistrendrichtung vor dem Auslösen durch die Verwendung von Preis-Delta-Parametern. Auch der Stop-Loss kann für Kauf-/Verkaufspositionen bequem in einem Abstand unterhalb oder oberhalb der Wolke gesetzt werden. Zur weiteren Veranschaulichung ist unten ein Aufwärtssignal für Pattern-8 dargestellt:

p8



Chikou Span vs. Preis und Wolke mit ADX-Bestätigung

Unser letztes Muster verwendet Chikou, das wir uns in Pattern-4 angesehen haben, und kombiniert es mit dem Kumo. Ein Aufwärtssignal liegt vor, wenn die Chikou-Spanne über dem Preis liegt, ebenso wie die Spanne A. Der ADX muss mindestens 25 betragen, um einen starken Trend zu bestätigen. Wir setzen dies in MQL5 wie folgt um:

//+------------------------------------------------------------------+
//| Check for Pattern 9.                                             |
//+------------------------------------------------------------------+
bool CSignalIchimoku_ADXWilder::IsPattern_9(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && 
      Ichimoku_ChinkouSpan(X() + 26) > Ichimoku_SenkouSpanA(X()) &&
      //Ichimoku_ChinkouSpan(X() + 26) > Close(X()) && 
      Ichimoku_SenkouSpanA(X()) > Ichimoku_SenkouSpanB(X()) && 
      ADX(X()) >= 25.0
      )
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL &&  
      Ichimoku_ChinkouSpan(X() + 26) < Ichimoku_SenkouSpanA(X()) &&
      //Ichimoku_ChinkouSpan(X() + 26) < Close(X()) && 
      Ichimoku_SenkouSpanA(X()) < Ichimoku_SenkouSpanB(X()) && 
      ADX(X()) >= 25.0
      )
   {  return(true);
   }
   return(false);
}

Ein Abwärtssignal liegt vor, wenn der Chikou unter dem Preis und der Spanne A liegt. Der ADX sollte ebenfalls mindestens 25 betragen. Dieses etwas verzögerte Signal bestätigt die Trendrichtung und -stärke. Der beste Marktkontext für Pattern-9 wären stark tendierende Märkte. Unsere Testergebnisse für dieses endgültige Muster lauten wie folgt:

r9

Auch wenn sich dieses Muster in seinem Vorwärtstest schließlich als profitabel erweist, ist es im Vergleich zu Pattern-8 und einigen anderen, die wir oben behandelt haben, wie z. B. Pattern-4, ein wenig mühsam. Eine mögliche Verbesserung könnte in der Annahme einer sekundären Bestätigung mit anderen Ichimoku-Mustern bestehen. Auch bei diesem Signalmuster ist es wichtig, sicherzustellen, dass die Wolke die Handelsrichtung unterstützt. Die Festlegung des Stop-Loss kann auf der Grundlage der jüngsten Kursentwicklung erfolgen, und wie bereits betont, ist dies kein Muster für seitwärts tendierende oder unruhige Märkte.



Schlussfolgerung

Wir haben eine weitere Indikatorenkombination aus dem Ichimoku-Indikator und dem ADX Wilder eingeführt. Diese Paarung hat uns auf der Grundlage des begrenzten 2-Jahres-Zeitfensters, in dem sie getestet wurde, potenziell sieben Signalmuster geliefert, die den Vorwärtstest gewinnbringend beenden konnten. Wir sprechen hier potenziell, weil das Testfenster, das wir verwenden, sehr klein ist, und wie immer geht es in diesem Artikel darum, zu erforschen. Im nächsten Teil werden wir versuchen, die drei Signalmuster zu untersuchen, die es schwer hatten, den Vorwärtstest zu bestehen, und herauszufinden, ob maschinelles Lernen eine Rolle spielen kann, wenn überhaupt, um ihr Schicksal zu wenden.


NameBeschreibung
WZ-73.mq5Der assistenzbasierte Expert Advisor, dessen Kopfzeilen die in der Assemblierung enthaltenen Dateien anzeigt
SignalWZ_73.mqhNutzerdefinierte Signalklassendatei, die in der Assistentenzgruppe von MQL5 verwendet wird.
Die angehängten Dateien sollen mit der MQL5-Assistenz verwendet werden, um einen Expert Advisor zusammenzustellen. Für neue Leser gibt es hier eine Anleitung, wie man das macht.

Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/18723

Beigefügte Dateien |
WZ-73.mq5 (8.26 KB)
SignalWZ_73.mqh (22.52 KB)
Letzte Kommentare | Zur Diskussion im Händlerforum (2)
Israr Hussain Shah
Israr Hussain Shah | 4 Juli 2025 in 15:10
KI basiert nicht auf menschlichen Inhalten
Muhammad Syamil Bin Abdullah
Muhammad Syamil Bin Abdullah | 4 Juli 2025 in 16:38
Versuchen Sie, Ichimoku-Filter mit CCI zu verwenden
Umstellung auf MQL5 Algo Forge (Teil 4): Arbeiten mit Versionen und Releases Umstellung auf MQL5 Algo Forge (Teil 4): Arbeiten mit Versionen und Releases
Wir werden die Entwicklung der Projekte Simple Candles und Adwizard fortsetzen und dabei auch die feineren Aspekte der Verwendung des Versionskontrollsystems und des Repositorys von MQL5 Algo Forge beschreiben.
Vom Neuling zum Experten: Animierte Nachrichtenschlagzeilen mit MQL5 (VI) – Strategie von schwebenden Aufträgen für den Nachrichtenhandel Vom Neuling zum Experten: Animierte Nachrichtenschlagzeilen mit MQL5 (VI) – Strategie von schwebenden Aufträgen für den Nachrichtenhandel
In diesem Artikel verlagern wir den Schwerpunkt auf die Integration einer nachrichtengesteuerten Auftragsausführungslogik, die den EA in die Lage versetzt, zu handeln und nicht nur zu informieren. Begleiten Sie uns, wenn wir erforschen, wie man die automatisierte Handelsausführung in MQL5 implementiert und den News Headline EA zu einem vollständig reaktionsfähigen Handelssystem erweitert. Expert Advisors bieten den Entwicklern von Algorithmen erhebliche Vorteile, da sie eine Vielzahl von Funktionen unterstützen. Bislang haben wir uns auf die Entwicklung eines Tools zur Präsentation von Nachrichten und Kalenderereignissen konzentriert, das mit integrierten KI-Einsichten und technischen Indikatoren ausgestattet ist.
MQL5-Handelswerkzeuge (Teil 5): Erstellen eines Ticker-Laufbands für eine Symbolüberwachung in Echtzeit MQL5-Handelswerkzeuge (Teil 5): Erstellen eines Ticker-Laufbands für eine Symbolüberwachung in Echtzeit
In diesem Artikel entwickeln wir ein Ticker-Laufband in MQL5 für die Echtzeitüberwachung mehrerer Symbole, das Geldkurse, Spreads und tägliche prozentuale Veränderungen mit Scrolleffekten anzeigt. Wir implementieren anpassbare Schriftarten, Farben und Bildlaufgeschwindigkeiten, um Preisbewegungen und Trends effektiv hervorzuheben.
MQL5-Handelswerkzeuge (Teil 4): Verbesserung des Dashboards des Multi-Timeframe-Scanners mit dynamischer Positionierung und Umschaltfunktionen MQL5-Handelswerkzeuge (Teil 4): Verbesserung des Dashboards des Multi-Timeframe-Scanners mit dynamischer Positionierung und Umschaltfunktionen
In diesem Artikel erweitern wir das MQL5 Multi-Timeframe Scanner Dashboard mit beweglichen und umschaltbaren Funktionen. Wir ermöglichen das Verschieben des Dashboards und eine Option zum Minimieren/Maximieren für eine bessere Bildschirmnutzung. Wir implementieren und testen diese Verbesserungen für eine verbesserte Handelsflexibilität.