MQL5 TUTORIAL GRUNDLAGEN – 58 DYNAMISCHE BUY POSITIONSGRÖSSE

video
play-sharp-fill

In diesem Video wollen wir einmal herausfinden, wie man die Positionsgröße dynamisch berechnen kann. In diesem Fall geht´s um Buy-Positionen. Und die Positionsgröße wird hier anhand der Equity berechnet. Also lassen Sie uns einmal schauen, wie man so etwas in MQL5 programmieren kann. Um das zu tun klicken Sie im Metatrader 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 SimpleDynamischeBuyPositionsgroesse, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden und wir entfernen auch die zwei Kommentarzeilen. Wir starten hier oben mit einer include-Funktion und importieren uns die Inhalte der Datei trade.mqh. Die werden benötigt, um vereinfachte Positionseröffnungen zu nutzen. Dazu erstellen wir uns zunächst einmal eine Instanz von der Klasse CTrade. Die bekommt den Namen trade und wir werden sie später zur Eröffnung unserer Kaufposition nutzen. In der OnTick-Funktion selbst starten wir damit, dass wir zunächst den ASK-Preis berechnen. Das übernimmt die Funktion SymbolInfoDouble, für das aktuelle Symbol, also das Währungspaar auf dem Chart. Wir nutzen hier SYMBOL_ASK da wir den ASK-Preis ermitteln möchten. Und mit NormalizeDouble und _Digits stellen wir sicher, dass wir die richtige Anzahl von Nachkommastellen berechnen. Das kann nämlich je nach Währungspaar etwas unterschiedlich ausfallen. Im nächsten Schritt ermitteln wir die Equity. Die Equity ist das Nettoguthaben, also das was unseren Kontostand nach Abzug aller Kosten ausmacht. Die Equity wird berechnet mit der Funktion AccountInfoDouble und als Parameter übergeben wir hier ACCOUNT_EQUITY. Bitte alles in Großbuchstaben. Außerdem möchte ich gerne die Balance, also das Bruttoguthaben berechnen. Die Ermittlung ist ähnlich. Auch hier nutzen wir AccountInfoDouble, aber diesmal übergeben wir als Parameter ACCOUNT_BALANCE. Kommen wir zur eigentlichen Berechnung der Positionsgröße. Auch das ist eine double-Variable, da wir Nachkommastellen benötigen. Die Variable hat den Namen PositionSize. Wir nutzen hier NormalizeDouble, denn wenn wir die Equity als Grundlage nehmen und die Positionsgröße gleich der Equity durch 100.000 sein soll, dann würden wir zu viele Nachkommastellen erhalten. Und mit NormalizeDouble kürzen wir die Anzahl der Nachkommastellen hier auf zwei. Wenn man das nicht tut, dann erhält man bei der Eröffnung von Positionen eine Fehlermeldung, dass die Positionsgröße ungültig ist. Und das lässt sich über diese Formatierung hier vermeiden. Wir möchten gerne Positionen eröffnen sofern unser Nettoguthaben größer oder gleich dem Bruttoguthaben ist. Packen wir noch einen Kommentar dazu. Und als zweites Einstiegskriterium möchte ich gerne wissen, ob der Rückgabewert der Funktion PositionsTotal den Wert 0 hat. Das bedeutet wir hätten keine geöffneten Positionen. Und sofern beide Bedingungen wahr sind, nutzen wir trade.Buy, um für die dynamische Positionsgröße die wir hier oben errechnet haben, eine Kauf-Position zu eröffnen. Zum Schluss erstellen wir uns hier noch eine Chartausgabe. Das übernimmt der Comment-Befehl. Der soll uns das Bruttoguthaben, das Nettoguthaben und die ermittelte dynamische Positionsgröße auf dem Chart anzeigen. Bitte nicht hier die letzte Klammer vergessen. Und wenn Sie so weit sind, dann können Sie jetzt hier oben auf kompilieren klicken oder die F7-Taste drücken. Bei mir hat das ohne Fehler funktioniert. Wenn Sie nicht verstehen, was diese Code-Zeilen hier bewirken wollen oder wenn Ihnen das zu schnell ging, dann möchten Sie sich vielleicht die anderen Videos aus dieser Grundlagenserie noch einmal anschauen. Vielleicht ist auch der Premiumkurs auf unserer Webseite interessant für Sie. Andernfalls, wenn sie beim Kompiliervorgang keine Fehler erhalten haben, dann klicken Sie hier oben auf dieses kleine Symbol oder drücken die F4-Taste, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Steuerung und R. Hier wählen wir jetzt die neu erstellte Datei SimpleDynamischeBuyPositionsGroesse.ex5 aus. Bitte markieren Sie hier unten den Haken für den visuellen Modus und starten Sie Ihren Test. Hier ist unser Expert Advisor in Aktion. Es werden sowohl Positionen eröffnet als auch dynamische Positionsgrößen anhand der Equity berechnet. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie für Kaufpositionen eine dynamische Positionsgröße anhand des Nettoguthabens berechnen können. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5.