MQL5 Tutorial - Automatisch traden mit Metatrader5

MQL5 TUTORIAL GRUNDLAGEN – 27 SO PROGRAMMIEREN SIE DEN SELL TRAILING STOP


Listen Later

In diesem Video wollen wir uns einmal anschauen, wie man mit MQL5 einen Trailing Stop für Sell Trades programmieren kann. Wir haben hier oben einen Stop Loss, der automatisch angepasst wird, sobald der Preis hier sinkt. Und wir wollen uns einmal anschauen, wie man das in MQL5 programmieren kann. Dazu klicken Sie bitte im Metatrader auf dieses kleine Symbol hier 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 einmal den Namen SimplerSellTrainlingStop. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles hier oberhalb der OnTick Funktion gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Wir starten wieder mit include und importieren die Datei Trade.mqh. Die enthält die Klasse CTrade. Und davon erstellen wir uns jetzt eine Instanz, mit der wir später eine Position eröffnen möchten. Da das eine Sell Position sein, müssen wir zunächst den Bid Preis berechnen. Das machen wir mit der Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Und wir nutzen SYMBOL_BID, alles in Großbuchstaben. Ich nutze in der Regel auch noch NormalizeDouble und _Digits, denn das berechnet mit automatisch die aktuelle Anzahl von Nachkommastellen für das jeweilige Währungspaar. Jetzt prüfen wir, ob uns die Funktion PositionsTotal einen Wert von null zurückliefert. Denn wenn das der Fall ist, dann haben wir keine offenen Positionen. Und in dem Fall werden wir jetzt eine Beispiel Position eröffnen. Denn wir brauchen etwas, um auszuprobieren, ob unser Trailing Stop funktioniert. Da nutze ich trade.Sell und eröffne hier eine Position von zehn Microlot. Anschließend möchte ich gerne den Trailing Stop setzen. Dazu nutze ich die Funktion CheckTrailingStop und übergeben ihr den ermittelten Bid Preis. Die Funktion gibt es aber noch gar nicht. Also müssen wir die jetzt erstellen. Ich nutze hier void, denn diese Funktion soll nur den Trailing Stop setzen. Ich brauche keinen Rückgabewert. Allerdings übergeben wir als Parameter den Bid Preis. In der Funktion selbst setzen wir das Ziel für unseren Trailing Stop 150 Punkte oberhalb des Bid Preises an. Und da wir auch mehr als eine Position geöffnet haben könnten, müssen wir jetzt mit einem for Loop alle Positionen durchgehen. Die Funktion PositionsTotal liefert uns die Gesamtmenge der offenen Positionen. Von da aus zählen wir runter. Und für die jeweilige Position nutzen wir jetzt PositionGetSymbol, um die Positionswährung zu ermitteln. Denn wir wollen natürlich nur dann weitermachen, wenn das Währungspaar auf dem Chart mit dem Positionssymbol übereinstimmt. Und außerdem möchte ich noch prüfen, ob der Positionstyp einem Sell Trade entspricht. Das machen wir mit der Funktion PositionGetInteger, übergeben als Parameter POSITION_TYPE, auch wieder in Großbuchstaben und überprüfen, ob der Rückgabewert den Wert ORDER_TYPE_SELL hat. Denn das ist der Wert den wir zurückbekommen, wenn es sich um eine Markt Sell Order, also eine Marktverkaufsorder handelt. Wenn alle diese Vorbedingungen zutreffen, dann ermitteln wie das Positionsticket. Wiederum mit der Funktion PositionGetInteger. Diesmal für POSITION_TICKET, auch wieder alles in Großbuchstaben. Das Positionsticket ist eine eindeutige Möglichkeit zur Identifizierung, ähnlich wie bei einem Nummernschild. Außerdem hätte ich gerne noch den aktuellen Stop Loss für die Position. Den bekomme ich mit PositionGetDouble. Und hier nutzen wir als Parameter POSITION_SL. Mit dieser Information kann ich jetzt prüfen, ob der aktuelle Stop Loss für die Position größer ist, als der gewünschte Stop Loss. Und wenn dem so ist, dann passen wir das Ganze an. Das machen wir mit der Funktion trade.PostitionModify für das aktuelle Ticket. Und hier passen wir den aktuellen Stop Loss an, indem wir ihn um zehn Punkte nach unten schieben. Das war es soweit. Wir müssen jetzt hier noch die ganzen offenen Schleifen schließen.
...more
View all episodesView all episodes
Download on the App Store

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