In diesem Video wollen wir uns einmal anschauen, wie man einen Breakeven Stop für einen Sell Trade setzen kann. Das ist hier diese kleine rote Linie. Die wird gesetzt, sobald sich der Preis in unsere Richtung bewegt. Und wir wollen wir uns einmal anschauen, wie man so etwas mit MQL5 programmieren kann. 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 einmal den Namen SimplerSellBraeakEvenStop, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Wir starten mit einem include Befehl. Damit importieren wir die Inhalte der Datei Trade.mqh. Die ist Bestandteil von MQL5 und stellt uns einfache Handelsfunktionen bereit, die wir gleich nutzen werden um eine Testposition zu eröffnen. Wir erstellen uns hier zunächst einmal von der Klasse CTrade eine Instanz mit dem Namen trade. Innerhalb der OnTick Funktion berechnen wir zunächst den Bid Preis. Den brauchen wir, da wir ja eine Sell Position eröffnen möchten. Der Bid Preis wird ermittelt mit SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir nutzen hier als Parameter SYMBOL_BID, alles in Großbuchstaben. Und mit NormalizeDouble und _Digits sorge ich dafür, dass die richtige Anzahl von Nachkommastellen hinter dem Komma berechnet wird. Denn das kann je nach Währungspaar unterschiedlich sein. Danach prüfen wir den Rückgabewert von PositionsTotal. Und wenn der null ist, dann haben wir keine offenen Positionen. Wir brauchen aber eine, damit wir einen Breakeven Stop setzen können. Natürlich würde man das nicht auf einem Echtgeldkonto tun. Aber für unseren Strategietest nutzen wir jetzt trade.Sell um eine Testposition über zehn Mikrolot zu eröffnen. Und danach rufen wir eine Funktion mit dem Namen CheckSellBreakEvenStop auf und übergeben der den Bid Preis. Diese Funktion existiert allerdings noch gar nicht. Darum müssen wir die jetzt programmieren. Unsere selbstprogrammierte Funktion CheckSellBreakEvenStop hat keinen Rückgabewert. Darum nutzen wir hier void. In den runden Klammern übernehmen wir hier den Bid Preis, den wir hier oben übergeben haben. Und jetzt nutzen wir eine for Schleife, um von PositionsTotal, also der Gesamtanzahl der Positionen solange alle Position durchzugehen, bis keine mehr übrig sind. Zunächst ermitteln wir die Ticket Nummer. Die bekommen wir mit PositionGetInteger. Als Parameter übergeben wir hier in Großbuchstaben POSITION_TICKET. Außerdem interessiert uns der Einstiegspreis. Ich habe den hier einmal PositionBuyPrice genannt. Den bekommen wir mit PositionGetDouble und übergeben als Parameter POSITION_PRICE_OPEN, ebenfalls alles in Großbuchstaben. Den aktuellen PositionStopLoss bekommen wir mit PositionGetDouble. Hier übergeben wir POSITION_SL. Nahezu identisch tun wir das für den Take Profit Wert. Auch hier wird PositionGetDouble genutzt. Anders ist nur der Parameter. Denn der heißt in diesem Fall POSITION_TP. Um die Richtung zu ermitteln brauchen wir noch den Typ der Position. Den kriegen wir mit PositionGetInteger, POSITION_TYPE. Und da wir ja auch nur für das aktuelle Währungspaar eine Änderung vornehmen möchten, nutzen wir PositionsGetSymbol für die aktuelle Positionsnummer, um das Währungspaar für die aktuelle Position zu ermitteln. Jetzt können wir unsere Bedingungen definieren. Zunächst möchten wir gerne wissen, ob das Währungspaar auf dem Chart und das Positionssymbol übereinstimmen. Außerdem möchte ich gerne wissen, ob der Positionstyp den Wert POSITION_TYPE_SELL hat. Denn nur wenn das so ist, handelt es sich um eine Sell Position. Dann möchten wir noch wissen, ob der PositionStopLoss derzeit noch oberhalb des Positionseinstiegspreises ist. Und ich möchte meinen Breakeven Stop erst setzen, wenn der Bid Preis mindestens dreißig Punkte unterhalb des...