MQL4 TUTORIAL GRUNDLAGEN – 31 SO SCHLIESSEN SIE ALLE SELL POSITIONEN

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man mehrere Sell Positionen auf einmal schließen kann. Dieser Expert Advisor hier eröffnet solange Position, bis wir zehn Positionen auf dem Chart gleichzeitig haben und ruft dann eine eigenständig programmierte Funktion auf, die alle Position gleichzeitig schließt. Und wir wollen uns mal anschauen, wie man so etwas in MQL4 programmieren kann. Um das zu tun, klicken Sie bitte hier oben auf dieses kleine Ikon oder drücken Sie die F4 Taste. Das ruft dann hier den Metaeditor auf. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimplerSellPositionCloser, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser OnTick Funktion hier gelöscht werden. Wir entfernen auch die zwei Kommentarzeilen. In der OnTick Funktion prüfen wir zunächst, ob wir weniger als zehn Positionen haben. In diesem Fall liefert uns die Funktion OrdersTotal einen Rückgabewert der kleiner ist als zehn. Wenn man OrdersTotal einmal markiert und die F1 Taste drückt, dann lernt man, dass die Rückgabe eigentlich auch die Pending Orders beinhaltet. Wir nutzen hier aber keine Pending Orders, sondern möchten mit dem OrderSend Befehl für das aktuelle Währungspaar solange Sell Trades aufmachen, bis diese Zahl zehn hier erreicht ist. Auf einem Echtgeld Konto würde man das natürlich nicht tun. Aber wir müssen in diesem Beispiel Position eröffnen, damit wir etwas haben, das wir hinterher automatisch schließen können. Und sobald uns OrdersTotal dann tatsächlich zehn zurückliefert, möchten wir alle Sell Positionen schließen. Darum rufen wir an der Stelle die neue Funktion CloseSellPositions auf. Die gibt es noch gar nicht. Also werden wir die jetzt noch programmieren. Wir nutzen den Rückgabetyp void. Da wir keine Rückgabewerte benötigen, gehen hier alle Orders durch, indem wir eine Vorschleife benutzen und von der Gesamtanzahl der verfügbaren Position aus solange runterzählen, bis keine offenen Positionen mehr gefunden werden. Danach nutzen wir OderSelect, um für den aktuellen Wert des Schleifenzählers mit SELECT_BY_POS und MODE_TRADES, die aktuelle Order auszuwählen. Außerdem möchten wir gerne wissen, ob das Währungspaar der Order zu dem Währungspaar auf dem Chart passt. Darum ermitteln wir hier erst einmal das Order Währungspaar. Das geht mit der Funktion OrderSymbol. Und wenn das aktuelle Währungspaar auf dem Chart und das Order Währungspaar identisch sind, dann wollen wir auch noch wissen, ob der OrderType für die aktuelle Position den Wert OP_SELL hat. Denn dann handelt es sich um eine Verkaufsposition. Und dann nutzen wir OrderClose für das aktuelle OrderTicket und die aktuelle Positionsgröße, um unsere Position zum Ask Preis zu schließen. Unser Toleranzwert ist drei. Wir benötigen hier keine Farbe. Zum Schluss machen wir noch die Vorschleife und die Funktion zu. Das war es soweit. Wenn Ihnen das jetzt hier alles zu schnell ging oder Sie nicht genau wissen, was der Code hier so macht, dann möchten Sie sich vielleicht noch die anderen Videos in dieser Grundlagenserie anschauen. Oder vielleicht ist auch der Premium Kurs interessant für Sie. Wir sind klicken jetzt hier jedenfalls erst einmal auf Kompilieren oder drücken die F7 Taste. Das hat in diesem Fall bei mir ohne Fehler funktioniert. Und darum können wir jetzt hier klicken oder F4 Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Strg+R. Wählen Sie hier bitte die neue Datei SimplerSellPositionCloser.ex4 aus. Markieren Sie hier die Option für den visuellen Modus und starten Sie Ihren Test. Und hier läuft unser Expert Advisor auch schon los. Er eröffnet fleißig Position und schließt sie alle gleichzeitig. Und Sie haben in diesem kurzen Video gelernt, wie man das mit MQL4 programmieren kann. Und Sie haben das selbst getan, mit diesen paar Zeilen hier in MQL4.