Testen von Mustern, die beim Handel mit Währungskörben entstehen. Teil III

16 Februar 2018, 11:24
Andrei Novichkov
0
305

Einführung

Wir nähern uns dem letzten Teil der getesteten Muster, die beim Handel mit Währungskörben entstehen. Wie Sie sich vielleicht erinnern, haben wir in unserem vorherigen Artikel das Muster beschrieben, das entsteht, wenn in der kombinierten Indikatorgrafik der gleitende Durchschnitt gekreuzt wird. Wir haben auch die Möglichkeit in Betracht gezogen, das als Filter für das Kreuzen der überkauften/überverkauften Niveaus zu verwenden. 

Wir haben die Entwicklung von Mustern, die in den Oszillatoren der kombinierten Indikatorcharts auftreten, bereits evaluiert. Dieses Thema kann als abgeschlossen betrachtet werden.

Testen wir die letzte Art von Mustern. Im Hauptartikel über den Handel mit Währungspaaren werden sie unter den Nummern 4 und 5 beschrieben. Lassen Sie mich kurz daran erinnern, wo wir solche Muster finden können.

Jedes Währungspaar gehört zu ihrem Korb. Zum Beispiel stellt EURUSD zwei Währungskörbe dar — EUR und USD. Das Verhalten dieses Paares kann mit Hilfe von zwei kombinierten Indikatoren analysiert werden — einer für jeden Korb. Wir analysieren den Unterschied zwischen den Werten dieser Indikatoren, um eine Schwächung oder Verstärkung der Paare relativ zueinander zu erkennen. So können wir Rückschlüsse auf die Richtung des Trends ziehen.

Die Kombination der Indikatoren basiert auf dem beschriebenen Prinzip, und wir suchen damit die Muster 4 und 5. Wir kennen bereits ihr allgemeines Erscheinungsbild: Eines von ihnen basiert auf einem Kreuzen von überkauften/überkauften Linien (wir werden es in diesem Artikel testen), die zweite ist der Kreuzungspunkt zwischen dem kombinierten Indikatoren und dem gleitenden Durchschnitt.

Erinnern wir uns an die Vorteile dieser Art von Mustern:

  1. Die Analyse wird genauer, weil sie das Verhalten beider Währungen des Paares berücksichtigt und nicht nur eine (wie in früheren Artikeln hier und hier).
  2. Der Markteintritt nach diesen Mustern erfolgt nur für ein Paar und nicht für den gesamten Korb. Das wiederum bringt uns weitere Vorteile:
    • Viel weniger Inanspruchnahme (drawdown);
    • Mehr psychologischen Komfort für den Händler und ein einfacheres, tägliches Positionsmanagement.

Untersuchte Muster

Die untersuchten Muster bleiben unverändert, obwohl wir sie in einer neuen kombinierten Indikatorgrafik suchen werden. Werfen wir zunächst einen Blick auf das Muster eines überkauften/überkauften Niveaus, das durch eine kombinierte Indikatorgrafik durchbrochen wird. Nehmen wir an, dass wir die Positionen der Niveaus bereits kennen. Das Muster ist in der technischen Analyse bekannt und wird hier beschrieben. Wir werden es beim Schließen der Kerze identifizieren. Es sollte erkennbar sein:

Gesuchtes Muster
Kein Muster




Werkzeuge für den Beginn der Untersuchung

Nach wie vor verwenden wir den Indikator "United WPR" und darauf aufbauende Instrumente. Die Quellcodes der Indikatoren wurden bereits vorher erläutert. Im aktuellen Artikel sind sie als test.zip angehängt. Zuerst definieren wir die mögliche Anzahl der Positionen.

Mögliche Anzahl von Positionen

Die mögliche Anzahl der Positionen haben wir bereits mehrfach ermittelt. Wir tun dies, um die Ergebnisse zu vergleichen und die Position von überkauften und überverkauften Niveaus zu bewerten. Wie Sie sich vielleicht erinnern werden, ist die Lage dieser Ebenen im übergeordneten WPR-Indikator wie folgt:

  • Überkauftes Niveau - 20%.
  • Überverkauftes Niveau - 80%.

Aber der "Combined WPR" ändert sich von -100% auf +100%, daher verschieben sich die Werte auf +60% bzw. -60%. Wenn die Anzahl ihrer Durchbrüche mit den bereits erzielten Ergebnissen vergleichbar ist, dann gehen wir davon aus, dass die Ebenen ihre Position behalten.

Wir werden unsere Untersuchungen zu den Zeiträumen H1, H4 und D1 in der folgenden Reihenfolge durchführen.

  1. Starten Sie den Indikator testDistance.mq5 auf dem Chart. Es stehen zwei weitere Indikatoren zur Verfügung — testWPRjpy.mq5 und testWPeur.mq5.
  2. Zuerst ändern Sie den Code der letzten beiden Indikatoren: jeder von ihnen sollte mit einer Währung des Paares arbeiten, auf die der Indikator testDistance.mq5 gesetzt ist. Zum Beispiel enthält der Indikator testWPRjpy.mq5 Währungspaare für den JPY-Basket, während testWPReur.mq5 — für den EUR-Korb. Daher wird testDistance.mq5 auf EURJPY platziert.
  3. Platzieren Sie den Indikator testIndexZig-Zag1.mq5 oberhalb des Indikatorfensters von testDistance.mq5 (wir haben ihn bereits in einem unserer vorherigen Artikel beschrieben). Es durchbricht den Bereich der testWPReur.mq5-Werte (von 100% bis -100%) um Intervalle von 0 bis 99 und berechnet die Anzahl der Ausbrüche, die in jedes Intervall fallen. Der erhaltene Wert wird als Arbeitsergebnis des Indikators testIndexZig-Zag1.mq5 angenommen (nennen wir es einfach "Ergebnis" weiter unten) und in einer Datei gespeichert. Die Generierung einer solchen Datei ist das Hauptziel der aktuellen Phase. Unten ist das Fragment der Datei in Form einer Tabelle für mehr Bequemlichkeit zur Verfügung gestellt:
    Nummer des Intervalls Indikatorspanne Minimaler Indikatorwert
    Maximaler Indikatorwert 
    Anzahl der Ausbrüche
    ... ... ... ... ...
    47 -4 -6 -4 3
    48 -2 -4 -2 5
    49 0 -2 0 5
    50 2 0 2 7
    ... ... ... ... ...
  4. Lassen Sie uns die resultierenden Dateien analysieren.

Wir können mit allen analysierten Paaren arbeiten, indem wir die Indikatoren testWPRjpy.mq5 und testWPeur.mq5 für jeden von ihnen ändern. Nehmen wir EURJPY und EURUSD als Beispiel.

Vergleichen wir die Ausbrüche der überkauften/überverkauften Niveaus für diese beiden Paare und für ihre Währungen (EUR, USD und JPY) in drei Zeiträumen — H1, H4 und D1.

Wahrscheinlich wird es deutlich weniger erkannte Muster geben als in den zuvor betrachteten Fällen. Der Grund dafür ist einfach: Damit die Grafik dieses kombinierten Indikators das überkaufte/überverkaufte Niveau durchbricht, sollten zwei Ereignisse gleichzeitig stattfinden:

  1. eine Basiswährung ist überverkauft,
  2. eine Kurswährung ist überkauft,

oder umgekehrt. Mit anderen Worten, es ist notwendig, dass eine Währung so schwach wie möglich und die andere gleichzeitig so stark wie möglich ist. Dies ist keine sehr häufige Situation, so dass die vergleichsweise geringe Anzahl von Ausbrüchen zu erwarten ist.

Das Zusammentreffen der beiden oben beschriebenen Ereignisse kann auch nicht marktwirtschaftlicher Natur sein, z.B. die gleichzeitige Veröffentlichung von "gegensätzlich gerichteten" Nachrichten. In solchen Fällen sind die Begriffe "überkauft" und "überverkauft" nicht ganz korrekt, aber wir werden sie beibehalten, um die Sache nicht zu verkomplizieren.

Die vollständigen Ergebnisse der testIndexZig-Zag1.mq5 Operation (generierte Dateien) finden Sie im angehängten Files.zip-Archiv. Die Tests wurden mit der gesamten verfügbaren Historie durchgeführt. 

Lassen Sie uns die wichtigsten Ergebnisse in der Tabelle zusammenfassen:

Symbol

Zeitrahmen
D1 H4 H1
EURJPY 2 / 3 19 / 19 39 / 46
EURUSD 3 / 1 17 / 17 31 / 50
EUR 5 / 1 15 / 16 67 / 73
JPY 5 / 5 20 / 17 79 / 62
USD 2 / 9 13 / 9 80 / 69

Erklären wir den Inhalt:

  • Die ersten beiden Zeilen sind die Ergebnisse der testIndexZig-Zag1.mq5 Operation auf zwei ausgewählten Währungspaaren.
  • Die letzten drei Zeilen sind die Ergebnisse der Indikatoroperation testIndexZig-Zag1.mq5 auf drei getrennten Währungskörben. Jeder der Körbe setzt sich entweder aus der Basiswährung oder der Kurs-Währung der Paare aus den ersten beiden Zeilen zusammen.
  • Numerische Daten in den drei Spalten rechts sind die Daten über die Anzahl der überkauften (-60%)/überkauften (60%) Levels, die sich auch in den Dateien des angehängten Files.zip-Archivs befinden. Zum Beispiel bedeutet 80/69, dass 80 Durchbrüche des Niveaus -60% und 69 Durchbrüche des Niveaus 60% erkannt wurden.


Unsere Aufgabe ist es, die Daten der ersten beiden Zeilen mit den Daten der letzten drei Zeilen zu vergleichen. Die anfängliche Prognose für die Reduzierung der Anzahl der Durchbrüche zu Beginn des Abschnitts wurde mit dem Zeitrahmen von H1 bestätigt, erfüllte sich aber nicht mit H4 und D1. Wir können davon ausgehen, dass H4 und D1 Zeitrahmen nicht genügend Durchbrüche für statistisch bestätigte Schlussfolgerungen haben, oder vielleicht müssen wir die überkauften/überverkauften Niveaus verschieben. Aber das werden wir noch nicht tun. Die Analyse wurde nur mit zwei Paaren durchgeführt, was für begründete Schlussfolgerungen nicht ausreicht. Sobald die Statistiken akkumuliert sind, kann es daher notwendig sein, den Standort der überkauften/überkauften Niveaus anzupassen.

Dennoch können wir eine vernünftige Schlussfolgerung ziehen: Nach wie vor ist die Zahl der Positionseröffnungen auf D1 vernachlässigbar klein.

Testbeginn

Ein ähnliches Muster haben wir bereits getestet. Verwenden wir also den fertigen EA testEAbasket2.mq5 mit minimalen Änderungen.

  • Der EA ruft den Indikator testDistance.mq5 auf.
  • Der EA ist berechtigt, bei jeder Mustererkennung (bei jedem Durchbruch auf überkaufter/überkaufter Ebene) in den Markt einzutreten, trotz eventuell bestehender, offener Positionen.

Ändern wir die Muster etwas, um die Anzahl der Positionen zu erhöhen. Diese Änderungen spiegeln sich in den EA-Parametern wider.

  • SELLPROFIT. Wenn der kombinierte WPR diesen Wert erreicht, schließen Sie alle Verkaufspositionen des Korbes. Der Standardwert ist 0%.
  • SELL1LIMIT. Dies ist der Mindestwert des kombinierten WPR für Punkt 1 (siehe Bild oben), um ein Verkaufsmuster des Korbes zu identifizieren. Der Standardwert ist 65%.
  • SELL2FROM. Maximaler Wert des kombinierten WPR für Punkt 2 zur Identifizierung des Verkaufsmusters des Korbes. Standardmäßig ist 60% ein überkauftes Level.
  • SELL2TO. Mindestwert des kombinierten WPR für Punkt 2 zur endgültigen Identifizierung eines Verkaufsmusters des Korbes. Der Standardwert ist 40%.
  • BUYPROFIT. Wenn der kombinierte WPR diesen Wert erreicht, schließen Sie alle Positionen für den Kauf des Korbs. Der Standardwert ist 0%.
  • BUY1LIMIT. Dies ist der maximale Wert des kombinierten WPR für Punkt 1, um das Kaufmuster des Korbes zu identifizieren. Der Standardwert ist -65%.
  • BUY2FROM. Mindestwert des kombinierten WPR für Punkt 2 zur Identifizierung eines Kaufmusters des Korbes. Standardmäßig ist 60% ein überverkaufter Wert.
  • BUY2TO. Maximaler Wert des kombinierten WPR für Punkt 2 für die endgültige Identifizierung eines Kaufmusters des Korbes. Der Standardwert ist -40%.

Außerdem wendet der Hauptindikator testDistance.mq5 die testWPRХХХ.mq5-Indikatoren an, die die Werte des kombinierten WPR eines bestimmten Korbes liefern. Ändern Sie die letzte Methode der Indikatorberechnung von arithmetisch auf geometrisch. Verschiedene Methoden zur Berechnung der Indikatorwerte wurden hier ausführlich erläutert. Hier werden wir nur den Teil des Codes des Testindikators zeigen, der für die Hauptberechnung verantwortlich ist:

double m_dParam = 0.143; // 1/LG

double GetValue(int shift) 
  {
   double dBuf[1];
   double res=0.0;
   
         res = 1;
         for (int i = 0; i < LG; i++) {
            CopyBuffer(h[i],0,shift,1,dBuf);
            if (bDirect[i]) res *= dBuf[0];
            else            res *= dBuf[0] + 100;            
         }  
         res = -MathPow (MathAbs(res), m_dParam);  
   return (NormalizeDouble((res + 50) * 2, _Digits) );
  }

Alle verwendeten Indikatoren und der EA sind im beigefügten Archiv test2.zip enthalten.

Beginnen wir unsere Arbeit mit EURUSD. Das Ergebnis des letzten Jahres:

Weitere Tests auf AUDUSD und USDJPY führen zu keine weiteren Positionen. Offensichtlich sind Fälle des gleichzeitigen Überkaufs eines Währungskorbes mit einer Überverkaufung sehr selten. Erhöhen wir die Anzahl der Durchbrüche, indem wir die Parameter der Muster ändern und den Test fortsetzen. Die aktualisierte Liste der Eingänge ist unten dargestellt.

  • SELLPROFIT. Keine Änderung.
  • SELL1LIMIT = 50%.
  • SELL2FROM = 40%
  • SELL2TO     = 20%.
  • BUYPROFIT. Keine Änderung.
  • BUY1LIMIT  = -50%
  • BUY2FROM  = -40%
  • BUY2TO      = -20%.

Die Testberichte des EAs zu den Hauptwährungspaaren befinden sich im angehängten Archiv result.zip. Der erzielte Gewinn oder Verlust wird in der Tabelle angezeigt:

  AUDUSD EURUSD GBPUSD NZDUSD USDCAD USDCHF USDJPY
H1 -27.63 48.28 49.34 -20.02 -20.04 29.82 -19.99
H4 -35.10 14.44 1.60 -49.18 -38.75 -15 2.46

D1 Zeitrahmen zeigt fast keine Positionen, daher ist er nicht in den Berichten enthalten. In anderen Zeiträumen sind die Positionen ebenfalls knapp. Akzeptable Ergebnisse werden nur an H1 erkannt. Es zeigt Gewinn auf drei Paaren (EURUSD, GBPUSD und USDCHF). Andere "Majors" zeigen einen Verlust, obwohl er nicht so signifikant ist und nicht davon ausgegangen werden kann, dass der Algorithmus versagt. Vergessen wir nicht, dass wir die einfachste EA-Version ohne jeden Filter getestet haben, eine einzige Regel für den Markteintritt und eine einzige für den Ausstieg. Natürlich reicht das für einen echten Handel nicht aus. Wir können versuchen, das EA zu verbessern und effizienter zu gestalten. Lassen Sie uns die erzielten Ergebnisse analysieren, um herauszufinden, was unser nächster Schritt im Umgang mit dem Algorithmus sein sollte.

Analyse der Testergebnisse

Die erste Sache, die wir stoppen sollten, ist der Unterschied zwischen der Anzahl der Positionen auf H1 und H4. Es ist durchaus verständlich, dass H4 weniger Positionen hat, da es viermal weniger Kerzen hat als H1 für das gleiche Intervall. Es mag den Anschein haben, dass die Anzahl der Positionen ebenfalls viermal geringer sein sollte. In unserer Untersuchung trifft diese Regel ungefähr zu: Auf allen analysierten Paaren gibt es fünfmal weniger Positionen auf H4 als auf H1. Da es auch auf H1 nur wenige Positionen gibt, stellt sich die Frage: Was tun, wenn wir auf H4 nach der Methode handeln wollen? Es kann nur eine Lösung geben — das Muster noch weiter zu "erweitern":

  • SELLPROFIT. Keine Änderung.
  • SELL1LIMIT = 45%.
  • SELL2FROM = 40%
  • SELL2TO     = 10%.
  • BUYPROFIT. Keine Änderung.
  • BUY1LIMIT  = -45%
  • BUY2FROM  = -40%
  • BUY2TO      = -10%.

Dies könnte die Anzahl der Positionen leicht erhöhen, aber wie wird sich das auf Gewinn und Drawdown auswirken? Testen wir das mit zwei Paaren durchführen — GBPUSD (es zeigte einen guten Gewinn auf H1) und AUDUSD (es zeigte einen Verlust).

Das Ergebnis ist als result-1.zip beigefügt Tatsächlich hat das Muster "Expansion" erwartungsgemäß die Anzahl der Positionen erhöht. Vor allem die Gewinne/Verluste konnten von H1 übernommen werden — GBPUSD hat den Gewinn erzielt, während AUDUSD zu einem Verlust führte. Aber ist es wahr, dass die "erweiterten" Muster zu häufigerem Auftreten führen? Zuerst erscheint das Muster beim Ausbruch der überkauften/überkauften Linie. Nach den beiden "Erweiterungen" ist es ziemlich schwierig, von einem Ausbruch und der neuen Lage der Linien zu sprechen. Möglicherweise sollten Händler nicht darauf achten, dass diese Muster in Zeiträumen über H1 liegen, um auf der sicheren Seite zu sein.

Lassen Sie uns auch einen Blick auf die während des Tests festgestellten Drawdowns werfen. Ihre Anwesenheit ist auf dem obigen Screenshot zu sehen, der den EA-Test auf EURUSD zeigt. Abgesehen von der Inanspruchnahme der Mittel können wir auch sehen, dass die Aufträge einen soliden Gewinn einfahren, um später wieder in wesentlich bescheidenere Positionen zurückzukehren. Das haben wir schon gesehen, als wir hier ein ähnliches Muster getestet haben. Was sind die möglichen Gründe?

  1. Nachteile der Regeln für die Positionsschließung. Wie Sie sich vielleicht erinnern werden, wird eine Position geschlossen, wenn der kombinierte WPR seinen Nullpunkt durchbricht. Mit anderen Worten, es bewegt sich in ein Gleichgewicht zwischen der Basis- und der Kurs-Währung. Offensichtlich reicht das nicht aus, und wir brauchen andere Möglichkeiten, um eine Zeit für das Schließen zu definieren. In diesem Fall werden wir jedoch keine zusätzlichen Mittel einsetzen, um einen Einfluss von außen auszuschließen.
  2. Nachteile der Mustererkennung. Wir haben die Eröffnungen sowohl auf H1 als auch auf H4 erweitert. Während wir das Muster "ausweiten", haben wir die überkauften/überkauften Niveaus um bis zu 45-40% verschoben. Wenn das System das Muster automatisch findet, kann es daher noch nicht zu einem echten Ausbruch der überkauften/überkauften Linie kommen. Zum Beispiel kann die Linie nur für eine Währung gebrochen werden, oder beide Währungen können um die überkauften/überkauften Niveaus oszillieren, ohne sie tatsächlich zu überschreiten. In solchen Fällen setzt sich der aktuelle Trend wahrscheinlich fort und es findet keine Umkehr statt. Die Wahrscheinlichkeit eines solchen Verlaufs steigt umso mehr, je mehr nach zusätzlichen "erweiterten" Muster gesucht wird. Je breiter die Muster-Eingaben, desto unbedeutender werden sie. Die beschriebenen Ereignisse können zu einem Drawdown führen.

Nun, da die Tests abgeschlossen sind, ist es an der Zeit, Schlussfolgerungen aus unserer gesamten Arbeit zu ziehen.

Schlussfolgerung

  • Das Muster wird im D1-Zeitrahmen nicht identifiziert und erscheint selten auf H4. Ich empfehle nicht, nach ihm auf Zeitrahmen zu suchen, die höher als H1 sind.
  • Wir können das Muster "erweitern", indem wir die Anforderungen an seine Form und Qualität senken, um die Anzahl der möglichen Positionen zu erhöhen. Aber wenn wir es übertreiben, verliert das Muster seine Kraft und spiegelt nicht die wirklichen Durchbrüche der überkauften/überkauften Level wider. Deshalb sollten Sie das Muster mit großer Sorgfalt ausdehnen.
  • Die Überprüfung der Rentabilität des Musters brachte keine Überraschungen mit sich. Es gibt jedoch einige vielversprechende Merkmale. Bei Paaren wurden keine gravierenden Verluste festgestellt, während einige von ihnen sogar Gewinne erzielten, während in unseren vorangegangenen Tests der H1-Zeitrahmen komplett im roten Bereich lag. Das Muster hat eindeutig das Potenzial, einen stetigen Gewinn zu erwirtschaften, indem man die üblichen technischen Mittel einsetzt — Trailing etc.
  • Das beschriebene Muster tritt nur selten auf. Es sollte als zusätzliches Signal betrachtet werden, das andere Muster verstärkt und nicht als Hauptinstrument für die Entscheidung eine Position zu eröffnen. Wir werden versuchen, das später herauszufinden.

Die dieses Artikels

 # Name
Typ
 Beschreibung
1 test.zip Archive
Hilfsmittel, die mögliche Anzahl der Positionen zu bestimmen.
2
Files.zip Archive Die Ergebnisse aus der Bestimmung der Anzahl der potenziellen Positionseröffnungen.
3 test2.zip Archive Hilfsmittel zum Testen des EAs.
4 result.zip Archive Bericht im HTML-Format zum Testen eines Musters.
5
result-1.zip Archive
Zusätzliche Testberichte im HTML-Format mit H4.

Übersetzt aus dem Russischen von MetaQuotes Software Corp.
Originalartikel: https://www.mql5.com/ru/articles/4197

Beigefügte Dateien |
test.zip (8.36 KB)
test2.zip (16.62 KB)
result.zip (832.8 KB)
result-1.ZIP (127.29 KB)
Files.zip (11.54 KB)
Muster von Ausbrüchen aus einem Kanal Muster von Ausbrüchen aus einem Kanal

Kursverläufe bilden Preiskanäle, die auf dem Chart des Finanzsymbols beobachtet werden können. Der Ausbruch aus einem aktuellen Kanal ist ein starkes Signal einer Trendwende. In diesem Artikel schlage ich eine Möglichkeit vor, den Prozess der Suche nach solchen Signalen zu automatisieren und zu sehen, ob die Muster eines Kanalausbruchs für die Erstellung einer Handelsstrategie verwendet werden kann.

Wie reduzieren Händler die Risiken Wie reduzieren Händler die Risiken

Der Handel an den Finanzmärkten ist mit einer ganzen Reihe von Risiken verbunden, die in den Algorithmen der Handelssysteme berücksichtigt werden sollten. Die Reduzierung solcher Risiken ist die wichtigste Aufgabe, um mit dem Handel Gewinne zu erzielen.

Automatische Auswahl vielversprechender Signale Automatische Auswahl vielversprechender Signale

Der Artikel beschäftigt sich mit der Analyse von Handelssignalen für MetaTrader 5 mit der automatischen Ausführung von Trades auf dem Konto des Abonnenten. Darüber hinaus geht es um die Entwicklung von Werkzeugen für die Suche nach vielversprechenden Handelssignalen direkt im Terminal.

Automatisches Erstellen von Unterstützung- und Widerstandslinien Automatisches Erstellen von Unterstützung- und Widerstandslinien

Der Artikel beschäftigt sich mit der automatischen Konstruktion von Unterstützungs-/Widerstandslinien unter Verwendung aktueller Hochs und Tiefs. Zur Definition dieser Extremwerte wird der bekannte ZigZag-Indikator verwendet.