English Русский 中文 Español 日本語 Português
ZUP - Universeller ZigZag mit Pesavento-Mustern. Suche nach Mustern

ZUP - Universeller ZigZag mit Pesavento-Mustern. Suche nach Mustern

MetaTrader 5Integration | 23 Mai 2018, 12:21
974 0
Eugeni Neumoin
Eugeni Neumoin

Einführung

Die Suche nach Mustern auf Preischarts interessiert viele Händler. Das lässt sich in der Indikator-Plattform ZUP implementieren. Es gibt mehrere Varianten für die Arbeit mit der Plattform. Erstens, kann man nach bereits bekannten Mustern suchen, deren Parameter strikt festgelegt sind. Zweitens, kann man die Parameter an eigene Anforderungen anpassen. Und drittens, kann man eigene Muster mithilfe des grafischen Interfaces ZUP erstellen und deren Parameter in einer Datei speichern. So kann man schnell überprüfen, ob diese neuen Muster in den Charts entstehen.

Viele Autoren beschäftigten sich mit Mustern. Unter ihnen ist Harold M. Gartley besonders zu erwähnen. 1935 veröffentlichte er das Buch "Profits in the Stock Market". Auf einer Seite ist die Abbildung mit einem Muster und eine kurze Beschreibung angeführt, wie man das Muster für den Handel verwenden kann. Erst mehrere Jahrzehnten später wurden viele neue Muster beschrieben. Einer der bekanntesten Autoren ist Scott Carney. Er entwickelte die Muster Gartley, Bat, Butterfly, Crab und andere. 2016 meldete er Urheberrechte für alle diese Muster an.

Es gibt eine Vielzahl von Algorithmen für die Erkennung von Mustern. Man kann zum Beispiel Extrema auf dem Chart auswählen, Fibonacci-Gitter zwischen ihnen platzieren und das Entstehen eines Musters am Erreichen der entsprechenden Levels erkennen. Dieser Algorithmus wird bei manueller Suche und in einigen Programmen verwendet. Die andere Variante ist nur für die Anwendung in einem Programm geeignet. Der Algorithmus des Programms ermittelt Extrema, überprüft ihre gegenseitige Position und wenn diese einem Muster entspricht, wird eine Meldung ausgegeben, dass das Muster erkannt wurde.

In der Indikator-Plattform ZUP ist eine Vielzahl von Möglichkeiten für die Erkennung von Mustern implementiert. Man kann diese auch manuell erstellen. Aber den Hauptalgorithmus stellt eine automatisierte Suche nach Mustern basierend auf den Extrema des Marktes dar, die mithilfe verschiedener ZigZags ermittelt werden. In den ZUP-Versionen älter als 151 wurden die Modi der Suche nach Mustern mithilfe von Parametern gesetzt. Es gibt aber über 100 Parameter, die die Erkennung von Mustern beeinflussen können, und das erschwert die Arbeit. In der Version 152 erschien die Möglichkeit, ein grafisches Interfaces zu verwenden. Die Basiseinstellungen werden mithilfe von Parametern gesetzt, und das Einbinden der Muster in die Suche erfolgt mithilfe des grafischen Interfaces.

Alle Parameter sind der Einfachheit halber in Gruppen aufgeteilt. Ich liste die Gruppen der Parameter auf, die die Erkennung von Mustern beeinflussen.

  1. Einstellungsparameter des ZigZags.
  2. Einstellungsparameter der Fibonacci-Levels (1 - Parameters for fibo Levels).
  3. Parameter für Pesavento-Muster (2 - Parameters for Pesavento Patterns).
  4. Parameter für Gartley-Muster (3 - Parameters for Gartley Patterns).
  5. Allgemeine Parameter (15 - Common Parameters).

Darüber hinaus gibt es eine Vielzahl integrierter grafischer Tools, die bei der Suche von Mustern hilfreich sind.

Der erste Teil des Artikels erläutert, wie das Einbinden von Mustern in die Suche mithilfe des grafischen Interfaces in der 152 ZUP-Version implementiert wurde. Danach gehe ich auf die Parameter für die Erkennung von Gartley-Mustern ein und zum Schluss schauen wir uns kurz andere Muster an.

Teil I. Grafisches Interface für das Arbeiten mit Mustern

Der Version 152 wurden Elemente des grafischen Interfaces für das Arbeiten mit Mustern hinzugefügt. Mithilfe des grafischen Interfaces kann man nun:

  1. verschiedene Muster zur Suche hinzufügen oder aus der Suche entfernen;
  2. sich Abbildungen mit den Vorlagen von Fünf-Punkte-Mustern anschauen;
  3. neue Fünft-Punkte-Muster erstellen;
  4. Parameter der Fünf-Punkte-Muster bearbeiten;
  5. altes Muster durch bearbeitetes ersetzen oder das bearbeitete in einer separaten *.CSV-Datei speichern;
  6. neu erstellte Muster in einer neuen oder in der ausgewählten *.CSV-Datei speichern;
  7. Muster aus der ausgewählten Datei zur Suche hinzufügen;
  8. Listen von Mustern für die Suche erstellen.

Für die Arbeit mit dem grafischen Interface der ZUP gibt es den Parameter ExtPanel am Ende der Parameterliste der Indikator-Plattform. ExtPanel=true erlaubt die Arbeit mit dem grafischen Interface.

Wenn das grafische Interface beim ExtPanel=true nicht erscheint oder wenn es durch einen Klick auf die Taste ESC gelöscht wurde, gibt die Tastenkombination SHIFT-Z das Panel auf den Bildschirm aus.

Danach klicken wir auf den Button Insert. Im nächsten Menü klicken wir auf das Symbol "Schmetterling" —  butterfly.  Es erscheint das Arbeitsmenü der Muster:

menu

Es wurde der Button Select hinzugefügt. Wenn man auf den Button klickt, erscheint ein Menü mit der Liste:

menu vieving

Mit dem Menü kann man Muster aus der Liste zur Suche hinzufügen/aus der Suche entfernen, ohne die Parameterleiste des Indikators zu verwenden. Klicken Sie einfach auf den entsprechenden Button. Die Werte der Parameter der einzubindenden Muster werden in der Liste der ZUP-Parameter vorgegeben.

Der Button Viewing of 5 dot patterns ruft ein Panel für die Arbeit mit Fünf-Punkte-Mustern auf. Wenn Sie auf den Button klicken, sehen Sie den folgenden Chart:

chart

Bitte beachten Sie, dass das Bild mit der Vorlage des Musters mithilfe der MQL4-Programmiersprache ausgegeben wird. Die Koordinaten der Punkte des Musters — XABCD — verwenden die Zeit der Balken auf dem Chart. Die Zeit, die angegeben werden kann, wird auf das Jahr 2033 beschränkt. Bei der Arbeit mit diesem Element des Interfaces ist es nicht empfehlenswert, den Chart auf dem Monatszeitrahmen zu verkleinern. Die Zeit der Balken, an welche die Muster gebunden werden, kann beim Verkleinern des Charts über das Jahr 2033 hinauslaufen. Das ruft Fehler hervor. Wenn der Chart maximal verkleinert ist, wird das Template des Musters entweder verzerrt oder gar nicht ausgegeben.

Was kann man mithilfe des erhaltenen Fensters machen?

Die Zeile     doppelt/ersetzt den Wert des Parameters SelectPattern, der Gruppen von Fünf-Punkte-Mustern für die Suche festlegt.


Bei der Arbeit mit dem grafischen Interface werden die Werte der Parameter verwendet, die mithilfe dieses grafischen Interfaces gesetzt wurden. Wenn das grafische Interface deaktiviert wurde ExtPanel=false, werden die Werte verwendet, die über den Reiter der Parameteränderung des Indikators gesetzt wurden. Dabei hat jeder Chart eigene Parametereinstellungen.

Der Button Bullish in der Zeile Bullish/Bearish setzt die Ausgabe des Bildes mit der Vorlage des Musters für einen bullischen oder bärischen Trend (zum ersten Mal wird standardmäßig Bullish ausgegeben) und den Namen des angezeigten Musters.

Die Zeile visible pattern entspricht dem Parameter visiblePattern, der die Liste der zur Suche hinzugefügten Muster festlegt.

Jede Position in dieser Zeile entspricht einem der 33 in den ZUP-Code integrierten Mustern. Ist an der Stelle des ausgewählten Musters 1 angegeben ist, wurde das Muster zur Suche hinzugefügt, wenn 0 — nicht hinzugefügt.

Die Liste der hinzugefügten Muster kann auf mehrere Weisen geändert werden.

  1. Ziehen wir den Cursor auf die ausgewählte Position und klicken auf die linke Maustaste. Der erste Klick gibt das Bild mit dem Template des Musters aus. Der zweite Klick ändert 1 in 0 oder 0 in 1.
  2. Mithilfe der Zeile select. 1 of 33 in der Zeile zeigt an, an welcher der 33 Positionen der rosa Cursor gesetzt ist. Der Cursor zeigt auch, welches Muster ausgewählt wurde. Mit den Pfeilen kann die neue Position des Cursors ausgewählt werden. Der Button Yes/No kann 1 in 0 und umgekehrt — 0 in 1 — ändern.

    Der Button Hide setzt alle Positionen auf 0, d.h. alle Muster werden aus der Suche entfernt. Hier möchte ich das Folgende anmerken. Es können auch mehr als 33 Muster eingebunden werden. Aber die Zeile aus Einsen und Nulls hat nur 33 Stellen. Wenn man den rosa Cursor an die letzte Position links führt und auf << klickt, werden die letzten 33 Muster aufgerufen. Wenn man den rosa Cursor an die rechte (33.) Position führt und auf >> klickt, werden die nächsten 33 Muster aufgerufen.

    Für das Debuggen des Programms wurde eine Datei mit 265 Mustern eingebunden, die von dem Benutzer einer früheren Version des ZUP-Indikators erstellt und nur bei der Suche verwendet wurden. Früher wurden Muster mithilfe externer Programme für die Erstellung von *.CSV-Dateien erstellt. Das ist nicht einfach. Jetzt kann man Muster erstellen, indem man ihre Parameter in eine CSV-Datei schreibt. Aber einfacher ist es, ein grafisches Interface zu verwenden.

  3. Mithilfe der Pfeile in der Zeile select patern kann man Gruppen von Mustern für das Hinzufügen zur Suche auswählen, die im ZUP-Code mithilfe des Parameters SelectPattern festgelegt wurden. Aber die Arbeit dieses Parameters hängt davon ab, ob nur Muster aus dem ZUP oder auch die Muster aus einer externen Datei zur Suche hinzugefügt werden. Mit den Pfeilen in der Zeile  read from file list pattern wird der Wert des Parameters readFromFileListPatterns ausgewählt - "Patterns from ZUP/"Patterns from external file"/"Patterns from ZUP and from file". Mithilfe dieses Parameters wird ausgewählt, wo die Muster gespeichert werden. Mit den Pfeilen wird eine externe Datei mit den Parametern der Muster in der Zeile file ausgewählt. In dieser Zeile wird angezeigt, dass man die Datei 1 aus zwei 1/2 einbinden kann, die M heißt. Das ist die Datei mit den Parametern der Merrill-Muster.

Der Button New aktiviert die Erstellung eines neuen Musters. Wenn es Muster aus der externen Datei eingebunden wurden, können die Buttons Edit und Delete erscheinen, je nach dem welcher Wert in der Zeile read from file list pattern ausgewählt wurde. Wenn es keine externen Dateien gibt, kann der Button Edit auch für die in ZUP integrierten Mustern erscheinen. Das wird dafür getan, um basierend auf einem der 33 Muster eigene Muster zu erstellen, indem man einfach Parameter ändert.

Unten können eine add parametr oder mehrere Zeilen mit den Werten zusätzlicher Parameter erscheinen, die für das Muster auf dem Bild rechts charakteristisch sind.

Ein Klick auf den Button New gibt eine Liste von acht Zeilen mit den Parametern aus, die für Fünf-Punkte-Muster gesetzt werden können.

list parametrs

Ein erneuter Klick auf den Button New gibt den vorherigen Wert des Bildschirms zurück. Im grafischen Interface von ZUP kann man die Aktion jeden Buttons durch einen erneuten Klick auf denselben Button oder durch das Drücken auf ESC zurücksetzen.

Der Klick auf eine der Zeilen mit der Parameterliste ruft das folgende Fenster auf:

In diesem Fall haben wir auf die fünfte Zeile geklickt. Auf dem Bild ist das Beispiel für ein Muster dargestellt, das man mithilfe der ausgewählten Parameter erstellen kann. Bei der Erstellung werden standardmäßig die Werte der Parameter des Musters aus dem Beispiel genommen. Die Parameter können geändert werden. Basierend auf diesem Muster wurde aus Spaß das Muster Baba Jaga ist dagegen erstellt:

baba yaga

Ein erneuter Klick auf die fünfte Zeile ruft das folgende Bild auf:

Die Zeile  parametrs pattern zeigt, welche Parameter geändert werden können.

Die Zeile parametr zeigt den ausgewählten Wert des Parameters an. Mit den Pfeilen wird der neue Wert des Parameters ausgewählt. Man kann ihn manuell bearbeiten, indem man auf 0.382 klickt und den Parameter ändert. Bei der Änderung des Parameterwertes ändert sich auch die grafische Darstellung des Musters.

Der Button Next speichert den ausgewählten Wert, und wir gehen zum Festlegen des Wertes des nächsten Parameters.

Dabei wird die Anzahl der noch nicht gesetzten Parameter in der Zeile parametrs pattern reduziert und es erscheint das nächste Element des Musters — BC.

Nach dem ersten Speichern des Parameterwertes mithilfe des Buttons Next erscheint der Button Back, mit welchem man es zurücksetzen kann und die vorherigen Parameterwerte bearbeiten kann.

Die zwei Buttons  erlauben es, Parameter jederzeit hinzuzufügen: der Filter der Linie XB und das Verhältnis der Längen der Flügel des Musters. Dieses Verhältnis wird mithilfe der Pfeilen gesetzt. Beim Klicken auf die Zahl, die mit den Pfeilen ausgewählt wurde, kann man ein eigenes Verhältnis manuell setzen. ACHTUNG! Um ihn zu deaktivieren, muss man den Wert 0 eingeben.


Nachdem ein neues Muster erstellt wurde, geben Sie seinen Namen ein:

edit name pattern

Benennen wir ihn zum Beispiel AA.

Danach werden Sie gebeten, den Namen der Datei auszuwählen, in welcher das erstellte Muster gespeichert wird. Standardmäßig wird die Datei ausgewählt, die als externe Datei mit den Mustern eingebunden wurde. Man kann auch den Namen der Datei bearbeiten — dann wird das Muster in der Datei mit dem geänderten Namen gespeichert. Wenn eine solche Datei bereits früher erstellt wurde, wird das Muster am Ende der Liste geschrieben. Wenn es keine Datei mit dem ausgewählten Namen gibt, wird eine neue erstellt.

Choose/edit file

Die Änderung der Parameter der Muster ist ähnlich der Erstellung eines neuen Musters. Am Ende der Bearbeitung kann das erhaltene Muster anstelle des alten oder als neues Muster in der angegebenen *.csv-Datei gespeichert werden. Oder, wenn wir ein Muster aus der Liste der ZUP bearbeitet haben, wird es uns angeboten, das Muster als neues Muster in der ausgewählten Datei zu speichern.

*.csv-Dateien werden im Ordner MQL4\Files\ZUP\ListPatterns gespeichert.

Ich gehe nicht ausführlicher auf die Beschreibung einiger Buttons ein. Es ergibt sich aus dem oben Dargelegten, wie sie funktionieren.

Bei der Erstellung/Änderung einiger Parameter kann der Grenzwert des Parameters ausgegeben werden. Weiter wird es unmöglich sein, ihn zu ändern. Das wurde dafür getan, damit nicht die Werte eingegeben werden, bei denen das Muster für den ausgewählten Wert von ExtDeltaGartley und mit den vorgegebenen Parameterwerten keinen Sinn hat. D.h. die Muster mit solchen Werten finden wir sowieso nie auf dem Chart. Es erscheint der Button Ignore. Der Button erlaubt es, jegliche Parameterwerte einzugeben: denn vielleicht wollen wir später den Wert ExtDeltaGartley erhöhen, danach werden die jetzt verbotenen Werte funktionieren.


Teil II. Parameter für die Suche nach Gartley-Mustern

Das Aktivieren der Suche nach Gartley-Mustern erfolgt mithilfe des Parameters ExtIndicator=11. Dabei wird der Chart mit einem Abstand von ExtMaxBar Balken gescannt. Das ist die erste Variante. Sie heißt "Die Suche nach Mustern mit dem Scanner".

Die Suche von Mustern ist auch bei den anderen Werten des Parameters ExtIndicator möglich. Dafür wird der Parameter ExtGartleyOnOff aktiviert und die Suche erfolgt auf einem ZigZag, der durch den Paramater ExtIndicator vorgegeben wurde. Das ist die zweite Variante — "Suche nach Mustern auf einem ZigZag".

Beim Wechsel der Timeframe werden die Muster, die mithilfe der ersten zwei Varianten erkannt wurden, vom Chart gelöscht und die Suche beginnt von Anfang an.

Es gibt auch eine dritte Variante für die Suche nach Mustern. Diese Variante wurde im Artikel "ZUP - universeller ZigZag mit Pesavento-Mustern. Grafisches Interface" beschrieben.

Die Muster, die auf den Chart mithilfe der dritten Variante ausgegeben wurden, bleiben beim Wechsel der Timeframe auf dem Chart. Auf einigen Zeitrahmen kann das Filtern der Fraktale deren Ausgabe verbieten.

Die Muster, die mithilfe des grafischen Interfaces erstellt wurden, kann man bei allen drei Varianten verwenden.

Nun führe ich die vollständige Liste der Parameter an, die bei der Suche nach den Gartley-Mustern und bei der Arbeit mit dem im ersten Teil des Artikels beschriebenen grafischen Interface verwendet werden.

  • AlgorithmSearchPatterns — Auswahl des Algorithmus des Scanners für den Modus der Suche nach Mustern ExtIndicator=11:
    • 0 - entspricht dem Algorithmus ExtIndicator=0 – Standard-ZigZag;
    • 1 - entspricht dem Algorithmus ExtIndicator=1 - der ZigZag von Alex, die Größe des Strahls wird in Punkten gesetzt;
    • 2 - entspricht dem Algorithmus ExtIndicator=1 - der ZigZag von Alex, die Größe des Strahls wird in Prozent gesetzt;
    • 3 - entspricht dem Algorithmus ExtIndicator=2;
    • 4 - entspricht dem Algorithmus ExtIndicator=4;
    • 5 - entspricht dem Algorithmus ExtIndicator=5;
    • 6 - entspricht dem Algorithmus ExtIndicator=12. 
  • PotencialsLevels_retXD - erlaubt die Ausgabe der Levels des Retracements XD der potentiellen Fünf-Punkte-Muster. Im Modus ExtIndicator=11 wird dieser Parameter nur dann verwendet, nur wenn ein Muster gefunden wurde, weiter werden die Levels vom Punkt C ausgegeben:
    • 0 - Ausgabe potentieller Levels deaktiviert;
    • 1 - potentielle Levels werden gemeinsam mit den Mustern ausgegeben, wenn ExtGartleyOnOff=true;
    • 2 - potentielle Levels ausgeben. Dabei wird die Ausgabe von Mustern deaktiviert.
  • visibleLevelsABCD - setzt unterschiedliche Varianten der Anzeige für die Levels des potentiellen Punktes D der potentiellen Fünf-Punkte-Muster:
    • 0 - zusätzliche Levels werden nicht angezeigt;
    • 1 - es werden alle Varianten der Levels des Retracements BD auf den Chart ausgegeben;
    • 2 - alle Levels verschiedener Varianten von AB=CD werden in den Chart ausgegeben;
    • 3 - es werden die Levels des Retracements BD und die Varianten AB=CD ausgegeben.
  • maxDepth - maximaler Wert von Depth (minBars), bis welchem sich der Depth-Parameter des ZigZags beim aktiven Scannen für die Suche nach Gartley-Mustern ändern kann. Er wird bei AlgorithmSearchPatterns=0 verwendet.
  • minDepth - minimaler Wert von Depth für die Suche nach Gartley-Mustern.
  • FiboStep - aktiviert die Berechnung des Parameters Backstep nach der Formel Backstep=Depth*1.618.
  • IterationStepDepth - Schrittweite für die Änderung des Parameters Depth bei der Erkennung von Gartley-Mustern.
  • maxSize_ - maximaler Wert des Strahls in Punkten. Der Parameter wird im Scanner verwendet, wenn AlgorithmSearchPatterns=1, AlgorithmSearchPatterns=3, AlgorithmSearchPatterns=4, AlgorithmSearchPatterns=6.
  • minSize_ - minimaler Wert des Strahls in Punkten.
  • IterationStepSize - Schrittweite der Änderung des Parameters Size bei der Suche nach Gartley-Mustern.
  • maxPercent_ - maximaler Prozent für die Berechnung des ZigZags von Alex. Wird im Scanner von Mustern verwendet, wenn AlgorithmSearchPatterns=2.
  • minPercent_ - minimaler Wert des Prozents für die Berechnung des ZigZags von Alex.
  • IterationStepPercent - Schritt (Prozent) für die Änderung des Parameters Percent.
  • DirectionOfSearchMaxMin - legt die Richtung für die Suche nach Mustern fest:
    • false - von minDepth zu maxDepth;
    • true - von maxDepth zu minDepth;
  • SelectPattern - wählt Fünf-Punkte-Muster für die Suche aus:
    • 0 - Suche nach allen Mustern;
    • 1 - Suche nur nach den klassischen Mustern - Gartle, Butterfly, Bat, Crab, außer TOTAL;
    • 2 - Suche nach klassischen und antiklassischen Mustern außer TOTAL;
    • 3 - Suche nach exotischen Mustern und exotischen Anti-Mustern, außer TOTAL;
    • 4 - Suche nur nach Anti-Mustern, außer TOTAL;
    • 5 - Suche nach allen Mustern, außer TOTAL;
    • 6 - Suche nur nach TOTAL;
    • 7 - zufällige Auswahl von Fünf-Punkte-Mustern für die Suche mithilfe des Parameters visiblePattern;
    • 8 - die Suche nach Fünf-Punkte-Mustern deaktiviert;
    • "Gartley";
    • "Bat";
    • "Alternate Bat";
    • "Butterfly";
    • "Crab";
    • "Deep Crab";
    • "Leonardo";
    • "Shark";
    • "Cypher";
    • "Nen STAR";
    • "5-0";
    • "A Gartley";
    • "A Bat";
    • "A Alternate Bat";
    • "A Butterfly";
    • "A Crab";
    • "A Deep Crab";
    • "A Leonardo";
    • "A Shark";
    • "A Cypher";
    • "A Nen STAR";
    • "A 5-0";
    • "Black Swan";
    • "White Swan";
    • "Navarro 200";
    • "max Bat";
    • "max Gartley";
    • "max Butterfly";
    • "TOTAL 1";
    • "TOTAL 2";
    • "TOTAL 3";
    • "TOTAL 4";
    • "TOTAL".
  • visiblePattern - legt fest, nach welchen Mustern zu suchen. Standardmäßig ist die Suche nach allen Mustern deaktiviert.
  • NumberPattern - die Nummer des Musters, nach welcher der ZigZag kalibriert wird und deren Parameter über InfoTF ausgegeben werden. Wenn NumberPattern = 0 wird der ZigZag mit den Parametern wie bei ExtIndicator=0 ausgegeben.
  • ExtGartleyTypeSearch - Suchmodus:
    • 0 - die Suche endet nach dem ersten gefundenen Muster;
    • 1 - es werden alle Muster in dem Bereich ausgegeben, der durch den Parameter maxBarToD festgelegt wurde. Die Suche wird bei jeder neuen Berechnung des ZigZags wiederholt. Der Modus "Das chinesische Spielzeug 1";
    • 2 - es werden alle Muster in dem Bereich ausgegeben, der durch den Parameter maxBarToD festgesetzt wurde. Die Suche erfolgt nur einmal. Der Modus "Das chinesische Spielzeug 2";
  • ExtHiddenPP - der Modus der Anzeige des ZigZags für ExtIndicator=11:
    • 0 - ZigZag wird nicht ausgegeben. Es werden nur die Spitzen des ZigZags ausgegeben. Pesavento-Muster werden nicht ausgegeben;
    • 1 - es wird der durch den Muster kalibrierte ZigZag ausgegeben, der durch den Parameter NumberPattern festgelegt wurde. Die Pesavento-Muster werden ganz normal ausgegeben;
    • 2 - ZigZag wird nicht ausgegeben. Es werden nur die Punkte bei den ZigZag-Spitzen ausgegeben. Die Pesavento-Muster werden nur für die Spitzen der Gartley-Muster ausgegeben.
  • ExtGartleyOnOff - aktiviert die Anzeige der Gartley-Muster. Nicht im Scanner-Modus.
  • maxBarToD - setzt die maximale Anzahl von Balken von Null bis zum Punkt D des Musters.
  • patternInfluence:
    • 0 - es werden die Muster ausgegeben, bei denen der Abstand zwischen dem Nullbalken und dem Balken mit dem Punkt D nicht größer als maxBarToD Balken ist;
    • 1 - es wird der Einfluss des Musters berücksichtigt, dabei wird der Parameter maxBarToD deaktiviert;
    • 2 - die Suche nach Mustern erfolgt auf der ganzen Kennzeichnung des ZigZags.
  • patternTrue = true - es werden die Muster ausgegeben, die die folgende Bedingung erfüllen:

für bärische Muster darf es im Bereich vom Punkt D bis zum Nullbalken keine Balken geben, bei denen das Maximum des Balkens oberhalb des Maximums der Grenze des Bereichs der erwarteten Werte des Punktes D liegt;

für bullische Muster darf es im Bereich vom Punkt D bis zum Nullbalken keine Balken geben, bei denen das Minimum des Balkens unterhalb des Minimums der Grenze des Bereichs der erwarteten Werte des Punktes D liegt.

  • AllowedBandPatternInfluence - es wird der Koeffizient des Abstands zwischen den Punkten X und D des Musters gesetzt. Dieser Koeffizient bestimmt den Abstand zwischen dem Punkt D und dem Punkt, in welchem der Einfluss des Musters vermutlich endet.
  • RangeForPointD - erlaubt die Anzeige des Bereichs der erwarteten Werte des Punktes D.
  • OldNewRangeForPointD - Variante des Zeichnens für den Bereich der erwarteten Werte des Punktes D.
  • ExtColorRangeForPointD - Farbe des Rahmens des Bereichs der erwarteten Werte für den Punkt D.
  • VectorOfAMirrorTrend  = 1 es wird der Vektor des Trends ausgegeben.
  • VectorOfAMirrorTrend  = 2 es wird der Vektor des entgegengesetzten Trends ausgegeben.
  • VectorOfAMirrorTrendColor - setzt die Farbe der Linie des entgegengesetzten Trends.
  • VectorOfAMirrorTrendStyle - setzt den Stil der Linie des entgegengesetzten Trends.
  • shortNamePatterns - erlaubt die Ausgabe der kurzen Namen der Muster.
  • visibleLineOrTriangle - erlaubt, die Muster als Linie oder Dreieck auszugeben, außer den Mustern AB=CD.
  • PatternLineStyle - setzt den Stil der Linie der Fünf-Punkte-Muster und AB=CD.
  • PatternLineWidth - setzt die Liniedicke für Fünf-Punkte-Muster und AB=CD.
  • ExtColorPatternsBullish - Farbe der bullischen Muster.
  • ExtColorPatternsBearish - Farbe der bärischen Muster.
  • ExtColorPatternList - setzt die Liste der Farben für die Gartley-Muster für den Modus "Das chinesische Spielzeug". Die Namen der Farben sind mit einem Komma voneinander getrennt. Wenn eine Farbe mit einem Fehler geschrieben wird, wird rot ausgewählt.
  • ExtDeltaGartley - zulässige Abweichung des Preises für die Suche nach Mustern, standardmäßig 9% - 0.09.
  • ExtDeltaGartleyPRZ  - eine besondere Abweichung für das Zeichnen eines Rahmens für den Bereich der erwarteten Werte des Punktes D.
  • levelD - aktiviert die Ausgabe der Levels der Retracements XD der möglichen Varianten von Mustern für die aktuelle Kombination.
  • colorLevelD - setzt die Farbe der Levels der Retracements XD.
  • Equilibrium - aktiviert die Ausgabe der Linie Equilibrium, Reaction1 und Reaction2.
  • ReactionType — setzt den Typ der Reaktionslinie.
  • EquilibriumStyle — setzt den Stil der Linien.
  • EquilibriumWidth — setzt die Liniendicke.
  • ColorEquilibrium — setzt die Farbe für Equilibrium.
  • ColorReaction — setzt die Farbe für Reaction1 und Reaction2.
  • Ext_3Drives — erlaubt die Ausgabe des Musters 3 Drives.
  • Ext_xO — setzt den Koeffizienten für die Suche nach dem Sieben-Punkte-Muster 3 Drives.
  • Dragon — erlaubt die Ausgabe des Dragon-Musters.
  • PeakZZDragon — setzt die Nummer des Extremums des ZigZags, bis welchen es nach dem Dragon-Muster gesucht wird.
  • Ext_4PointPattern — erlaubt die Suche nach einem Vier-Punkte-Muster der Fortsetzung.
  • _maxXB — setzt den maximalen Wert des Retracements XB für den Muster The 4 Point Pattern. Mehr über dieses Muster kann man hier erfahren: http://kanetrading.com/.
  • ABCD — erlaubt die Suche nach den Mustern AB=CD:
    • 0 - die Muster AB=CD werden nicht ausgegeben;
    • 1 - es werden jegliche AB=CD ausgegeben;
    • 2 - es werden nur harmonische AB=CD ausgegeben, deren Verhältnisse im Rahmen der zulässigen Abweichung der Fibonacci-Reihe entsprechen. 
  • searchABCDAlternate — erlaubt die Ausgabe alternativer Muster AB=CD.
  • ABCDAlternate — setzt die Liste alternativer Muster AB=CD. In dieser Liste werden die X-Koeffizienten aus der Formel X*AB=CD, getrennt voneinander durch ein Komma, aufgezählt.
  • visibleABCDrayZZ — erlaubt die Ausgabe der Muster AB=CD als Linie.
  • Ext_noname — erlaubt die Suche nach unbekannten Fünf-Punkte-Mustern, bei welchen alle vier Retracements einem Fibo-Level gleich sind.
  • CustomPattern — legt fest, ob benutzerdefinierte Muster ausgegeben werden müssen:
    • 0 - das benutzerdefinierte Muster wird nicht ausgeben;
    • 1 - wird gemeinsam mit den anderen Mustern ausgegeben;
    • 2 - es wird nur das benutzerdefinierte Muster ausgegeben.
  • NameCustomPattern — Name des benutzerdefinierten Musters.
  • minXB — setzt den minimalen Wert des Retracements XB.
  • maxXB — setzt den maximalen Wert des Retracements XB.
  • minAC — setzt den minimalen Wert des Retracements AC.
  • maxAC — setzt den maximalen Wert des Retracements AC.
  • minBD — setzt den minimalen Wert des Retracements BD.
  • maxBD — setzt den maximalen Wert des Retracements BD.
  • minXD — setzt den minimalen Wert des Retracements XD.
  • maxXD — setzt den maximalen Equilibrium-Wert des Retracements XD.

Der minimale und maximale Wert des Retracements legen den Bereich für die Suche fest.

  • filtrEquilibrium — aktiviert die Linie als Filter, die über die Punkte X und B des Musters verläuft. Ist der Filter aktiviert, wird das Muster eingezeichnet, wenn der Preis diese Linie bei der Bewegung vom Punkt C in die Richtung des Punktes D durchbricht. Arbeitet nur mit benutzerdefinierten Mustern und noname Mustern.
  • readFromFileListPatterns — setzt das Lesen der Liste der Muster aus der Datei \\ZUP\ListPatterns\listpatterns.csv:
    • 0 - das Lesen der Liste der Muster aus der Datei ist verboten;
    • 1 - wird für die Suche nach den Fünf-Punkte-Mustern verwendet, deren Liste aus der Datei geladen wurde;
    • 2 - zur im ZUP integrierten Liste der Fünf-Punkte-Muster wird die Liste der Muster aus der Datei hinzugefügt. In diesem Fall bekommen wir eine zusammengesetzte Liste der Muster.

Die *.csv-Dateien befinden sich im Ordner MQL4\Files\ZUP\ListPatterns.

  • NameFileListPatterns — setzt den Namen der .csv-Datei, aus welcher die Liste der Parameter der Muster gelesen wird.
  • writeToFileListPatterns — erlaubt das Schreiben der Liste der Fünf-Punkte-Muster:
    • 0 - die Liste wird in die Datei \\ZUP\ListPatterns\listpatternsdefault.csv geschrieben;
    • 1 - die Liste wird in die Datei \\ZUP\ListPatterns\listpatternscustom.csv geschrieben;
    • 2 - die Liste wird in die Datei \\ZUP\ListPatterns\listpatternsmixt.csv geschrieben.
  • picture — erlaubt die Ausgabe der Abbildung des Charts mit dem Muster in eine Datei.

Die Dateien mit dem Bild des erkannten Musters befinden sich im Ordner MQL4\Files\ZUP\PicturePatterns.

  • writeInfoPatternsToFileXML — erlaubt die Ausgabe der Parameter des aktuellen Fünf-Punkte-Musters in eine .XML-Datei:
    • 0 - die Ausgabe der Parameter in eine Datei verboten;
    • 1 - die Parameter der Zeit werden vollständig ausgegeben;
    • 2 - die Parameter der Zeit werden in Sekunden ausgegeben.

Die *.xml-Dateien mit den Parametern des erkannten Parameters befinden sich in der Datei MQL4\Files\ZUP\XML.

  • writeInfoPatternsToFileCSV — erlaubt die Ausgabe des aktuellen Fünf-Punkte-Musters in eine .CSV-Datei:
    • 0 - die Ausgabe der Parameter in eine Datei verboten;
    • 1 - die Parameter der Zeit werden vollständig ausgegeben;
    • 2 - die Parameter der Zeit werden in Sekunden ausgegeben.

Die *.csv-Dateien mit den Parametern des erkannten Musters befinden sich im Ordner MQL4\Files\ZUP\CSV.

  • namefileSymbolPeriod = true — setzt die Namen der Dateien mit den Abbildungen von Mustern und den Parametern als Symbol()+"_"+Period()+"_Patterns.
  • InfoPointD — erlaubt die Ausgabe von Informationen über den Punkt D des Musters.
  • MonitorPatterns — aktiviert den Bildschirm der Muster.
  • TextSize — setzt die Schriftgröße im Bildschirm der Muster.
  • ExtGlobalVariableSet — erlaubt das Schreiben der Informationen über Muster in die globalen Variablen des Terminals.

Die Information über ein erkanntes Muster wird in die globale Variable "ZUP"+_Symbol+_Period ausgegeben. Ein Beispiel für den Namen einer Variablen — ZUPGBPUSD240. Wenn das Muster gefunden wurde, wird 1 in die Variable geschrieben.

Erläuterung einiger Möglichkeiten von ZUP, die in den Suchmodi für Gartley-Muster implementiert wurden


Bildschirm der Muster

Unten ist die Arbeit des Bildschirms der Muster im Modus "Das chinesische Spielzeug" dargestellt. In diesem Modus wird eine Vielzahl erkannter Muster auf den Chart ausgegeben:

monitor patterns

Die Zeilen in der linken oberen Ecke des Charts stellen den Bildschirm dar. Jede Zeile entspricht einem der Muster, die auf den Chart ausgegeben wurden. Die Farbe der ersten drei Spalten entspricht der Farbe des Musters. Die Farbe der vierten Spalte: blau — bullisches Muster, gesetzt durch den Parameter ExtColorPatternsBullish, rot — bärisches Muster, gesetzt durch den Parameter ExtColorPatternsBearish.

In der ersten Spalte wird die Nummer des Balkens ausgegeben, auf welchem der Punkt D liegt.

In der zweiten Spalte werden die Parameter minBars/ExtBackstep des ZigZags ausgegeben, auf welchem das entsprechende Muster gefunden wird.

In der dritten Spalte wird die bedingte Abweichung der Retracements XC-XB-AD-CD vom idealen Wert angezeigt. Erläutern wir das am Beispiel des Musters Bullish Butterfly [1.414/.786/.786/2.0] in der fünften Zeile des Bildschirms der Muster. Ideale Werte für die Retracements sind in eckigen Klammern nach dem Namen des Musters angezeigt. Wie werden bedingte Abweichungen gebildet? Was bedeuten bedingte Abweichungen?

Je größer die Zahl ist, desto größer ist die Abweichung vom idealen Wert.

  • Wert 0: die Abweichung muss kleiner als die durch den Parameter ExtDeltaGartleyPRZ gesetzte Abweichung sein. Standardmäßig ist der Parameter gleich 2%.
  • Wert 1: die Abweichung muss kleiner als die durch den Parameter ExtDelta gesetzte Abweichung sein. Standardmäßig - 4%.
  • Wert 2: die Abweichung muss kleiner als die durch den Parameter ExtDeltaGartley gesetzte Abweichung sein. Standardmäßig - 9%.
  • Wert * : die Abweichung ist größer, als beim Wert 2. Das ermittelte Muster wird dem Muster entsprechen, das mithilfe der ersten ZUP-Versionen gefunden worden wäre.

Die Linie des Gleichgewichts und die Linie des Vektors des entgegengesetzten Trends

Der Parameter Equilibrium aktiviert die Ausgabe der Linie des Gleichgewichts, die über die Punkte XB des Musters und zwei Reaktionslinien (rote gepunktete Linien) verläuft:

equilibrium / vector of a mirror trend

Die Reaktionslinie 1 ist parallel zur Linie des Gleichgewichts und befindet sich in einem Abstand von der Linie, der gleich dem Abstand zwischen dem Punkt C des Musters und der Linie des Gleichgewichts ist.

Die Reaktionslinie 2 parallel zur Linie des Gleichgewichts und befindet sich in einem Abstand von der Linie, der gleich dem Abstand zwischen dem Punkt A des Musters und der Linie des Gleichgewichts ist.

Bei der Näherung an die Reaktionslinien kann man entweder Korrektur oder das Ende der Formation des Musters erwarten.

Der Vektor des entgegensetzten Trends wird mithilfe des Parameters VectorOfAMirrorTrend aktiviert. Danach wird eine gepunktete Linie gezeichnet. Auf dem oben angeführten Bild ist die Linie des Vektors hellgrün. Sie verläuft quer über den potentiellen Umkehrbereich, der als rotes Rechteck beim Punkt D dargestellt ist.


Teil III. Kurz über andere Msuter

Außer den Gartley-Mustern erlaubt ZUP mit Pesavento-Mustern und anderen Mustern zu arbeiten.

Es gibt, zum Beispiel, die so genannten Merrill-Muster. Sie werden gemeinsam mit Bollinger-Bands verwendet. ZUP erlaubt es, sie auf einem bereits gezeichneten ZigZag zu identifizieren. Auf den Charts werden sie nicht angezeigt: es wird nur der Name ausgegeben. Auf den ersten vier Strahlen des ZigZags rechts werden die dynamischen Merrill-Muster sein, auf den Strahlen von zwei bis fünf — die statischen.

Die Anzeige der Information über die Merrill-Muster wird mithilfe des Parameters infoMerrillPattern=true aktiviert. Die Information über das Muster wird in der linken oberen Ecke des Bildschirms klein ausgegeben. Mithilfe des Parameters bigText=true kann man den Namen des Musters groß ausgeben. In diesem Fall wird der Name in der rechten oberen Ecke des Bildschirms ausgegeben.

Merrill pattern

Auf den ersten vier Strahlen bildete sich ein dynamisches Merrill-Muster, das als Dreieck bezeichnet wird.

Auf den Strahlen von zwei bis fünf sehen wir das statische Muster unter dem Namen M13.

Die Merrill-Muster gehören zu Fünf-Punkte-Mustern. Sie können mithilfe des grafischen Interfaces grafisch dargestellt werden. Das hat bereits ein User im Forum, Stanislav Trivaylo alias Porutschik, umgesetzt.

Wenn der Parameter bigText=true aktiviert ist, kann auch die Information über das gefundene Gartley-Muster in Großdruck ausgegeben werden. Diese Information und der Bildschirm können nur für die ersten zwei Varianten der Suche von Mustern ausgegeben werden.


Fazit

Diese Kurzbeschreibung erläutert, wie man ZUP für die Suche nach Mustern nutzen kann.

Die Indikator-Plattform ZUP kann im Market heruntergeladen werden: https://www.mql5.com/de/market/product/19758



Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/ru/articles/2990

Synchronisierung mehrerer Charts eines Symbols auf verschiedenen Zeitrahmen Synchronisierung mehrerer Charts eines Symbols auf verschiedenen Zeitrahmen
Häufig muss man während des Handels Charts auf gleichzeitig mehreren Zeitrahmen analysieren, um Handelsentscheidungen zu treffen. Dabei sind häufig Objekte der grafischen Analyse auf diesen Charts vorhanden. Es ist aber unbequem, allen Charts die gleichen Objekte hinzuzufügen. In diesem Artikel schlage ich vor, das "Klonen" von Objekten nach Charts zu automatisieren.
Tiefe neuronale Netzwerke (Teil V). Bayes'sche Optimierung von DNN-Hyperparametern Tiefe neuronale Netzwerke (Teil V). Bayes'sche Optimierung von DNN-Hyperparametern
Der Artikel beschäftigt sich mit der Möglichkeit, die Bayes'sche Optimierung auf Hyperparameter von tiefen neuronalen Netzen anzuwenden, die durch verschiedene Trainingsvarianten gewonnen werden. Die Klassifikationsqualität eines DNN mit den optimalen Hyperparametern in verschiedenen Trainingsvarianten wird verglichen. Die Tiefe der Effektivität der optimalen DNN-Hyperparameter wurde in Vorwärtstests überprüft. Die möglichen Richtungen zur Verbesserung der Klassifizierungsqualität wurden festgelegt.
Erstellen multimodularer Expert Advisors Erstellen multimodularer Expert Advisors
Die Programmiersprache MQL erlaubt es, das Konzept der modularen Programmierung von Handelsstrategien umzusetzen. Der Artikel schildert ein Beispiel für die Erstellung eines multimodularen Expert Advisors, der aus separat kompilierten Dateimodulen besteht.
Geschwindigkeitsvergleich von sich selbst speichernden Indikatoren Geschwindigkeitsvergleich von sich selbst speichernden Indikatoren
Der Artikel vergleicht den klassischen MQL5-Zugriff auf Indikatoren mit alternativen MQL4-Methoden. Mehrere Varianten des Zugriffs auf Indikatoren im MQL4-Stil werden berücksichtigt: mit und ohne Speicherung (caching) der Handles der Indikatoren. Die Handles auf die Indikatoren innerhalb des MQL5-Kerns werden ebenfalls analysiert.