MQL4 TUTORIAL GRUNDLAGEN – 111 SIMPLER STANDARD DEVIATION EA

video
play-sharp-fill

 

In diesem Video wollen wir uns einmal anschauen, wie man einen Expert Advisor für diesen Indikator hier programmieren kann. Es handelt sich um den Standard Deviation Indikator. Also lassen Sie uns einmal schauen, wie man das mit MQL4 macht. Um das zu tun klicken Sie 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 StandardDeviationEA, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb der OnTick-Funktion hier gelöscht werden und wir entfernen auch die zwei Kommentarzeilen. Im ersten Schritt erstellen wir uns hier eine string-Variable für das Signal.

 

Wir weisen aber noch keinen Wert zu, denn möchten wir gleich noch ermitteln. Außerdem erstellen wir uns hier noch ein Array für unsere Werte. Das ist vom Typ double, damit es Fließkommazahlen aufnehmen kann. Im nächsten Schritt gehen wir mit einer Vorschleife alle Elemente durch. Wir starten mit 199 und machen so lange weiter, wie unser Zähler größer oder gleich Null ist. Innerhalb dieser Vorschleife nutzen wir die in MQL4 eingebaute Funktion iStdDev. Die kann uns den gewünschten Wert ermitteln. Dazu müssen wir noch einige Parameter übergeben. Das ist das aktuelle Währungspaar und die auf dem Chart ausgewählte Zeiteinheit. Wir möchten das Ganze gerne für 20 Kerzen berechnen, ohne einen shift, also Verschiebungswert zu nutzen.

 

Ermittelt soll das werden für den SMA, also den Simple Moving Average, anhand der Schlusskurse, und zwar für den jeweils aktuellen Wert für unseres Schleifenzählers. Und nach dem wir das berechnet haben, weisen wir den berechneten Wert der jeweiligen Variable in unserem Array zu. Das wars soweit mit der Schleife. Um den aktuellen Wert zu berechnen nutzen wir die gleiche Funktion. Allerdings da für Kerze 0, denn 0 ist immer die aktuelle Kerze. Weiter geht es mit der Berechnung der höchsten Kerze für unseren Indikator. Die können wir mit Hilfe dieses Befehls hier ermitteln. ArrayMaximum ist eine Funktion, die das größte Element in einem Array herausfinden kann. Im ersten Parameter geben wir das Array an das wir durchsuchen möchten.

 

Parameter Nummer zwei ist die Angabe dafür, dass wir das ganze Array durchsuchen möchten, und der letzte Parameter ist der Startwert. Das ist für uns der Index im Array, mit dem wir starten wollen. Wir machen das hier vom Startpunkt. Das ist der Index 0. Auch um die niedrigste Kerze zu berechnen gibt es eine entsprechende Funktion, die heißt ArrayMinium. Funktioniert aber genauso und erhält auch die gleichen Parameter. Und die wird uns die Nummer für die niedrigste Kerze ermitteln. Für unser Einstiegssignal möchten wir gerne prüfen, ob die niedrigste Kerze die Kerze 0, also die aktuelle Kerze ist. Das bezieht sich in diesem Fall jetzt nicht auf die Kerzenhöhe, sondern auf den niedrigsten Wert für unseren Indikator. Und wenn das bei Kerze 0 der Fall ist, dann setzen wir unser Signal auf buy, denn dann möchten wir kaufen.

 

Im anderen Fall, wenn der höchste Indikatorwert bei Kerze 0 auftaucht, dann wäre das für uns ein Verkaufen-Signal, dann weisen wir den Begriff sell unserer Signalvariable zu. Damit auch wirklich eine Position eröffnet wird müssen wir noch eine Prüfung durchführen. Wenn unser Signal auf buy, also auf Kaufen steht, prüfen wir zusätzlich ob die Rückgabe für OrdersTotal dem Wert 0 entspricht. Das würde bedeuten wir haben keine geöffnete Position, aber ein Kaufsignal und dann nutzen wir OrderSend um zehn Microlot zu kaufen. Natürlich gibt es auch noch den anderen Fall. Wenn unsere Signalvariable auf Verkaufen steht und wir ebenfalls keine geöffneten Positionen haben, dann nutzen wir OrderSend um zehn Micorlot zu verkaufen. Zum Schluss nutzen wir noch den Comment-Befehl, um eine Chartausgabe zu erstellen. Die wird uns den aktuellen Wert, die Nummer für die höchste und für die niedrigste Kerze anzeigen und darunter das daraus errechnete Signal. Das wars auch schon soweit. Wenn Ihnen das hier zu schnell ging oder wenn Sie keine Ahnung haben was alle diese Codezeilen hier bewirken sollen, dann möchten Sie sich vielleicht zunächst eines der anderen Videos aus der Grundlagenserie noch einmal anschauen.

 

Vielleicht ist aber auch der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite und da gibt es auch einen Link für ein Angebot, wo sie diese Quelltexte hier direkt herunterladen können, falls Sie keine Lust haben die selbst abzutippen, aber für den Moment klicken wir hier oben mal auf Kompilieren oder drücken die F7-Taste. Das sollte ohne Fehler funktionieren und wenn das bei Ihnen auch so ist, dann können Sie jetzt hier oben auf dieses kleine Symbol klicken oder die F4-Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader öffnen wir ein neues leeres Chart. Danach klicken wir auf Einfügen, Indikatoren, Tendenz, Standard Deviation. Bitte übernehmen Sie hier die Standardwerte. Das sind 20 Kerzen, Berechnung anhand der Schlusspreise. Wir machen das für einen Simple Moving Average und der Wert für Versatz, also für Shift, ist Null.

Bitte übernehmen Sie das mit OK, dann wir der Indikator hier unten angezeigt und jetzt klicken wir mit der rechten Maustaste in unser Hauptfenster und wählen Vorlagen, Vorlage speichern. Bitte speichern Sie das Ganze unter den Namen tester.tpl, denn das ist die Schablone, die im Strategietester angezeigt wird. Den aktuellen Wert können Sie hier ersetzen und nach dem das erledigt ist, klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Steuerung und R. Bitte wählen Sie hier die neu erstellte Datei für den StandardDeviationEA aus, markieren Sie hier unten die Option für den visuellen Modus und starten Sie Ihren Test.

 

Hier läuft unser Expert Advisor auch schon los und sobald hier Kerze 0 als höchste Kerze auftaucht, wird hier eine entsprechende Position eröffnet. Wenn man das hier einmal beschleunigt, dann sieht man, dass wir Signale in beide Richtungen erhalten. Unser Expert Advisor funktioniert also wie gewünscht und Sie haben in diesem kurzen Video gelernt, wie Sie für den Standard Deviation Indikator einen Expert Advisor programmieren können und Sie haben das selbst getan, mit diesen paar Zeilen hier in MQL4.