Startseite Technischer Indikator Beitrag

MultiZigZag – Eine verbesserte Variante des ZigZags für Trader

Anhang
8536.zip (4.52 KB, Herunterladen 0 mal)

Der MultiZigZag basiert auf dem Algorithmus des klassischen ZigZags, der 2005-2006 mit MetaTrader 4 eingeführt wurde.

Dieser Algorithmus hat sich als äußerst nützlich erwiesen und wird in vielen benutzerdefinierten Indikatoren eingesetzt. Ursprünglich wurde der Algorithmus von Rosh in MQL4 übersetzt. Ein großes Dankeschön an ihn dafür! Ich würde gerne wissen, wer diesen Algorithmus ursprünglich erfunden hat. Wenn jemand den Namen oder Nickname des Autors kennt, schreibt ihn bitte in die Kommentare. Es wäre auch interessant zu erfahren, in welcher Sprache der Algorithmus ursprünglich geschrieben wurde und auf welcher Handelsplattform er eingesetzt wurde.

Die Hauptnachteile der ursprünglichen Version (2005-2006):

  • Hohe CPU-Auslastung: Der ZigZag wurde bei jedem Tick vollständig neu berechnet, was schwache PCs während intensiver Marktbewegungen praktisch zum Stillstand brachte.
  • Ungenaue Darstellung: Die Linien des ZigZags schwebten oft „in der Luft“ und waren nicht korrekt mit den Hochs (Tiefs) der Kerzen verbunden. Der ZigZag sollte jedoch die exakte Position der Hochs und Tiefs auf dem Chart anzeigen.
  • Probleme beim Zurückscrollen: Der ZigZag begann zu „schweben“, wenn man die Historie zurückscrollte, und wurde ohne visuelle Bindung zum Chart gezeichnet.

Der MultiZigZag behebt all diese Mängel. Nur die letzten drei Strahlen des ZigZags werden neu berechnet, und das geschieht nur, wenn die Preise aus dem berechneten Teil der Nullkerze heraussteigen. Das bedeutet, dass die Minimal- oder Maximalwerte der Nullkerze nullifiziert werden, ein neuer Balken erscheint oder die Historie hochgeladen wird.

Jeder der drei ZigZags verwendet zwei Puffer – einen für die Hochs und einen für die Tiefs. So können Hochs und Tiefs auf einem einzigen Balken angezeigt werden. Es gibt zwei leere Puffer, die von denen genutzt werden können, die den Code erweitern möchten. Dies kann eine gute Übung für angehende MQL4-Programmierer sein oder die Puffer können für andere Aufgaben verwendet werden, falls der ZigZag in entwickelte Systeme integriert wird.

Die Berechnung und Darstellung der ZigZags aus höheren Zeitrahmen erfolgt ohne die Verwendung der icustom()-Funktion. Für Automatisierungszwecke können wir die Indikator-Puffer weglassen. In diesem Fall können die ZigZags für alle Zeitrahmen gleichzeitig und für eine beliebige Anzahl von Symbolen berechnet werden, vorausgesetzt, es ist genügend Arbeitsspeicher vorhanden. Die Umsetzung der Berechnung ohne die icustom()-Funktion ermöglicht beispielsweise die Suche nach Mustern (wie Gartley oder andere) nicht nur auf den aktuellen Zeitrahmen, sondern auch auf beliebige ausgewählte Zeitrahmen und sogar auf mehreren Zeitrahmen gleichzeitig.

Parameter des MultiZigZag

Die meisten externen Parameter sind String-Variablen. Die durch Kommas getrennten Parameter werden in jeder String-Variable für jeden ZigZag geschrieben. Der Parameter-Trenner ist ein Komma.

Die erste Ziffer steht für den ersten ZigZag, die zweite für den zweiten und die dritte für den dritten, getrennt durch Kommas. ExtDepth, ExtDeviation und ExtBackstep sind die Standardparameter für den ZigZag.

Wenn Sie ExtDepth=0 setzen, wird der entsprechende ZigZag nicht angezeigt.

ExtMaxBar - die Anzahl der Balken, auf denen der ZigZag berechnet wird.
GrossPeriod - die Zeiträume der Charts in Minuten, aus denen die Daten für die ZigZag-Berechnung entnommen werden. Wenn Sie 0 angeben, wird der ZigZag im aktuellen Zeitrahmen berechnet.

Folgende Werte können angegeben werden: 0-1-5-15-30-60-240-1440-10080-43200.
ExtReCalculate - die Anzahl der Extrempunkte des ZigZags, die ab 0 in Echtzeit neu berechnet werden. Dies wird für ZigZags aus höheren Zeitrahmen verwendet. Es wird empfohlen, diesen Parameter nicht zu ändern.

Standardmäßig werden die ZigZags von H1-H4-D1 angezeigt. Die ZigZags werden vom 1-Minuten-Zeitrahmen bis zum Tageszeitrahmen dargestellt. Es wird nur ein ZigZag angezeigt, der auf den Daten des D1-Zeitrahmens basiert, wenn man sich im Tageszeitrahmen befindet. Nur die ZigZags, die auf Basis höherer oder aktueller Zeitrahmen gezeichnet sind, werden angezeigt.

Im Beispielbild: Der ZigZag von H1 wird in Aqua, H4 in Rot und D1 in Gelb dargestellt.

Verwandte Beiträge

Kommentar (0)