In diesem Video wollen wir uns einmal anschauen, wie man einen Expert Advisor erstellen kann der in der Lage ist, für Verkaufspositionen eine benutzerdefinierte Verlustgrenze automatisch zu nutzen, um Positionen zu schließen. Also lassen Sie uns einmal schauen, wie man so etwas mit MQL4 programmieren kann. Um das zu tun, klicken Sie bitte im Metatrader 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 SimplesSellPercentageRisiko, klicke auf weiter, weiter und fertigstellen.
Jetzt kann hier alles oberhalb der OnTick-Funktion gelöscht werden und auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir uns hier eine benutzerdefinierte Variable erstellen. Die hat den Modifier-Input. Das bedeutet, wenn man die F1-Taste drückt, dann sehen wir, dass diese Variablen vom Benutzer über die Programmeigenschaften verändert werden können. Das Ganze soll ein prozentueller Wert sein. In unserem Fall 0,5 Prozent vom Bruttoguthaben. Wir brauchen auch noch eine zweite Variable. Die heißt MaxPostitionLoss und soll die Variable für den maximalen Wert sein, den wir als Verlust tolerieren möchten. In der OnTick-Funktion prüfen wir zunächst, ob wir keine offenen Orders haben. Das wäre der Fall, wenn der Rückgabewert für OrdersTotal kleiner ist als eins. Und falls das so ist, dann möchten wir mit OrderSend für das aktuelle Währungspaar hier eine Testposition eröffnen. Das soll eine Sell-Position sein, für 10 Microlot.
So eine Testorder würde man natürlich auf einem Echtgeldkonto jetzt nicht eröffnen, aber dafür gibt es ja Demokonten und wenn wir keine Position eröffnen, haben wir auch nichts was wir schließen können. Im nächsten Schritt nutzen wir hier eine Vorschleife, um alle offenen Orders durchzugehen. Mit Hilfe von OrderSelect wählen wir jetzt die Position für den aktuellen Schleifenzähler aus und nutzen die Funktion OrderProfit, um den Positionsprofit zu berechnen. Danach ermitteln wir den aktuellen maximal akzeptablen Positionsverlust. Dazu nehmen wir uns die Funktion AccountBalance die uns das Bruttoguthaben berechnet. Das teilen wir dann durch 100, dann haben wir den Wert für ein Prozent. Und der wird multipliziert mit dem Risikoprozentsatz, den wir hier oben definiert haben. Falls Sie sich über diesen Teil der Formel wundern. Nun, der maximale Positionsverlust ist ein negativer Wert. Und mit diesem Ausdruck hier erzeugen wir ein negatives Ergebnis dafür.
Fügen wir noch zwei Printausgaben hinzu. Die sollen uns den aktuellen Positionsprofit und den ermittelten Wert für den maximalen Positionsverlust ausgeben. Denn wenn der aktuelle Profit, also der negative Wert für den Profit, kleiner ist als der negative maximale Positionsverlust, den wir erlauben möchten, dann nutzen wir hier OrderClose für das aktuelle OrderTicket und die aktuelle OrderLot-Anzahl, um unsere Position zu schließen. Schließen wir hier noch OrderSelect und die Vorschleife und fügen am Schluss unseres Programms noch eine Ausgabe mit dem Comment-Befehl hinzu. Die wird uns die Balance, den Wert für den Maximalverlust und den prozentuellen Risikowert direkt auf dem Chart ausgeben. Das war´s auch schon wieder so weit. Falls Ihnen das hier zu schnell ging oder falls Sie keine Ahnung haben, was diese Codezeilen hier alle bewirken, dann möchten Sie sich vielleicht zunächst eines der anderen Videos aus unserer Grundlagenserie noch einmal anschauen. Vielleicht ist aber auch der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite.
Und da gibt’s jetzt auch Angebote, falls Sie solche Quellcodes hier herunterladen möchten. Für den Moment sind wir erstmal soweit fertig und klicken hier oben auf Kompilieren oder drücken die F7-Taste. Das hat bei mir ohne Fehler funktioniert und wenn das bei Ihnen auch der Fall ist, dann können Sie jetzt auf dieses kleine Symbol hier oben klicken oder die F4-Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Steuerung und R. Das ruft dann hier den Strategietester auf. Bitte wählen Sie hier die Datei SimplesSellPercentageRisiko aus, markieren Sie die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft das Ganze schon los. Aktuell erlauben wir einen Positionsverlust von 50 Dollar. Das könnte einige Zeit dauern, darum ändern wir hier mal die Option und begrenzen unsere Kontogröße auf 1000 US-Dollar und einen Wert von 0,6 Prozent, bestätigen das Ganze mit OK und starten einen neuen Test.
Jetzt sehen wir maximal dürfen wir sechs Dollar Verlust machen, bevor eine Position geschlossen wird. Und wenn wir auf die Journalkarte klicken, dann sehen wir, dass die Werte hier entsprechend angezeigt werden. Soweit also unsere Position hier einen gewissen Verlust übersteigt, sollte sie automatisch geschlossen werden. Das kann schonmal eine Zeitlang dauern, also beschleunigen wir das Ganze hier mal ein bisschen. Und jetzt grade wurde die Position im Verlust geschlossen. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie für Verkaufspositionen eine Grenze für den Verlust vom Benutzer so definieren können, dass die Positionen automatisch geschlossen werden, sobald der Verlust größer wird. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL4.
Podcast: Play in new window | Download