MQL4 TUTORIAL DEUTSCH

MQL4 TUTORIAL GRUNDLAGEN – 102 SIMPLER BUY CROSSOVER STOP LOSS


Listen Later

In diesem Video wollen wir uns einmal anschauen, wie man einen Expert Advisor erstellen kann, der bei sich überkreuzenden gleitenden Durchschnitten hier eine Buy Position schließen kann. Das ist jetzt grade passiert. Also lassen Sie uns einmal schauen, wie man so etwas programmiert. 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 mal den Namen SimplerBuyCrossoverStop, klicke auf Weiter, Weiter und Fertigstellen.   Jetzt kann hier alles oberhalb der OnTick Funktion gelöscht werden. Und auch die zwei Kommentarzeilen können weg. Wir starten damit, dass wir uns zunächst einmal eine Signal Variable erstellen. Die ist vom Typ String, damit sie einen Text aufnehmen kann und bekommt den Namen signal. Wir weisen hier aber noch keinen Wert zu. Danach berechnen wir uns den SmallMovingAverage. Das übernimmt die Funktion iMA für das aktuelle Währungspaar auf dem Chart und die auf dem Chart aktuell ausgewählte Zeiteinheit. Wir möchten den Wert gerne für zwanzig Kerzen berechnen. Der Verschiebungswert ist null. Wir nutzen hier MODE_SMA für Simple Moving Average. Man könnte aber beispielsweise auch EMA für exponentielle Moving Averages nutzen.   Das Ergebnis soll anhand der Schlusspreise berechnet werden und zwar für Kerze eins. Jetzt wiederholen wir das Ganze nochmal für den BigMovingAverage. Alles ist in etwa gleich, bis auf den Namen der Variable. Und diesmal berechnen wir das Ganze für fünfzig Kerzen. Das ermöglicht uns jetzt die Signale zu ermitteln. Und wenn der BigMovingAverage größer ist als der SmallMovingAverage für Kerze eins, dann setzen wir unser Signal auf sell. Im anderen Fall, wenn der BigMovingAverage für Kerze eins kleiner ist, als der SmallMovingAverage, dann halten wir das für ein buy Signal, also weisen wir den Begriff buy unserer Signal Variable zu. Und damit wir Positionen schließen können, wenn zwei gleitende Durchschnitte sich überkreuzen, müssen wir natürlich zunächst Positionen öffnen. Das bedeutet, wenn wir ein Kaufsignal haben und die Funktion OrdersTotal und einen Rückgabewert von null zurückliefert, das bedeutet, wir haben keine offene Position, aber ein Kaufsignal, dann nutzen wir OrderSend, um eine Testorder für zehn Mikrolot zu eröffnen.   Natürlich würde man das auf einem Echtgeldkonto nicht mit einer Testposition machen. Aber wenn wir keine geöffnete Position haben, können wir auch nichts schließen. Und sofern unser Signal den Wert sell hat und wir eine geöffnete Position haben, dann rufen wir diese Funktion mit dem Namen CloseBuyPositionsThisPair auf. Am Ende der OnTick Funktion möchte ich gerne noch eine Comment Ausgabe für das Chart haben. Die wird uns anzeigen: das aktuelle Signal ist… gefolgt von dem ermittelten Signal. Soweit so gut. Diese Funktion hier existiert aber noch gar nicht, also müssen wir die jetzt noch programmieren. Der Name unserer Funktion soll sein: CloseBuyPositionsThisPair. Wir nutzen hier void, da wir keinen Rückgabetyp benötigen.   Mit Hilfe einer for Schleife gehen wir alle offenen Positionen der Reihe nach durch. Für jede Order nutzen wir OrderSelect für den aktuellen Schleifenzähler, um die Position zu selektieren. Danach ermitteln wir das Währungspaar für die Position. Das übernimmt die Funktion OrderSymbol. Und nur, wenn das Währungspaar auf unserem Chart und das Währungspaar der Position übereinstimmen, möchten wir tätig werden. Zusätzlich prüfen wir noch, ob es sich um einen Kaufposition handelt. Das wäre der Fall, wenn die Funktion OrderType uns den Wert OP_BUY zurückliefert. Treffen diese Bedingungen zu, dann nutzen wir OrderClose für das aktuelle Order-Ticket und die aktuelle Positionsgröße, um die Position für den Bid Preis zu schließen. Unser Toleranzwert ist drei. Und der letzte Parameter hier steht für eine Farbe. Ich habe hier keinen Wert zugewiesen.
...more
View all episodesView all episodes
Download on the App Store

MQL4 TUTORIAL DEUTSCHBy Raimund Bauer