MQL5 Tutorial - Automatisch traden mit Metatrader5

MQL5 TUTORIAL GRUNDLAGEN – 30 SO SCHLIESSEN SIE ALLE BUY POSITIONEN


Listen Later

In diesem Video wollen wir uns einmal anschauen, wie man eine Anzahl von Position auf einmal schließen kann. Wir eröffnen hier solange Testpositionen, bis wir die Stückzahl zehn erreicht haben. Dann werden alle zehn Position gleichzeitig geschlossen. Und wir wollen uns einmal anschauen, wie man so etwas in MQL5 programmieren kann. Dazu klicken wir im Metatrader auf dieses kleine Symbol hier oben oder drücken 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 SimplerBuyPositionCloser, da wir uns zunächst auf das Schließen von Kaufpositionen beschränken werden. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Zunächst importieren wir die Datei Trade.mqh. Die wird benötigt um Positionen zu eröffnen und stellt vereinfachte Handelsoperationen bereit. Wir erstellen uns zunächst eine Instanz der Klasse CTrade. Die bekommt den Namen trade und wir werden sie später verwenden, um solche Testpositionen zu eröffnen. Da wir kaufen wollen, müssen wir zunächst den Ask Preis ermitteln. Das machen wir mit der Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir wählen SYMBOL_ASK, alles in Großbuchstaben, und weisen das Ergebnis der Variable Ask zu. Mit _Digits und NormalizeDouble lässt sich automatisch ermitteln, wie viele Nachkommastellen das jeweilige Währungspaar hat. Und wenn wir keine offenen Positionen haben beziehungsweise solange, wie unsere Positionsanzahl unter zehn ist, nutzen wir trade.Buy, um eine neue Position von zehn Mikrolots zu kaufen. Und zwar zu dem Ask Preis, den wir hier oben ermittelt haben. Sobald unsere Positionsgesamtanzahl, die durch PositionsTotal ermittelt wird, gleich zehn ist, möchten wir alle Kaufpositionen auf einmal schließen. Das ist natürlich nur in diesem Beispiel hier so gewählt. In der Regel würde man andere Kriterien aussuchen und nicht einfach willkürlich mal zehn Positionen eröffnen. Aber für das Verständnis von der grundlegenden Funktion sollte das so ausreichen. Schließen wir also hier unsere OnTick Funktion. Denn diese Funktion hier muss erst noch programmiert werden. Für dieses Beispiel wird das eine Funktion sein, die uns keinen Rückgabewert zurückliefert und CloseAllBuyPositions heißt. Wir nutzen hier eine Vorschleife, um von der Gesamtanzahl, die wir mit PositionsTotal ermitteln, komplett herunterzuzählen, bis keine Positionen mehr übrig sind. In dieser Schleife ermitteln wir zunächst die Ticket-Nummer der aktuellen Position. Das übernimmt die Funktion PositionGetTicket. Außerdem möchten wir gerne die Positionsrichtung wissen. Die ermitteln wir mit PositionGetInteger und übergeben als Parameter POSITION_TYPE, auch alles in Großbuchstaben. Wir möchten ja nur schließen, wenn es sich um eine Kaufposition handelt. Darum prüfen wir an der Stelle noch, ob die PositionDirection, also die Positionsrichtung den Wert POSITION_TYPE_BUY hat. Und wenn das der Fall ist, ist es eine Kaufposition. Und in diesem Fall nutzen wir trade.PositionClose für unser aktuelles Ticket, um die jeweilige Position zu schließen. Zum Schluss benötigen wir noch zwei schließende Klammern. Eine für die Vorschleife und eine für die Funktion selber. Und das war es im Großen und Ganzen. Wenn Ihnen das zu schnell ging oder Sie nicht genau verstehen, was diese Code Zeilen hier bewirken, dann möchten Sie sich vielleicht zunächst die anderen Videos aus dieser Grundlagenserie anschauen. Oder vielleicht ist auch der Premiumkurs interessant für Sie. Wir klicken jetzt jedenfalls hier auf Kompilieren oder drücken die F7 Taste. Das hat hier ohne Fehler funktioniert. Und in diesem Fall können wir hier klicken oder die F4 Taste drücken, um in dem Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R.
...more
View all episodesView all episodes
Download on the App Store

MQL5 Tutorial - Automatisch traden mit Metatrader5By MQL5 Tutorial - Automatisch traden mit Metatrader5