MQL5 GRUNDLAGEN – 103 SIMPLES BUY GRID SYSTEM

video
play-sharp-fill

 

In diesem Video wollen wir uns einmal anschauen, wie man ein Buy Grid System in MQL5 programmieren kann. Hier werden Buy Positionen eröffnet, immer dann, wenn der Preis fünfzig Punkte steigt. Also lassen Sie uns einmal schauen, wie man so etwas in MQL5 programmieren kann. Um das zu tun, klicken Sie bitte im Metatrader auf dieses kleine Symbol hier oben 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 SimplesBuyGridSystem, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion gelöscht werden. Und wir entfernen auch die zwei Kommentarzeilen.

 

Zunächst importieren wir uns die Datei Trade.mqh. Die ist Bestandteil von MQL5 und stellt vereinfachte Handelsfunktionen bereit. Dazu erstellen wir uns eine Instanz von der Klasse CTrade. Die bekommt den Namen trade. Außerdem benötigen wir ein Array für Preisdaten. Das erzeugen wir mit MqlRates und der Name ist PriceInfo. Und für unser Signal erzeugen wir uns noch eine string Variable. Die bekommt den Namen Signal, aber noch keinen Wert zugewiesen. Innerhalb der OnTick Funktion erstellen wir uns eine statische Variable vom Typ double. Die hat den Namen NextBuyPrice und soll den Level für den nächste Kaufpreisaktion festlegen. Dieser Zusatz static, der sorgt dafür, dass diese Variable ihren Wert während der Laufzeit des Expert Advisors behält.

 

Im nächsten Schritt berechnen wir den Ask Preis. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir nutzen SYMBOL_ASK als Parameter. Und mit NormalizeDouble und _Digits stellen wir sicher, dass die richtige Anzahl von Nachkommastellen für das jeweilige Währungspaar automatisch berechnet wird. Mit Hilfe von ArraySetAsSeries sortieren wir unser PriceInfo Array jetzt von der aktuellen Kerze an abwärts. Und mit CopyRates füllen wir unser PriceInfo Array für das aktuelle Währungspaar und die aktuell ausgewählte Zeiteinheit. Wir starten mit Kerze null und kopieren die Preisinformationen für drei Kerzen in unser PriceInfo Array. Immer wenn wir keine geöffnete Position haben, das wäre der Fall, wenn PositionsTotal den Wert null zurückliefert, dann setzen wir den Preislevel für den nächsten Kauf auf null.

 

Um das Signal zu ermitteln rufen wir eine Funktion mit dem Namen CheckEntrySignal auf. Die existiert zu diesem Zeitpunkt noch nicht. Also müssen wir die gleich noch programmieren. Als Einstiegskonditionen prüfen wir hier, ob der Ask Preis größer oder gleich dem NextBuyPrice Level ist. Zweite Kondition ist, dass wir prüfen, ob unser Signal auf buy, also auf kaufen steht. Und wenn das der Fall ist, dann nutzen wir trade.Buy, um eine Position für zehn Mikrolot zu kaufen. Die ist gleichzeitig dann der Basiswert für unseren nächsten Kaufpreis. Den setzen wir jetzt nämlich auf den aktuellen Ask Preis plus fünfzig Punkte. Und damit wir auch was sehen, nutzen wir eine Comment Ausgabe. Die wird uns auf dem Chart den aktuellen Ask Preis und den NextBuyPrice anzeigen.

 

Soweit war es das mit der Hauptfunktion. Damit wir diese Funktion hier nutzen können, müssen wir die jetzt noch programmieren. Unsere Funktion soll CheckEntrySignal heißen und eine string Variable, also einen Text Wert zurückgeben. Dazu nutzen wir in unserem Beispiel eine ganz einfache Überprüfung. Und zwar prüfen wir, ob der Schlusskurs der letzten Kerze höher lag, als der Eröffnungskurs. Dann wäre die Kerze bullish und dann setzen wir unser Signal auf buy, also auf Kaufen. Im anderen Fall, wenn der Schlusskurs unter dem Eröffnungspreis liegt, dann wäre das ein Verkaufssignal. Und dann setzen wir unsere Signal Variable hier auf sell. Zum Schluss nutzen wir den return Befehl, um unser ermitteltes Signal an das Hauptmodul zurückzugeben. Das war es soweit. Wenn Ihnen das zu schnell ging oder wenn Sie nicht wissen, was alle diese Code Zeilen hier bewirken sollen, dann ist vielleicht der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite. Das hier war übrigens wieder eine Idee von einem Premiumkurs Mitglied. Und wenn Sie bereits Premium Mitglied sind und eine Idee für so ein Video haben, dann schicken Sie mir doch einfach ein E-Mail. Für den Moment klicken wir hier auf Kompilieren oder drücken die F7 Taste.

 

In meinem Fall hat das ohne Fehler funktioniert. Und wenn das für Sie auch der Fall ist, dann können Sie jetzt 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 Ctrl+R. Bitte wählen Sie hier die neu erstellte Datei SimplesBuyGridSystem.ex5 aus, markieren die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft unser Expert Advisor auch schon los. Und wenn wir das mal etwas beschleunigen, dann sollten wir sehen, dass hier nach und nach auf unterschiedlichen Ebenen neue Kaufpositionen eröffnet werden. Das ist jetzt der Fall.  Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie einen Simplen Buy Grid Expert Advisor in MQL5 programmieren können. Und Sie haben das selbst getan, mit diesen paar Zeilen hier im Meta Editor.