MQL4 TUTORIAL GRUNDLAGEN – 14 SIMPLES BUY LIMIT

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man ein Buy Limit setzt. Wenn wir uns hier im Strategietester einmal die Details anschauen dann sehen wir, dass wir hier ein Buy Limit, anstatt eines Buy Trades ausgelöst haben. Die Besonderheit bei einem Buy Limit ist, dass es nicht zum aktuellen Marktpreis gesetzt wird, sondern, in diesem Fall, deutlich unter dem aktuellen Preis. Das kann zum Beispiel sehr interessant sein, wenn man solche Bereiche hier definiert hat. Und man gerne kaufen möchte, wenn sich der Preis aus einem Bereich heraus bewegt. Und wir wollen uns jetzt einmal anschauen, wie man das in MQL4 programmieren kann. Um das zu tun, klicken Sie bitte auf diesen kleinen Button hier oder drücken Sie die F4 Taste auf Ihrer Tastatur. Das ruft dann hier den Metaeditor auf. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier mal den Namen SimplesBuyLimit. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann man alles löschen, was sich oberhalb dieser OnTick Funktion befindet. Und ich entferne auch direkt die zwei Kommentarzeilen. Unser Einstiegskriterium ist in diesem einfachen Beispiel nur eine Abfrage, ob wie keine offenen Positionen haben. Das machen wir mit der Funktion OrdersTotal. Die liefert uns nämlich die market und die pernding orders. Das bedeutet nicht nur bereits geöffnete Positionen, sondern auch geplante Positionen. Und wenn diese Funktion den Wert null hat, dann bedeutet das, dass wir weder eine market order, noch eine pending order offen haben. Und in dem Fall möchten wir gerne einen OrderSend Befehl absetzen und eine Kauf-Limit Order in den Markt stellen. Die Limit Order wird unterhalb des aktuellen Preises eröffnet und für OrderSend brauchen wir jetzt noch ein paar Parameter. Wir starten mit einer runden Klammer. Hier unten machen wir direkt die geschlossene runde Klammer. Man sieht übrigens hier, wenn ich eine Klammer markiere wird angezeigt, welche Klammer dazugehört. Gerade am Anfang kommt es immer wieder vor, dass man eine Klammer vergisst oder eine zu viel macht. Und so kann man das ganz gut sehen. Wir starten damit, dass wir den ersten Parameter für das Währungspaar auf dem Chart abfragen. In diesem Fall habe ich hier Symbol mit zwei geöffneten Klammern gewählt. Wenn ich F1 drücke, dann sieht man, dass es das Ganze auch als _Symbol gibt. Tatsächlich liest man in der Referenz, dass die beiden Funktionen gleich sind. Beide ermitteln, welches Chart wir grade geöffnet haben und liefern uns das entsprechende Währungspaar von diesem Chart. Im nächsten Parameter geben wir an, dass wir gerne bin BUY LIMIT setzen möchten. Das funktioniert mit dieser Konstante. OP_BUYLIMIT. Die setzt uns eine pending order, also eine noch nicht ausgeführte Order. Denn die soll erst ausgeführt werden, wenn ein bestimmter Preis erreicht wird. Im Gegensatz zu einer market oder, die immer sofort zum Marktpreis ausgeführt werden soll, möchten wir hier warten, bis der Preis sich eine Zeitlang bewegt hat und unsere Marke hier unten erreicht. Jetzt geben wir noch an, wieviel wir kaufen möchten. In unserem Fall mit 0,10 möchten wir gerne zehn Mikrolot kaufen. Der nächste Parameter hier gibt an, zu welchem Preis wir gerne kaufen möchten. Und zwar möchten wir gerne vom aktuellen Ask Preis zwanzig Punkte abziehen, also 20*_Point. _Point liefert uns den Wert für das aktuelle Währungspaar für einen Punkt. Mit zwanzig multipliziert gibt das dann zwanzig Punkte unter dem aktuellen Kaufpreis. Wir möchten eine maximale Abweichung von drei Pips haben. Also, sobald sich hier der Preis in irgendeiner Form bewegt, ist das immer mindestens ein Pip. Wenn Sie diesen Wert auf null setzen, dann werden Sie viele Ablehnungen von Ihrem Broker bekommen. Drei ist ein ganz guter Wert. Der nächste Parameter steht für den Stop Loss. Den könnte ich auch in dieser Form hier angeben. Ich habe hier aber mal keinen Stop Loss gewählt. Und wenn sich der Preis zehn Punkte oberhalb des aktuellen Ask Preises befindet, dann möchte ich gerne die Positionen schließen. Tatsächlich müssten das hier dreißig Punkte sein. Denn, wir steigen ja zwanzig Punkte unter dem Ask Preis ein. Der nächste Parameter könnte für einen Kommentartext verwendet werden. Den brauchen wir ebenfalls nicht. Genauso wenig wie die Magic Number. Hier wird sie als ID-Nummer beschrieben. Man könnte sowohl den Kommentar, als auch die Magic Number dazu verwenden, um einen Expert Advisor oder einen Einstieg auf dem Chart zu identifizieren. Danach kommt noch ein Parameter für das Ablaufdatum. Hier könnte ich eingrenzen, wie lange meine pending order gelten soll. Wenn das auf null steht, dann ist das solange gültig, bis der Preis tatsächlich erreicht wird. Was bei uns übrigens. Immer noch nicht passiert ist. Und der allerletzte Parameter steht her auf Green. Der wird genutzt, um die Farbe für den Pfeil zu bestimmen, den gezeichnet wird, sobald eine Position eröffnet wird. Das war es soweit. Hinter der runden Klammer fehlt noch ein Semikolon. Damit wird diese Anweisung hier abgeschlossen. Man könnte das auch alles in eine einzige Zeile schreiben. Aber ich denke, so kann man es besser lesen. Und wenn Sie soweit sind, klicken Sie hier oben auf Kompilieren. Dann wird hier unten hoffentlich kein Fehler angezeigt. Und in dem Fall können wir über dieses kleine Symbol hier oben oder mit Hilfe der F4 Taste zurückkehren in den Metatrader. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken Strg+R. Hier wählen wir jetzt die neue Datei SimplesBuyLimit.ex4 aus, markieren die Option für den visuellen Modus und starten unseren Test. Unser Expert Advisor läuft schon. Aber wir sehen im Moment noch nichts. Wenn wir ein paar Mal die Minus Taste drücken, dann wird allerdings sichtbar, dass wir hier unter unser Buy-Limit bereits gesetzt haben. Wir beschleunigen das Ganze jetzt mal ein wenig, damit das auch mal ausgelöst wird. Ich ändere das hier mal und setze das näher an den aktuellen Preis. Jetzt sollte bei zehn Punkten unter dem Ask Preis gekauft werden. Starten wir mal einen neuen Test. Dann sieht man, jetzt liegt das deutlich näher am Preis. Hier wurde noch nichts eröffnet. Hier auch nicht. Aber jetzt haben wir eine Kaufposition. Hier sieht man, wie groß der Spread ist. Und Sie wissen jetzt, wie man mit MQL4 automatisch ein Buy-Limit in den Markt legen kann. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier, im MQL4.

Download “CODE - SIMPLES BUY LIMIT”

SimplesBuyLimit.mq4 – 119-mal heruntergeladen – 783,00 B