In diesem Video wollen wir uns einmal anschauen, wie man für diesen Indikator hier einen Sell Trailing Stop programmieren kann. Es handelt sich um den Envelopes-Indikator. Also lassen Sie uns einmal schauen, wie man so etwas mit MQL4 programmiert. 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 vergebe hier mal den Namen SimplerEnvelopesSellTrailingStop, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb der OnTick-Funktion hier gelöscht werden und auch die zwei Kommentarzeilen können weg. Wir starten damit, dass wir eine statische Variable erstellen. Das geht über diesen Zusatz static hier. Die Variable ist vom Typ double, damit sie auch Fließkommazahlen verarbeiten kann. Und diese Variable wird uns ermöglich beim erneuten Aufrufen dieser OnTick-Funktion auf den letzten Wert zurückzugreifen. Denn wenn man static einmal markiert und die F1-Taste drückt, dann lernt man, dass diese statischen Variablen über den kompletten Programmverlauf hin existieren. Damit wir etwas haben, womit wir den Trailing Stop testen können, müssen wir eine Test Sell Position aufmachen. Das würde man natürlich auf einem Echtgeldkonto nicht tun, aber dafür gibt’s ja Demokonten. Dazu testen wir, ob OrdersTotal einen Rückgabewert von 0 hat. Und wenn das so ist, dann bedeutet das, dass wir keine offene Position haben. Und dann nutzen wir OrderSend, um für das aktuelle Währungspaar eine Testposition für 10 Microlot zu eröffnen. Anschließend setzen wir den Wert für den letzten Stop Loss Envelopes Wert hier auf 0, denn wenn wir eine neue Position eröffnen müssen wir den Trailing Stop auch wieder auf 0 setzen. Anschließend nutzen wir die Funktion iEnvelopes, die ist in MQL4 enthalten, und wir können sie nutzen, um für das aktuelle Währungspaar auf dem Chart und die auf dem Chart aktuell ausgewählte Zeiteinheit für 14 Kerzen ein Ergebnis zu berechnen. Wir nutzen hier MODE_SMA das steht für Simple Moving Average. Wir benötigen keinen Verschiebungswert. Das Ergebnis soll anhand der Schlusskurse berechnet werden. Dieser Wert, 0,10, ist das was Sie auch sehen, wenn Sie hier auf Einfügen, Indikatoren, Tendenz, Envelopes klicken. Hier sehen wir auch die 14 Kerzen und 0,10 für die Abweichung. Auf Englisch heißt das Deviation. Bitte bestätigen Sie das mit OK, dann sehen wir hier den Indikator auf dem Chart und jetzt klicken wir mit der rechten Maustaste, wählen Vorlagen, Vorlage speichern und speichern das Ganze unter dem Namen tester.tpl, denn das ist die Schablone, die wir gleich im Strategietester zu sehen bekommen. Den aktuellen Wert können Sie ersetzen. Der vorletzte Parameter 2 oder 1 steht für das jeweilige Band. Wenn man iEnvelopes einmal markiert und die F1-Taste drückt, dann gibt es hier unten einen Link für Indicator Line und da sehen wir hier ist iEnvelopes aufgeführt. 1 entspricht dem oberen und 2 entspricht dem unteren Band. Genau das ist es auch, was wir hier nutzen. Der letzte Parameter hier, 1, der steht für die Nummer der Kerze, die wir berechnen möchten. Danach rufen wir eine Funktion mit dem Namen CheckEnvelopesSellTrailingStop auf und übergeben ihr den Parameter für das obere Band. Diese Funktion hier gibt es allerdings noch nicht, die müssen wir gleich noch programmieren. Als letzte Aktion in der OnTick-Funktion setzen wir den aktuellen Wert für das obere Band noch als letzten Stop Loss Wert für unser Envelopes-Band ein. So weit war es das mit der OnTick-Funktion. Weiter geht es mit der Funktion, die wir noch programmieren müssen. Die hat den Typ void, da wir keinen Rückgabewert benötigen. Der Name der Funktion ist Check EnvelopesSellTrailingStop. Wir übergeben hier den Wert für das obere Envelopes-Band. Jetzt gehen wir mit einem Vorloop alle offenen Orders durch. Mit Hilfe von OrderSelect wählen wir für den jeweiligen Schleifenzähler die Positi...