MetaTrader4
Visueller Start: So testen Sie die Neuzeichnung von Indikatoren
Autor: Alexander Pak, Almaty
In diesem Beitrag möchte ich Ihnen einen Code vorstellen, mit dem Sie das Verhalten von Neuzeichnungsindikatoren anhand von Beispielen wie FxmFish, ZigZag, NonLagZigZag, AFIRMA und TREND_alexcud testen können.
Die meisten Indikatoren werden bei jedem neuen Balken auf dem Chart neu gezeichnet. Das macht es oft schwierig, ihre Eigenschaften und Dynamiken visuell zu erfassen.
Der vorgestellte Code ermöglicht es Ihnen, den letzten Balken (rechts) dem Indikator zuzuweisen, indem Sie das grafische Objekt verschieben. Am praktischsten ist es, dies mit einer vertikalen Linie zu tun.
Allgemeine Anweisungen:
Fügen Sie den Code in den Quellcode des Indikators ein. Suchen Sie die Berechnungs-Schleife und ersetzen Sie "0" durch die Variable start.
Ersetzen Sie den Wert nicht, wenn eine Nullisierungsschleife im Indikator vorhanden ist.
Platzieren Sie eine vertikale Linie im Chart und benennen Sie sie „start“.
Bewegen Sie die Linie manuell und warten Sie auf die Neuberechnung des Indikators.
Bewegungen von der Vergangenheit in die Zukunft sind optimal, da nicht alle Indikatoren die rechten Balken „überstreichen“.
Wir platzieren also zuerst die vertikale Linie mit dem Namen „start“ und dann die Indikatoren.
Der Indikator wird in zwei Fällen neu berechnet:
automatisch, wenn ein neuer Tick kommt;
manuell, wenn kein (unerwarteter) Handels-Tick kommt, indem Sie eine der Eigenschaften des Indikators ändern. Öffnen Sie dazu jedes Mal das Eigenschaften-Fenster und ändern Sie eine Farbe, da es praktischer ist, Farben als Zahlen zu ändern.
Es ist nicht ganz komfortabel, nach den obigen Anweisungen zu arbeiten. Wenn wir mehrere Indikatoren in unserem Chart haben, müssen wir die Eigenschaften jedes Indikators ändern, wenn keine Ticks kommen.
Beim Entwickeln dieser Methode zeigte sich jedoch ein paradoxes Verhalten: Die Neuberechnung aller Indikatoren erfolgt nur, wenn ein Indikator ohne Linienberechnungen in einem separaten Fenster vorhanden ist, der die Funktion IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)) aufruft. <build 211 MT 4>
Es ist ein paradoxes Fakt, dass, wenn Sie die Eigenschaften eines solchen „leeren“ Indikators ändern, alle anderen Indikatoren in allen Fenstern zwangsweise neu berechnet werden.
Zufällig wurde TREND_alexcud zu dem initiierenden Indikator. Ein zusätzlicher initiierender Indikator Visual_start_All wurde geschrieben.
Anweisungen zum gleichzeitigen Testen einer Gruppe von Indikatoren:
Um alle Indikatoren neu zu berechnen, ändern Sie die Eigenschaften von TREND_alexcud oder Visual_start_All.
Die modifizierten Dateien für Visual_start sind im Bild unten dargestellt:
FxmFish
NonLagZigZag - gelb
Standard ZigZag - eine rote Linie
AFIRMA - zweifarbig, blau und rot
TREND_alexcud
2008.05.06