MQL5 TUTORIAL GRUNDLAGEN – 59 SIMPLE BENUTZERDEFINIERTE KAUFSPANNE

video

In diesem Video wollen wir uns einmal anschauen, wie man einen individuellen Bereich anlegen kann. In dem ein Expert Advisor kaufen darf. In diesem Fall geht es um den EUR, USD. Unser oberes Limit ist bei 1.16. Das untere Limit liegt bei 1.14. Und wir wollen uns jetzt einmal anschauen wie man so etwas in MQL5 programmieren kann. Um das zu tun klicken Sie im Metatrader auf dieses kleine Symbol oder drücken 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 SimpleKaufspanne. Klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion gelöscht werden. Und auch die beiden Kommentarzeilen werden entfernt. Wir starten mit einem include-Befehl. Damit importieren wir uns die Inhalte der Datei Trade.mqh. Danach erstellen wir uns eine Instanz von der Klasse CTrade. Die bekommt den Namen trade und wir werden die später nutzen, um eine Position zu eröffnen. Zunächst definieren wir hier einmal eine Benutzervariable. Die kann vom Benutzer im Strategietester angepasst werden, ohne dass man da etwas fest programmieren müsste. Diese Variable ist für das obere Limit. Bekommt den Namen UpperLimit. Der Zusatz input sorgt dafür, dass der Benutzer während der Laufzeit des Programmes, also im Betrieb mit dem Strategietester, den Wert für diese Variable anpassen kann. Der Initialwert hier ist 10. Und es handelt sich um eine Variable vom Typ double, damit hier auch Fließkommazahlen verarbeiten kann. Das Ganze wiederholen wir jetzt nochmal für unser unteres Limit. Und außerdem legen wir hier eine globale Variable für den Ask-Preis fest. Der Grund dafür ist einfach. Wir werden den Ask-Preis sowohl in der OnTick-Funktion als auch in einer benutzerdefinierten Funktion benötigen. Im ersten Schritt berechnen wir den Ask-Preis in der OnTick-Funktion. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir nutzen SYMBOL_ASK und mit NormalizeDouble und _Digits stellen wir sicher, dass auch die richtige Anzahl von Nachkommastellen für das jeweilige Währungspaar berechnet werden. Danach prüfen wir ob uns die Funktion PositionsTotal den Wert 0 zurückliefert. Das wäre der Fall, wenn wir keine geöffnete Position haben. Anschließend möchten wir gerne abfragen, ob der Preis sich in dem erlaubten Bereich bewegt. Dazu nutzen wir eine benutzerdefinierte Funktion. Die wird uns den Wert true oder false zurückgeben. Und wenn unsere Abfrage positiv ist, dann nutzen wir hier trade.Buy, um einen Position in der Größe von 10 Microlot zu kaufen. Am Ende der OnTick-Funktion hätte ich gerne noch eine Chartausgabe. Das übernimmt hier der Comment-Befehl. Der wird uns das obere und das untere Limit anzeigen, so wie den Ask-Preis und ob sich der Preis im gewünschten Preisbereich befindet. Damit das Ganze funktioniert müssen wir diese Funktion hier noch erstellen. Die Funktion wird bool, also einen binären Wert zurückliefern. True steht in diesem Fall für wahr. False steht für falsch. Man könnte aber auch die Zahlen 1 oder 0 verwenden. Zunächst einmal definieren wir eine boolesche Variable, die diesen Rückgabewert aufnimmt. In diesem Fall heißt sie ReturnValue. Und sie bekommt von uns zunächst einen negativen Rückgabewert zugewiesen. Danach prüfen wir, ob sich der Ask-Preis im erlaubten Preisbereich befindet. Das wäre der Fall, wenn der Ask-Preis kleiner ist als unser oberes Limit, aber größer als das untere Limit. Und wenn das zutrifft, dann setzen wir den Wert für unsere Rückgabevariable auf wahr. Zum Schluss nutzen wir den return-Befehl, um unsere Rückgabevariable an das Hauptmodul zurückzugeben. Das war´s im Großen und Ganzen. Falls Sie nicht verstehen, was diese Codezeilen hier bewirken sollen oder Falls Ihnen das Alles zu schnell war, dann möchten Sie sich vielleicht zunächst eines der anderen Videos aus unserer Grundlagenserie anschauen. Oder vielleicht ist auch der Premiumkurs auf unserer Webseite interessant für Sie. Das hier war übrigens eine Anfrage von einem Mitglied des Premiumkurses. Und Falls Sie bereits Premiummitglied sind und eine ähnliche Frage haben, dann schreiben Sie mir einfach ein Mail an die bekannte Adresse. Für den Moment klicken wir hier auf kompilieren. Das hat bei mir ohne Fehler funktioniert und wenn das bei Ihne auch so ist, dann können Sie jetzt hier oben auf dieses kleine Symbol klicken oder die F4-Taste drücken. Nachdem wir in den Metatrader zurückgekehrt sind, klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Steuerung und R. Hier wählen wir jetzt die neu erstellte Datei SimpleKaufspanne.ex5 aus. Bitte 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. Der aktuelle Ask-Preis befindet sich bei 1.14. Das ist in unserem erlaubten Preisbereich, deswegen steht die Variable hier auf true. Die erste Position wurde auch schon eröffnet. Wir beschleunigen das Ganze mal. Jetzt sehen wir hier mehrere Positionen, die gehandelt werden. Und so bald sich der Preis außerhalb unserer Preisspanne bewegt, wird keine neue Position mehr eröffnet. Die Variable steht hier auf falsch. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie für eine benutzerdefinierte Preisspanne einen Expert Advisor erstellen können, der es dem Benutzer ermöglicht, unterhalb der Eingaben, eigene Werte für die Limits einzugeben. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5.