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 dara...