MQL5 TUTORIAL GRUNDLAGEN – 88 SIMPLER ALLIGATOR INDIKATOR

video
play-sharp-fill

In diesem Video wollen wir uns mal anschauen, wie man diesen Indikator hier programmieren kann, damit zumindest die Werte ausgegeben werden. Es handelt sich um den Alligator Indikator von Bill Williams. Also lassen Sie uns einmal schauen, wie man so etwas in MQL5 realisiert. Um das zu tun klicken Sie im Metatrader bitte hier oben auf dieses kleine Symbol oder drücken Sie die F4-Taste. Das ruft dann hier den Metaeditor auf und hier klicken wir auf Datei, neue Datei, Expert Advisor aus Vorlage, weiter. Ich vergeben hier mal den Namen SimplerAlligator, klicke auf weiter, weiter und fertigstellen. Jetzt kann hier alles oberhalb der OnTick-Funktion gelöscht werden und auch die zwei Kommentarzeilen werden entfernt. Da der Alligator Indikator drei unterschiedliche Werte hat, brauchen wir hier drei Arrays. Das Erste ist für den Jaw-Wert. Jaw steht für Kiefer. Das zweite Array für die Teeth, also für die Zähne. Und das dritte Array ist für die Lippen. Wenn man mal mit der rechten Maustaste auf die Eigenschaften des Alligator Indikators klickt, dann sehen wir hier, diese drei Werte. Im nächsten Schritt geht es darum die Definition für den Alligator Indikator durchzuführen. Das übernimmt die in MQL5 eingebaute Funktion iAlligator und die kommt mit einer ganzen Menge Parametern. Der erste Parameter ist für das aktuelle Währungspaar auf dem Chart, der zweite Parameter steht für die auf dem Chart gerade ausgewählte Zeiteinheit, der dritte Parameter ist die Anzahl der Kerzen für die Berechnung des Kiefers, also der Jaw Periode. In diesem Fall nutzen wir 13 Kerzen. Parameter Nummer vier steht für die Verschiebung. Wir nutzen hier keine Verschiebung. Im Original wird die Jaw Periode um 8 Kerzen verschoben berechnet. Das macht aber die Kontrolle für den aktuellen Wert schwierig. Darum machen wir das hier ohne Verschiebungswerte. Der nächste Parameter ist für die Zähne, also die Teeth Periode. Dieser Wert wird anhand von 8 Kerzen ermittelt. Auch hier setzen wir den Verschiebungswert wieder auf 0. Die dritte Linie ist die Lips Periode. Hier nutzen wir 5 Kerzen für die Berechnung. Auch das machen wir hier wieder ohne Verschiebung. Der nächste Parameter steht für die Wahl des gleitenden Durchschnittes. Ich hab jetzt hier MODE_SMA gewählt und wenn man da einmal F1 drückt, dann findet man heraus, dass es unterschiedliche Möglichkeiten gibt. Die Originalversion von Bill Williams nutzt hier eine geglättete Version. Man könnte auch einen exponentiellen Moving Average wählen. Und der letzte Parameter steht für den angewendeten Preis. Wir möchten das gerne anhand er Schlusspreise ermitteln. Machen wir noch die Klammer zu und setzen ein Semikolon. Dann ist die Definition soweit beendet. Im nächsten Schritt sortieren wir unsere drei Arrays, die wir hier oben erstellt haben, mit Hilfe der Funktion ArraySetSeries von der aktuellen Kerze an, abwärts. Und jetzt nutzen wir CopyBuffer, um anhand er Alligatordefinition, die wir hier oben getroffen haben, unser JawArray mit Werten zu füllen. Für den Jaw-Wert nutzen wir den ersten Buffer. Das ist Buffer 0. Der wird uns den Jaw-Wert ermitteln. Buffer 1 steht für Teeth, also für die Zähne und Buffer 2 liefert den Lips-Wert für die Lippen. Wir machen das in diesem Wert für den Jaw-Wert, also nutzen wir Buffer 0 und kopieren uns von der aktuellen Kerze 0 für 3 Kerzen die Werte, die wir dann in unserem JawArray speichern. Für das TeethArray, also für die Zähne, sieht das ganz ähnlich aus. Mit dem Unterschied, dass wir hier Buffer 1 benutzen. Und für die Lips, also für die Lippen, machen wir das Ganze nochmal mit Buffer 2. Danach können wir die jeweiligen Werte ermitteln, in dem wir einfach auf den Wert von Kerze 0 auf unserem JawArray zugreifen. Das gibt uns hier den AlligatorJaw-Wert. Ich nutze NormalizeDouble und fünf Nachkommastellen, um die Ausgabe entsprechend zu formatieren. Ähnlich sieht das aus, um den Wert für Teeth, also für die Zähne, zu ermitteln. Gleiches Verfahren, aber diesmal schauen wir in unser TeethArray und um den Wert für die AlligatorLips zu bekommen, schauen wir in das LipsArray. Damit haben wir alle Werte ermittelt. Die möchten wir jetzt mit einer Comment-Funktion direkt auf dem Chart ausgeben lassen. Wir werden keine automatischen Positionen mit diesem Indikator eröffnen, sondern lassen uns nur die Werte anzeigen. Wenn ich ehrlich bin, bin ich auch kein großer Fan von diesem Indikator, aber das war eine Frage von einem Premiumkursmitglied. Und wenn Sie selbst schon Premiumkursmitglied sind und eine Idee für so ein Video haben, dann schreiben Sie mir doch einfach ein E-Mail. So weit so gut. Falls Sie keine Ahnung haben, was diese Codezeilen hier bewirken sollen oder wenn Ihnen das alles zu schnell ging, dann möchten Sie sich vielleicht zunächst einmal die anderen Videos aus dieser Grundlagenserie anschauen, vielleicht ist sogar der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite. Für den Moment klicken wir hier auf Kompilieren oder drücken die F7-Taste. Das hat bei mir ohne Fehler funktioniert und wenn das bei Ihnen auch so ist, dann können Sie jetzt hier auf dieses Symbol klicken oder die F4-Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader nutzen wir jetzt ein leeres Chart, klicken auf Einfügen, Indikatoren, Bill Williams, Alligator. Bitte wählen Sie für die Jaws Periode 13 Kerzen, für die Teeth Periode 8 Kerzen, für die Lips Periode 5 Kerzen und für die Verschiebungswerte jeweils 0. Die Methode für den gleitenden Durchschnitt ist Simple und wir möchten die Ergebnisse gerne anhand der Schlusskurse errechnen. Wenn Sie soweit alles eingestellt haben, klicken Sie bitte auf OK. Danach klicken wir mit der rechten Maustaste auf eine leere Stelle auf dem Chart, wählen Vorlagen, Vorlage speichern und speichern das Ganze unter dem Namen tester.tpl. Den alten Wert können Sie hier überschreiben. Tester.tpl ist die Darstellung, die wir gleich sehen werden, wenn wir den Strategietester benutzen. Klicken Sie jetzt bitte auf Ansicht, Strategietester oder drücken Sie die Tastenkombination Steuerung + R. Bitte wählen Sie hier die neu erstellte Datei SimplerAlligator.ex5 aus, markieren Sie die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft unser Expert Advisor auch schon los. Die Werte werden berechnet und hier auf dem Chart angezeigt. Wir halten das kurz an. Und wenn man den Mauszeiger jetzt hier über die aktuellen Werte hält, dann sehen wir für den Jaws-Wert 1.14550. Das stimmt mit unserem Wert hier oben überein. Der Teeth-Wert ist 1.14567. Auch das haben wir richtig ermittelt. Und für den Lips-Wert sehen wir 1.14574 und das stimmt hier ebenfalls. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie die Werte für den Alligator Indikator von Bill Williams ermitteln können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL5.