ZUP - Universal ZigZag mit Pesavento Mustern. Teil 1

Eugeni Neumoin | 29 Januar, 2016

Einführung

Alle, die Arbeiten an den Finanzmärkten ernst nehmen, beginnt früher oder später mit dem Erstellen eines individuellen Handelssystems. Der Autor dieses Artikels erstellte ZUP, ZigZag Universal mit Pesavento Mustern, als ein Ergebnis dieser Suche. Die MetaQuotes Software Corp. schlug mir das Schreiben eines Artikels über diesen Indikator vor. Der vorliegende Artikel ist der erste Versuch dies zu tun. In diesem und den nachfolgenden Artikeln, werde ich die Eigenschaften des Indikators ZUP Version 60 (ZUP_v60) beschreiben. Es entstand so, dass Datenzentren, über die der Autor auf die Finanzmärkte zugriff, die MetaTrader 4 Plattform verwendeten. Die in die Handelsplattform eingebetteten Standard-Indikatoren, boten nicht die notwendigen Analysen des Markts mit der benötigten Effizient. Ich bevorzuge es den Ort an dem ich bin einzurichten, statt einen anderen zu finden. Deshalb musste ich es so machen, dass ich in der Lage wäre alle notwendigen Marktanalysen unter Verwendung des MetaTrader 4 Client Terminals zu machen, das es jemandem ermöglicht seine eigenen Indikatoren zu erstellen, über die eingebettete Sprache MQL4.

Während des vergangenen Jahres, seit ich anfing meinen Indikator zu entwickeln, erschienen viele interessante Ideen. Viele von ihnen wurden umgesetzt. Die Tatsache, dass der Indikator einen offenen Code hat und frei zugänglich war, trug zu dem Zustrom an Informationen und Ideen bei. Dies ist eine Grundsatzentscheidung, einen nicht-kommerziellen Indikator zu entwickeln. In der Praxis, ist die Entwicklung eines nicht-kommerziellen Indikators die beste Lösung.


Theoretische Überlegungen

Nach einer kurzen Recherche, beschloss ich ZigZags mit verschiedenen Algorithmen und automatisierten Aufbau von Pesavento Mustern und Fibo Ebenen der ZigZag Frakturen in einem universellem Indikator zu kombinieren. Ich verstand auch, dass automatisches Zeichnen verschiedener grafischer Tools möglich war, nicht nur Pesavento Muster und Fibo Ebenen. Ich organisierte auch die Suche nach Ideen, was in einen solchen universellen Indikator implementiert werden kann. Ich stellte mir selbst die Aufgabe, alle implizit möglichen Eigenschaften von ZigZag zu enthüllen. Als Ergebnis , war ic in der Lage automatisiertes Zeichnen der meistbekannten grafischen Tools zu implementieren. Einige neue grafische Tools, deren Ideen durch verschiedene Besucher des Forums bei ONIX vorschlugen, wurden außerdem implementiert. Die Logik des Indikators ist einfach:

  1. platzieren sie Kurse der gewählten Symbole in die Indikatoreingabe,
  2. finden Sie die Markt Maxima und Minima in im Chart mit Verwendung verschiedener ZigZags,
  3. verankern Sie verschiedene grafische Tools auf den obigen Maxima und Minima.

Weitere Arbeit mit den erhaltenen grafischen Konstruktionen setzt die Kenntnis der Logik der Arbeit mit dem ausgewählten grafischen Tool. In dem vorliegenden Artikel, werden die in den ZUP eingebetteten ZigZags beschrieben. es werden auch einige genannte grafische Tools im ZUIP verwendet. Ich werde versuchen säuberlich alle Referenzen zu Quellen zu nennen, i denen das Arbeiten mit in den Indikator eingebetteten grafischen Tools beschrieben ist. Ich denke, die sollten untersucht werden, um die zugrundeliegenden Ideen der grafischen Tools zu verstehen.

Das kürzlich von mir gelesene Buch ist referenziert mit [1]. Der Untertitel des Buches ist Geheimnisse des Goldenen Schnitt. Das Buch handelt davon, wie der Goldene Schnitt in allen Naturphänomenen auftritt. Danach habe ich ein Buch gelesen, das unter [2] referenziert ist. Diese zwei Quellen halfen mir zu verstehen, in welche Richtung der Indikator sich entwickelt. Meine vorherige Entwicklung war ein wenig chaotisch. Im Folgenden befinden sich einige Zitate aus Yu.N. Sokolovs Buch:

"Existieren die Grundlagen des Universums und, wenn ja, was sind diese? Wir haben bereits eine ziemlich klare Antwort auf diese Frage in unserer allgemeinen Theorie des Zyklus gegeben, entwickelt seit 1981. Ja, die Grundlagen des Universums existieren und sie sind eine universelle Interaktionsstruktur. Jede Interaktion - und die Welt ist, im Wesentlichen, nichts anderes als das Zusammenspiel von materiellen Objekten - wird nach einem universellen Muster gebildet. Dieses Muster ist zyklisch, d.h. die Zeit in ihm bewegt sich in einem Kreis und Änderungen aller Parameter werden mit einer Wellenkurve beschrieben. Wir nannten dieses Muster 'Interaktionsquantum'... Das Studium der Interaktionsquantumstruktur führte zu unserer Schlussfolgerung, dass die gesamte Outworld nur durch ein Gesetz beschrieben wird - durch das Gesetz der zyklischen Struktur des Interaktionsquantums Raumzeit.…" [2:7, übersetzt durch MetaQuotes Software Corp., 2007]

An einer Interaktion beteiligen sich zwei Kräfte.

"Der Goldene Schnitt ist eine Konstante des Interaktionsquantum... Es stellt sich die Frage, wo die Grenze der Steigerung der einen Kraft und Veringerung der anderen Kraft ist. Es muss eine solche Grenze geben, was aus der folgenden Argumentation resultiert. Stellen wir uns vor, es gibt keine derartige Grenze. Dann können wir die eine Kraft steigern und die andere bis auf Null reduzieren. Dies führt dazu, dass nur noch eine Kraft verbleibt, natürlich. Deshalb gibt es eine Grenze zur Steigerung der einen Kraft und Verringerung der anderen. Das Problem in der Änderung der Kräfte kann, nach unserer Meinung, mit dem Goldenen Schnitt gelöst werden. Die russische Wissenschaft begegnet in den letzten Jahren einer Wiederbelebung, in Bezug auf die Rolle des Goldenen Schnitt in verschiedenen Feldern der Wissenschaft und Technologie. Allerdings ist die Natur des Goldenen Schnitts weiterhin unerforscht. Wir denken, dass diese Natur nur innerhalb der Allgemeinen Zyklustheorie (GCT - General Cycle Theory) untersucht werden kann...[2:29, übersetzt durch MetaQuotes Software Corp., 2007]

Wie die zentralen Grundsätze der GCT in der wissenschaftlichen Forschung angewandt werden können Die schwankende Natur der Interaktion wird bestimmt durch ein "Spiel" oder Interaktion zweier gegenüberliegend oder gemeinsam kausaler Kräfte, Trends. Es ist dieses Spiel, dass die Zyklusstruktur bestimmt. Deshalb, um die Allgemeine Zyklustheorie anzuwenden, ist es notwendig mit der wichtigsten Sache zu beginnen - mit dem Nachweis der zwei entgegengesetzten Kräfte. Bei der Untersuchung verschiedener Systeme, werden wir unterschiedliche Namen für diese Kräfte haben. Wenn wir die Interaktion in der anorganischen Natur betrachten, werden diese Kräfte aktive/reaktive Kräfte sein... Es ist de die wichtigste Sache der weiteren Analyse, die Kräfte in jeder Recherche klar zu erkennen. Nachdem zwei entgegengesetzte Trends gefunden wurden, ist es notwendig zwei entgegengesetzte und gegenseitig kausale Pole zu setzen. Ein Pol ist zusammengesetzt aus dem Maximalwert der positiven Kraft und dem Minimalwert der negativen Kraft. Der zweite Pol ist das Gegenteil des ersten und zusammengesetzt aus dem Minimalwert der positiven Kraft und dem Maximalwert der negativen Kraft. Wie oben dargestellt, sind es diese Pole, zwischen denen der Schwingungsprozess stattfindet.

Die nächste Stufe besteht aus der Suche nach einem Parameter, welcher die träge Masse und die Änderungsrate der entgegengesetzten Kräfte erfassen würde. Die Prozessgeschwindigkeit wird innerhalb eines bestimmten Zeitrahmens verfolgt, ein Sequenzdiagramm wird nach dem oben beschriebenen Vorgang aufgebaut. Das Sequenzdiagramm zeigt die Wellenlänge und die die Größe der oszillatorischen "Lücke". Wenn es notwendig ist, die Interferenz von benachbarten Zyklen in Richtung des gegebenen Zyklus…» [2:46, übersetzt durch MetaQuotes Software Corp., 2007]

Ich werde nicht Zahlen und Formeln aus der Arbeit [3] hier wiedergeben. Sie sind ziemlich interessant. Sie können diese Arbeit selbst lesen, wenn Sie es möchten.

Es ist nicht sehr schwierig, die zwei entgegengesetzten Kräfte an den Finanzmärkten zu erkennen, es sind die Bullen und Bären. Um die Zyklus-Pole (Extremwerte) an den Finanzmärkten zu ermitteln, verwenden wir ZigZag in unserem ZUP Indikator. Es gibt viele Algorithmen für das Zeichnen eines ZigZag Indikators. ZigZag Indikatoren auf der Grundlage verschiedener Algorithmen sind in den ZUP eingebettet. Es ist sehr wichtig, die genau Lage der Extremwerte für beides, Zeit und Kurs, zu finden, d.h. die Extremwerte müssen exakt auf dem Maximum oder Minimum der des entsprechenden Kursbalken platziert werden. Es ist wichtig, die weitere Entwicklung des Zyklus richtig zu prognostizieren. Verschiedene grafische Tools werden verwendet, um die Interaktionen zwischen den Zyklus-Polen zu untersuchen. Da der Goldene Schnitt in allen natürlichen Phänomenen erscheint, werden verschiedene Fibo-Tools in ZUP hervorgehoben. Grafische Tools sind mit den mit ZigZag gefundenen Markt-Extremwerten verankert.

In ZUP eingebettete grafische Tools können statisch oder dynamisch sein. Die statischen sind mit den bereits gebildeten ZigZag-Brüchen verankert, d.h. die Brüche, die sich nicht mehr verändern. Die dynamischen haben ihren Ankerpunkt am ersten Strahl des ZigZags verankert, der seine Lage immer wieder ändert. Die dynamischen grafischen Tools ermöglichen es, eine schnelle Entscheidung zu treffen. Wenn der Markt sich entwickelt, hilft uns das Design des grafischen Tools, den beabsichtigten weiteren Markttrend zu sehen. Wenn der erste Strahl des ZigZag sich ändert, wird das grafische Tool automatisch neu aufgebaut.


Beschreibung der in ZUP eingebetteten ZigZag

Der ZUP hat viele verschiedene Parameter. Der Hauptparameter ist der ExtIndicator. Er wählt den ZigZag, der uns helfen wird die Extremwerte des Marktes zu finden. Die ExtIndicator Nummer wird eine nach der anderen eingestellt, wie neue ZigZags oder Modi in den ZUP eingebettet sind. Ich möchte voraussetzen, dass, egal welcher ZigZag verwendet wird, er nicht auf jeden Tick neu berechnet wird. er wird neu berechnet, wenn:

  1. der Kurs aus der Null-Bar herausfällt (der Mart geht über das Null-Bar Hoch-Niveau, unter das Null-Bar Tief-Niveau oder eine Null-Bar erscheint),
  2. die frühere Historie wird gezogen,
  3. das Terminal wurde neu gestartet beim Ziehen der Historie, die erschien als das Terminal nicht in Betrieb war.

Alle ZigZag Indiaktor Stile sind eingestellt auf Verwendung des Parameters ExtStyleZZ:

  1. ExtStyleZZ = true - stellt den ZigZag Linienstil mit Verwendung der COLORS Registerkarte ein (Menu Chartfunktionen->Indikatoren->ZUP_v60->Editieren->Farben);
  2. ExtStyleZZ = false - der ZigZag wird als Punkte bei Maximal- und Minimalwerten angezeigt


Der Erste ZigZag

ExtIndicator = 0 aktiviert den Standard-ZigZag, der mit dem MetaTrader 4 Client Terminal vor 2006 ausgeliefert wurde. Dieser ZigZag wurde leicht modifiziert. Die Idee für die Modifizierung dem von Nikolay Kositsin: Multiple Null Bar Re-Count in Some Indicators veröffentlichten Artikel entnommen. Außerdem habe ich meine eigenen Lösungen verwendet. Unten sind die Parameter-Einstellungen für diesen ZigZag:

  1. minBars entspricht ExtDepth in dem mit MetaTrader 4 gelieferten ZigZag,
  2. ExtDeviation entspricht ExtDeviation;
  3. ExtBackstep entspricht ExtBackstep.


Der Zweite ZigZag

ExtIndicator = 1 aktiviert Alexs ZigZag (Automatic Channel).

Algorithmus

Der Mittelwert des ersten Balken wird berechnet. Dann wird der bedingte Durchschnittspreis eines Balken berechnet. Die Trendrichtung des nächsten Balken wird durch die Verschiebung des bedingten Durchschnittspreis des Balkens erkannt. Der Trend ändert sich, wenn der bedingte Durchschnittspreis um einem gegebenen Wert in Punkten minSize oder minPercent in Prozent abweicht.

Parameter:

  1. minSize -Filterung durch die Menge an Punkten, ergibt die Anzahl der Punkte,
  2. minPercent - Prozentfilter, ergibt die Prozente, z.B. 0,5.

Wenn Sie Prozent verwenden, setzen Sie den gewünschten Wert hingegen minSize = 0.


Der dritte ZigZag

ExtIndicator = 2 ermöglicht das Arbeiten mit ZigZag Ensign. Ensign ist ein bedingter Name. Diese Version wurde entwickelt, nachdem ich den Betrieb der dem Indikator zugrundeliegenden Pesavento Muster, eingebaut in Ensign bebachtet habe. Auf der Webseite von Ensign Softwar, war eine Kurzbeschreibung der Aufbauprinzipien dieses Indikators.

Der in Ensign realisierte Algorithmus des Indikators kann sich leicht von dem in ZUP realisierten unterscheiden.

Algorithmus

Das Minimum und Maximum des ersten Balken wird verglichen mit denen der folgenden Balken. Wird ein Balken gefunden, bei dem der Minimum- und der Maximum-Wert größer/kleiner sind, als die des ersten Balken, wird die Trendrichtung bestimmt. Wenn Minimum und Maximum größer sind, als die des ersten Balken - ist es ein bullisher Trend. Wenn sie kleiner sind - ist es ein bearisher Trend. Dann wird der Algorithmus für den bullishen Markt (Aufwärtstrend) beschrieben. Für den bearishen Trend (Abwärtstrend) - umgekehrt. Der Trend wird als ein Aufwärtstrend festgelegt. Speichern Sie den Maximalwert des Balken in der hlast Variable. Wenn der Maximalwert des nächsten Balken über dem des vorangegangenen liegt, wird der nächste Balken den Aufwärtstrend fortsetzen. Speichern Sie den neuen Wert des Ballkenmaximums in hlast. Wenn die Maximalwerte gleich sind, wird der Trend sic nicht ändern, und der Trend wird bullish bleiben. Wenn auf dem nächsten Balken das Maximim unter dem des vorausgegangenen Maximum (hlsat) ist, sind die folgenden Alternativen möglich:

  1. Die minBars der Balken werden übersprungen. Für jeden dieser minBars der Balken, muss das Maximum unter dem des letzten Balkens (hlast) liegen, von dem das Zählen der minBars startete. Wenn zumindest auf einem Balken der Kurs das Maximum des letzen Balkens (hlast) überschreitet, wird der Trend als bullish angesehen, bis zu und einschließlich dieses Balken. Die minBars des Balken werden von dem nächsten Balken an berechnet. Dann werden die Balken analysiert, beginnend von den Balken, nummeriert als minBar + 1. Wenn hlast-Low[minBars + 1] > minSize, wird der Trend bearish. D.h. wenn das Minimum des Balken wie minBar + 1 oder jedes folgenden Balken von dem hlast abweicht, um einen Wert Wert der minSize überschreitet, ändert sich der Trend und wird bearish. In diesem Fall, der als minBar + 1 nummerierte Balken wird gezählt, beginnend von dem letzten Maximum (hlast) in Richtung der Null Bar.
  2. Wenn eine der minBars unter dem letzten Minimum geschlossen wird, wird der Trend auch bearish werden, ohne auf die als minBars + 1 nummerierten Balken zu warten. Der Trend ändert sich, und der neue ZigZag-Strahl wird nach dem Schließen des Balkens gezeichnet, auf dem der Trend gedreht hat.

Parameter

minBars, minSize – die Namen sind die geleichen wie im Ensign.

Alex's ZigZag und Ensign ZigZag haben keine Nachteile des Standard ZigZag: der Prozessor ist nicht überlastet, nur der letzte Balkenwird berechnet, keine aufeinanderfolgenden Maxima treten auf, die letzten Minima und Maxima sind vorhersehbar. Außerdem kann das letzte Maximum nur steigen und das letzte Minimum nur sinken. Das sien Trendindikatoren. Auf der anderen Seite, ist es notwendig die Parameter für Alex's ZigZag und Ensign ZigZag auf verschiedenen Zeitrahmen zu suchen. Die Suche in Parametern ist notwendig, um die richtige Wellenstruktur auf unterschiedlichen Zeitrahmen zu finden. Für den ZigZag ExtIndikator = 0, die gleichen Parameter können auf verschiedenen Zeitrahmen verwendet werden.


Der vierte ZigZag

ExtIndicator = 3 - ermöglicht das Arbeiten mit dem ZigZag Ensign mit leicht verändertem Algorithmus. Hier sollte nur der minBar Wert angegeben werden. Der vom Indikator-Fenster vorgegebene minSize Wert wird ignoriert. Der minSize Wert ist variabel und gleich der Größe (von Minimum bis Maximum) des Balken, auf dem der letzte Strahl des ZigZag Indikators endet. Bei dem Neuzeichnen des letzten Strahl des ZigZag Indikators, wird der neue Wert der minSize berechnet.


Der Fünfte ZigZag

ExtIndicator = 4 aktiviert den Tauber's ZigZag. Tauber ist ein Teilnehmer im ONIX forum. Ich werde ihn hier mit freundlicher Genehmigung des Autos beschreiben:

"Ich verwendete MetaTrader als Grundlage (ZigZag ist eingebettet in das MetaTrader 4 Client Terminal - Anmerkung). Der Algorithmus ist rekursiv, kurz und folgerichtig umfassend:

  1. Das globale Maximum wird unter allen Balken gesucht.
  2. Die verbleibenden Balken werden in zwei Teile von rechts und von links des Maximalbalken geteilt
  3. Das globale Minimum wird in beiden Hälften gesucht.
  4. Jede Hälfte wir wieder in zwei Teile geteilt, und so weiter.

Der Vorgang wird auf die gleiche Weise überwacht, wie in dem ZigZag, aber nur durch einen Parameter. - den Prozentsatz oder den Unterschied in Pips [Übersetzt durch MetaQuotes Software Corp., 2007]

Einige weitere Zitate:

"Der Algorithmus ist rekursiv - die Funktion, die das Maximum findet, ruft selbst die Funktion auf, die das Minimum findet, und umgekehrt. Auf diese Weise unterteilen Sie das Chart in immer kleinere Stücke. Der Vorgang stoppt, wenn der Unterschied in Kursen zwischen dem aufeinanderfolgenden Maximum/Minimum und das nächste Minimum/Maximum kleiner werden als die minSize. Der Hauptunterschied ist, dass das Ergebnis nur von einem Parameter abhängt, der minSize, was die klassische Definition des ZigZag ist und zuverlässiges Feststellen aller wichtigen Spitzen bietet."


Der Sechste ZigZag

ExtIndicator = 5 aktiviert einen ZigZagm, der Gann Swings simuliert. Er ist ein Trend-Indikator.

Algorithmus

Eine ausführliche Beschreibung, wie man Gann Swings aufbaut, wird unter [4] gegeben. Einige bekannte Indikatoren zum Aufbau von Gann Swings, wurden durch den von dem Autor dieses Buches beschriebenen Algorithmus erstellt. Die Beschreibung ist sehr detailliert, und man kann sogar sagen langweilig. Aber dennoch gibt es viele Fragen, die auftauchen, wenn Sie versuchen der Beschreibung zu folgen und den Indikator aufzubauen. Es gibt einige Kombinationen an Kerzen, die nicht einfach zu analysieren sind. Swings sind außerdem schwierig aufzubauen. Sie können die aktuelle Situation auf unterschiedliche Weise interpretieren. Dies ist, vielleicht, der Grund, weshalb die bekannten Umsetzungen von Gann Swings in Indikatoren einige Abweichungen von dem im Buch beschriebenen Algorithmus haben.

In unserem Fall gibt es zwei Abweichungen. Beide beziehen sich auf die Verarbeitung des externen Balken. Der externe Balken, ist ein Balken, der ein höheres Hoch und ein tieferes Tief als der vorhergehende hat. Das oben erwähnte Buch sagt, dass ein Maximum und ein Minimum auf einem externen Balken gebildet werden müssen. Aber es ist unmöglich in dem ZUP mit einem ZigZag zu arbeiten, der beide, das Minimum und das Maximum, innerhalb des selben Balkens hat. Darüber hinaus sagt die Beschreibung, dass das Maximum und das Minimum in einer bestimmten Reihenfolge abwechseln müssen. Der Extremwert des externen Balken, der am nächsten zur Eröffnung der Kerze ist, muss vorweg gehen. Dies kann in Echtzeit umgesetzt werden. Wenn es aber um die Historie geht, beginnt eine "lockere Interpretation". Also, in Echtzeit aufgebaute Swings können sich von den im gleichen Zeitrahmen aufgebauten unterscheiden, aber er wurde zur Historie. Das heißt, wenn es ein Maximum in Echtzeit gab, können wir ein Minimum erhalten, wenn wir Swings in der gleichen Periode auf historischen Daten aufbauen. Um jede Mehrdeutigkeit zu vermeiden, es wird sich der Trend fortsetzen, der geherrscht hatte, bevor der externe Balken kam. Da der Trend sich jedoch auf dem externen Balken ändern muss, entsprechend der Beschreibung, lassen Sie und den Zwischen, Haupttrend und Trends höherer Ordnungen des externen Balken als Balken betrachten, von dem das Zählen der Balken beginnt, um einen möglichen weiteren Trend zu erkennen. Dies ist der Hauptunterschied. Im Vergleich zu anderen Gann Swings aufbauenden Indikatoren, beeinflusst diese Differenz leicht die Swing-Erkennung. "Kleine" Swings, die auf einem externen Balken sein sollten, spielen keine Rolle im Gesamtbild. In einigen Fällen fand der Indikator Swings, die von anderen Indikatoren auf wesentlichen Zeiträumen historischer Daten übersprungen wurden.

Die zweite Abweichung ist geringfügig. In einigen Fällen, hilft diese Abweichung Swing in Seitwärts-Perioden zu finden. Es ist ziemlich schwer, diese Abweichung in einer verständlichen Sprache im Rahmen dieses Artikels zu beschreiben, weshalb ich es hier weglasse. Ic folgte, in einer Art und Weise, anderen Programmierern, die Swings in ihren Indikatoren umgesetzt hatten. Ich verarbeitete den externen Balkenauf eine Weise, dass er ähnlich zu Umsetzungen in anderen Indikatoren wurde. Allerdings habe ich seine Umsetzung in anderen Indikatoren nicht untersucht. Ich habe nicht einmal den Code anderer Indikatoren angesehen. Es ist schwer den Code anderer zu lesen. Ich schaute lediglich auf das Bild, das von dem anderen Indikator gemacht wurde.

Parameter

minBars legt den Trend fest:

  1. minBars = 0 - kleiner Trend - Ein-Balken Trend;
  2. minBars = 1 - mittlerer Trend - Zwei-Balken Trend;
  3. minBars = 2 - Haupttrend - Drei-Balken Trend;
  4. minBars > 2 - ein Trend von höherem Niveau.


DT Modus

Der DT Modus wurde als erstes durch klot in seinem Indikator mit dem Namen DT-ZigZag.mq4 verwendet. In diesem Modus zeigt das Chart auf dem aktuellen Zeitrahmen einen ZigZag, der auf einem höheren Zeitrahmen aufgebaut ist. Der aufbauende Algorithmus in ZUP unterscheidet sich von dem von klot entwickelten. Nur seine Idee wurde verwendet.

Im DT Modus werden externe ZigZag verwendet. Die externen ZigZags haben unterschiedlich aufbauende Algorithmen. Sie sollten den ZigZag verwenden, der mit der neuesten verfügbaren ZUP Versionen angeboten wird:

  1. ExtIndicator = 6 - der DT Modus mit dem externen Indikator ZigZag_new_nen3.mq4. Sein Algorithmus entspricht dem ZigZag aus dem Modus von ExtIndicator = 0,
  2. ExtIndicator = 7 - Der DT Modus mit dem externen Indikator DT_ZZ.mq4. DT_ZZ.mq4 wurde von klot; entwickelt,
  3. ExtIndicator = 8 - Der DT Modus mit dem externen Indikator CZigZag.mq4. CZigZag. mq4 wurde von Candid entwickelt;
  4. ExtIndicator = 10 - der DT Modus mit Gann Swings mit dem externen Indikator Swing_ZZ. mq4. Sein Algorithmus entspricht dem ZigZag aus dem Modus von ExtIndicator = 5.

Wenn der ZUP installiert wird, müssen vier externe ZigZags in den Ordner mit benutzerdefinierten Indikatoren des Client Terminals gespeichert werden.

Parameter

GrossPeriod - die Anzahl an Minuten des Zeitrahmens, die der ZigZag Zeichnung im DT Modus zugrunde liegt. GrossPeriod kann die folgenden Werte enthalten: 5-15-30-60-240-1440-10080-43200 mit den entsprechenden Zeitrahmen M5-M15-M30-H1-H4-D1-W1-MN. Für alle DT Modi setzt GrossPeriod den größeren Zeitrahmen, welcher die Daten zum Aufbau des ZigZag auf dem aktuellen Zeirahmen zur Verfügung stellt. Zusammen mit GrossPeriod werden die Parameter minBars, ExtDeviation und ExtBackstep verwendet, um den ZigZag einzurichten:

  1. for ExtIndicator = 7, der ZigZag wird nur mit dem minBars Wert eingerichtet,
  2. for ExtIndicator = 8, der ZigZag wird mit den Werten von minBars und ExtDeviation eingerichtet,
  3. for ExtIndicator = 10, der ZigZag wird nur mit dem minBars Wert eingerichtet.

Zeichnung im Chart

Das Chart unten zeigt die beispielhafte Zeichnung eines ZigZag auf dem 4-Stundfen Zeitrahmen, unter Verwendung der Daten aus dem täglichen Zeitrahmen. Die roten Punkte befinden sich auf Minima und Maxima von 4-Stunden Kerzen, die die tägliche Kerze erstellen werden. Die sechs roten Punkte entsprechen den sechs 4-Stunden Kerzen.

Es entstehen Situationen, in denen es nicht möglich ist, für Maximum und Minimum des größeren Zeitrahmens, Kerzen mit dem entsprechenden Maximum oder Minimum auf einem kleineren Zeitrahmen zu finden. Dann werden die ZigZag Breakpoints gebildet, nach dem Wert des Kurses, der von einem größeren Zeitrahmen entnommen wird. Da es keine Kerzen mit demselben Kurs auf einem kleineren Zeitrahmen gibt, wird die Reihenfolge der Punkte "in der Luft hängen", so wie die ZigZag Breakpoints. Hier können wie den ZigZagHighLow verwenden um den Punkt zu wählen, an dem wir die Tools verankern - Pesavento Muster, Andrews' Pitchfork, und so weiter:

  1. ZigZagHighLow = true - Tools werden an den Minima und Maxima von Balken eines kleineren Zeitrahmen verankert,
  2. ZigZagHighLow = false - Tool werden nach den ZigZag Breakpoints verankert, d.h. an Minima und Maxima von Balken auf einem größeren Zeitrahmen.

Betrachten wir die beispielhafte Zeichnung von mehreren ZigZags aus verschiedenen Zeitrahmen. Es sind zwei ZUP_v60 mit ExtIndicator = 6 in dem Chart. Wir können Farbe der Punkte und Durchmesser in der FARBEN Registerkarte wählen, Zahl ist 5. Der erste Indikator hat GrossPeriod = 10080. Farbe der Punkte ist rot und der Durchmesser ist 5. ZigZag Linienfarbe ist Maroon, ausgewählt in der FARBEN Registerkarte in dem Indikator-Parameter-Fenster, Zahl ist 0. Die Anzahl der roten Punkte ist 16. Es sind 16 4-Stunden Kerzen in einer Wochen-Kerze. Der zweite Indikator hat GrossPeriod = 1440. Farbe der Punkte ist Dunkelgrün, Durchmesser der Punkte ist 1. Die ZigZag Linienfarbe ist Aqua. Die Anzahl der dunkelgrünen Kerzen ist 6. Es sind 6 1-Stunde Kerzen in einer Tages-Kerze.

Um Ergebnisse aus verschiedenen Indikatoren zu überlagern, wie in unserem Beispiel oben (dunkelgrüne Punkte überlagern die roten), ist es notwendig die Reihenfolge beim Anhängen von ZUP Indikatoren an das Chart einzuhalten. Zuerst hängen Sie den Indikator mit den roten Punkten an. Dann - den mit den dunkelgrünen. Ein wichtige Eigenschaft dieser Methode: Wenn wir den Zeitrahmen mit dem gegebenen Satz an Indikatoren ändern (4-Stunden für wöchentlich), wird der Indikator mit den dunkelgrünen Punkten nicht im Chart gezeigt. Der Indikator mit den dunkelgrünen Punkten verwendet Daten aus dem Tages-Zeitrahmen. Der Tages-Zeitrahmen ist kleiner, im Vergleich zum wöchentlichen. Wenn Sie zu einem größeren Zeitrahmen als dem täglichen umschalten, sollten die Daten des Tages-Zeitrahmen nicht angezeigt werden. Die Indikatoren des Beispiels oben auf einem Tages-Chart werden unten angezeigt. Die Anzahl der Punkte hat sich geändert. Es sind nun 5 rote Punkte dort, weil die Anzahl an Tages-Kerzen in eine Wochen-Kerze fünf ist. Und es ist nun 1 dunkelgrüner Punkt dort.

Rote und grüne Punkte helfen den Zeitrahmen zu finden, dessen Daten für den Aufbau des entsprechenden ZigZag verwendet wurden. Zum besseren Verständnis, alle Zeichnungen innerhalb jedes Zeitrahmens, können unter einem Farbschema gemacht werden. Insbesondere, im DT Modus, die Punkte für verschiedene Zeitrahmen können aus unterschiedlichen, vordefinierten Farben sein.

Ein weiterer wichtiger Zusatz. Wenn Sie im DT Modus auf dem Zeitrahmen GrossPeriod arbeiten, muss die Historientiefe größer als auf dem arbeitenden Zeitrahmen sein. Wenn dies nicht gegeben ist, wird ZigZag falsch zeichnen, wenn es auf einen kleineren Zeitrahmen in die tiefere Historie geht, als der von der GrossPeriod. Außerdem, wenn Sie im DT Mode arbeiten, wird überspringen von Kursen verschiedener Zeitrahmen Fehler falsche ZigZag Zeichnungen verursachen. Wenn der ZigZag im DT Modus falsch aufgebaut wurde, zum Beispiel, zwei Minima und zwei Maxima wurden einer nach dem anderen gebildet, dann ist es notwendig den aktuellen Zeitrahmen und den der GrossPeriod zu prüfen, ob es irgendwelche übersprungenen Balken gibt. Gibt es übersprungene Balken, ist es notwendig die Historie des entsprechenden Zeitrahmen aus dem Ordner C:\Program Files\MetaTrader\history\xxx\ zu entfernen und die Historie neu zuladen.


ZigZag auf RSI Indikator

ExtIndicator = 9 ist ein Betriebsmodus in einem Fenster unter dem Chart, das den RSI enthält. Es wurde eine spezielle Version des ZUP entwickelt, ZUP_RSI:v48, in der dieser Modus beteiligt ist den ZigZag auf Daten des RSI zu bilden. ExtIndicator = 9 wird ausschließlich in ZUP_RSI_v48 verwendet. Diese Version verwendet keine Funktionen, die erst in Version 49 oder späteren Versionen verfügbar wurden. Nachdem Version 48 an das Chart angehangen wurde, ist es notwendig den Zeitrahmen zu ändern, damit das System beginnt grafische Tools zu zeichnen. Der ZigZag wird auf RSI gezeichnet, unter Verwendung eines Trend-Algorithmus. Unten befindet sich ein Beispiel einer Zeichnung des ZUP_RSI_v48 in dem ExtIndicator = 9 Modus, auf dem Chart des vorherigen Beispiels. Um es in der Vergangenheit auszudrücken, ich würde sagen, dass ZUP_RSI_v48 geholfen hat Pesavento Muster und statische Andrews' Pitchfork in das Chart zu zeichnen.

Verwendete Parameter in in dem Modus ExtIndicator = 9 (einige Konzepte, die unten in der Beschreibung dieser Version auftauchen, werden im zweiten Artikel erklärt:

  1. minBars - RSI Period - Mittelungszeitraum zur Berechnung des Index,
  2. Price - Auswahl des Kurses, auf dem der RSI für den RSI Modus gezeichnet wird:
    1. PRICE_CLOSE - Schlusskurs,
    2. PRICE_OPEN - Eröffnungskurs
    3. PRICE_HIGH - der Höchstkurs,
    4. PRICE_LOW - der Tiefstkurs,
    5. PRICE_MEDIAN - der mittlere Kurs, (Hoch+Tief)/2,
    6. PRICE_TYPICAL - der typische Kurs, (Hoch+Tief+Schlusskurs)/3,
    7. PRICE_WEIGHTED - der gewichtete Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4.
  3. minPercent - bestimmt die Menge an "RSI Indikator Punkten, nach denen der neue ZigZag Strahl erscheint.

Beschränkungen dieses Modus:

  1. Nur der erste Indikator kann angezeigt werden. Der zweite und alle folgenden Kopien würden nicht richtig funktionieren.
  2. Ich habe nicht genau 100% und 0% Niveaus angegeben. Deshalb stimmen die Spitzen und Täler nicht mit denen des RSI überein. Der ZigZag wird innerhalb der vollen Fensterhöhe angezeigt werden. Wenn das Chart neu skaliert wird, wird der ZigZag auch neu skaliert.
  3. Ich habe die Anzeige von Andrews Pitchfork für verschiedene Kerzen in dieser Version nicht korrigiert. Das ist nicht das eigentliche in diesem Modus.

Alle anderen ZUP Tools funktionieren in diesem Modus, einschließlich dem Zählen der Balken auf dem ZigZag Strahl, der sehr interessant für die Recherche ist. Alle durch ExtIndicator eingestellten Modi funktionieren ebenso. ZigZag wird mit allen seinen Tools in einem Fenster unterhalb des Charts angezeigt, nicht im Chart-Fenster. Es sind, vielleicht einige Mängel in dieser Version. Es ist ziemlich schwierig einen Indikator für einen solchen nicht-Standard Modus zu testen. Diese Version ist zum Experimentieren gedacht.


Suche nach Gartley Muster

ExtIndicator = 11 beinhaltet ExtIndicator = 0 im aktiven Scanning-Modus zur Suche nach Gartley Mustern. Der aktive Scanning-Modus zur Suche nach Gartley Mustern ist sehr Prozessor-intensiv. Wenn der Markt sich intensiv bewegt, kann das Terminal für einen bestimmten Zeitraum hängt. Wenn die Berechnungsschleife beendet ist, stoppt das Hängen. Aktives Scanning sucht in den minBars (Depth). Ein ZigZag wird für jeden Wert der minBars (Depth) gebildet. Dann werden die Gartley Muster auf der ZigZag Zeichnung gesucht. Dieser Vorgang wird für den gesamten Bereich der minBars (Depth) Werte wiederholt, von minDepth bis maxDepth, bis ein Gartley Muster gefunden wird. Der Indikator verwendet die folgenden Parameter:

  1. ExtGartleyOnOff - aktiviert Gartley Muster Anzeige für alle Modi, außer ExtIndicator = 11. Wenn also ein Muster für einen gewählten Modus gezeichnet wird, wird es gefunden. Es gibt keine Suche in den ZigZag Parametern. Nach Gartley Mustern wird nur in gezeichneten ZigZag gesucht. Dieser Parameter bezieht sich nicht auf den Modus ExtIndicatot = 11,

  2. maxDepth - setzt dem Maximalwert für die ZigZag Tiefe auf Bereich bei aktivem Scanning, um Gartley Muster zu suchen. Dieser Parameter sollte weniger häufig verwendet werden, um die Prozessorlast zu reduzieren. Allerdings wird auch ein zu kleiner Wert es nicht ermöglichen einige Muster zu finden. Also sollte der Parameter als Experiment aussortiert werden,

  3. minDepth - setzt de Minimalwert der Tiefe um nach Gartley Mustern zu suchen,

  4. DirectionOfSearchMaxMin - bestimmt die Richtung für die Suche in der Tiefe:

    • false - von minDepth zu maxDepth,
    • true - von maxDepth zu minDepth.

    Es ist besser true zu verwenden: Die "größeren" Gartley Muster werden als erstes gefunden.in einigen Fällen werden mehrere Muster im "Arbeitsbereich" gefunden. Das heißt, D Punkte von Mustern stimmen überein oder sind sehr nah. Bei aktivem Scanning stoppt die Suche, sobald ein Muster gefunden wurde. Dies erlaubt es also zu wählen, welches Muster als erstes gefunden wird: das kleinste oder das größte.

  5. maxBarToD - bestimmt die größte Menge an Balken von Null Bar bis zum D Punkt des Musters. Wenn in diesem Bereich kein Muster gefunden wird, wird keine Suche nach Mustern durchgeführt, nach dieser Menge an Balken. Es ist wichtig für das Trading, dass der D Punkt dicht an der Null Bar liegt. Wenn er weit von der Null Bar entfernt ist, kann das gefundene Muster seine Bedeutung für das Trading verlieren.,

  6. ExtDeltaGartley - bestimmt die Toleranz der Kursabweichung von den empfohlenen Muster Retracement Werten. Als Standard ist es 0.09 bis 9%;

  7. ExtCD - der Wert des Muster CD Strahls, bezogen auf den BC Strahl, nachdem die Musteranalyse startet,

  8. ExtColorPatterns - Farbe der Dreiecke des Musters.

Um zu sehen, welches Muster gefunden wurde, ist es notwendig die infoTF zu aktivieren. In der zweiten Zeile der Kommentare, wird der Name und die Art des Musters (Bullish oder Bearish) angezeigt. Der Active Scanning Algorithmus wird bei der Suche nach diesen Mustern verwendet. Wird ein Muster gefunden, wird ein ZigZag mit den folgenden Parametern gezeichnet:

  1. Depth - der Wert, bei dem das Muster auf dem gezeichneten ZigZag gefunden wurde,
  2. ExtDeviation and ExtBackstep - im Indikator-Fenster eingestellte Parameter.

Das gefundene Muster agiert, als wenn es den ZigZag mit dem gefundenen Wert kalibriert. Wenn kein Muster gefunden wird, wird ein ZigZag mit den folgenden Parametern gebildet: minBars, ExtDeviation und ExtBackstep wie im ZUP eingestellt.

In den Namen der Dreiecke, die die Muster färben, können wir in den Wert des ExtIndicator sehen, ZigZag Parameter für den entsprechenden ExtIndicator und die Anzahl der Balken zum D Punkt. Der Name des Dreiecks ist dessen Eigenschaften verfügbar. Wenn wir die Eigenschaften öffnen, sehen wir den grafischen Objektnamen, zum Beispiel *Triangl2_ExtIndicator=0_11/5/3_14 wobei:

  1. * - ZUP setzt die Nummer,
  2. Triangl2 - das rechte Dreieck des Musters,
  3. ExtIndicator=0 - ZigZag, auf welchem das Muster gezeichnet wurde,
  4. 11/5/3 - minBars=11, ExtDeviation=5, ExtBackstep = 3,
  5. 14 - die Anzahl der Balken zum DE Punkt des Musters.

Es kann vorkommen, dass der Markt sich intensiv bewegt, wenn ein Muster gefunden wurde. Dann geht das Muster "verloren". Es bedeutet, dass der ZigZag, auf dem das Muster gefunden wurde, neu gezeichnet wurde. Um ein "verschwundenes" Muster neu zu bilden, können Sie zu einem kleineren Zeitrahmen umschalten. Es mehr Kerzen auf einem kleineren Zeitrahmen, also ist der ZigZag in der Lage das verlorene Muster zu "fangen".


Ein Bearishes Gartley Muster Modell


Ein Bullishes Gartley Muster Modell

Wenn wir alle Retracements klar aufbauen, so wie beschrieben von Scott Carney auf (Harmonic Price Patterns), wird der D Punkt des Musters im Bereich liegen. Der Bereich wird durch die Tatsache verursacht, dass der D Punkt unter Verwendung verschiedener Retracements gefunden werden kann: das BD und das XD (das XD Retracement ist gleich der Beziehung zwischen de AD und dem XA. Retracement XD=AD/XA). Diese Retracements laufen nicht oft zusammen. Durch diese Unsicherheit können wir zu dem Schluss kommen, dass der Algorithmus des "Schmetterling" Zeichnen ein "Bulk (Gebinde)" sein sollte. Der Algorithmus muss alle zulässigen Retracements im Gebinde berücksichtigen, deshalb nennen wir ihn einen "Bulk" ALgorithmus.

Wenn der Schmetterling mit Verwendung eines "Bulk" Algorithmus gebildet wurde, beginnt eine feinere Anpassung mit Verwendung von Pesavento Mustern und dynamischen/statischen Fibo-Tools, um die Handelsbedingungen zu klären. ZUP findet eine raumzeitliche Formation und benennt sie nach einem der Gartley Muster. Dann sollte wir mit dieser Formation arbeiten, um die Handelsbedingungen zu klären. Um Einstiegspunkte in den Markt zu bestimmen, sollten einige Filter verwendet werden. Kombinationen von Kerzen, Trendlinien oder andere Indikatoren können als Filter genutzt werden. Unten ist ein Beospiel , gezeichnet im Modus ExtIndicator = 11:

Damit beende ich die Vorstellung der in ZUP_v60 eingebetteten ZigZags.


Fazit

Der Artikel gibt eine kurze Beschreibung der dem ZUP zugrunde liegenden Ideen - ZigZag Universal mit Pesavento Mustern. Er beschreibt außerdem die in ZUP eingebetteten ZigZags. Nach der Meinung des Autors sind die wichtigsten ZigZag Zeichnungs-Algorithmen im ZUP umgesetzt. Dies ermöglicht es dem Trader seinen bevorzugten Algorithmus zu wählen, um mit ihm zu arbeiten. Alle im Artikel genannten eingebetteten grafischen Tools werden automatisch an das ausgewählte ZigZag angehangen. Es ist möglich, dass auf anderen Algorithmen basierende ZigZags später eingefügt werden.

In den an den Artikel angehangenen .zip Dateien, befindet sich der Satz der ZUP_v60 und ZUP_RSI_v60 Indikatoren. In der Indikator-Version in der Datei, wurden einige Fehler beseitigt. Die ursprünglich im ONIX Forum hochgeladene Version ZUP_v60 hat einige Fehler. Der Indikator ist ziemlich anspruchsvoll. Ich möchte nicht ausschließen, dass in manchen Marktsituationen einige fehlerhafte Konstruktionen gemacht werden könnten. Die Zeichnungsfehler können verursacht werden durch:

  1. Fehler im Indikator-Code,
  2. Ungenauigkeit, verursacht durch die Besonderheiten der Vernkerung grafischer Tools an den Balken im MetaTrader, 4. Insbesondere Fibo Channels können, in einigen Fällen, nicht richtig aufgebaut werden,
  3. wenn ein grafisches Tool unter Verwendung von ZUP auf einem Zeitrahmen gebildet und auf dem Chart gespeichert wird, ändert es häufig seine eigenen Eigenschaften, wenn man in MetaTrader auf einen anderen Zeitrahmen umschaltet. 4. so kann das grafische Tool als falsch gezeichnet erscheinen. In meinem zweiten Artikel schlage ich einige Änderungen dieses Merkmals dem Entwicklerteam von MetaTrader 4 vor. 4. Allerdings, wenn das Grafische Tool nicht auf dem Chart gespeichert ist, aber zusammen it ZUP verwendet wird, erscheinen keine fehlerhaften Konstruktionen, wenn man in einen anderen Zeitrahmen umschaltet. Dies kann erreicht werden durch Neuberechnung der Ankerpunkte für grafische Tools.

Fehler der 1. Sorte können behoben werden, wenn sie auftreten. Ich hoffe alle Fehler der Sorte 2. und 3. mit Hilfe der Client Terminal Entwickler beheben zu können. In ZUP eingebettete Indikatoren und grafische Tools werden im nächsten Artikel beschrieben.


Referenzliste

  1. Stakhov, A., Sluchenkova, A., Scherbakov I. Kod da Vinci i ryadi Fibonacci (Da Vinci Code and Fibonacci Series). St. Petersburg, Publishing House 'Piter', 2007.
  2. Sokolov, Yu.N. Obschaya teoriya tsikla ili edinaya teoriya fizicheskikh vzaimodeystviy. Published by the North Caucasian State Technical University: Stavropol, 2003 (English version at http://www.ncstu.info/content/_docs/pdf/cycles/goldbook/06e.pdf).
  3. Sokolov, Yu.N. Obschaya teoriya tsikla.
  4. Hyerczyk, James A. Pattern, Price & Time: Using Gann Theory in Trading Systems. - John Wiley & Sons, Inc. 1998. 300 p.
  5. Carney, Scott M. The Harmonic Trader. 1999. 305 p.
  6. Pesavento, Larry. Fibonacci Ratios with Pattern Recognition. Edited by Steven Shapiro. - Traders Press Inc. 1997
  7. Pesavento, Larry. Profitable Patterns for Stock Trading. - Traders Press Inc. 1999.