MQL5 Tutorial - Automatisch traden mit Metatrader5

MQL5 TUTORIAL GRUNDLAGEN – 77 SIMPLER AWESOME INDIKATOR


Listen Later

In diesem Video wollen wir uns einmal anschauen, wie man für diesen Oszillator hier, den Awesome-Indikator, benutzerdefinierte Werte für den Kauf und den Verkauf eingeben und automatisieren kann. Also lassen Sie uns einmal schauen, wie man so etwas in MQL5 programmiert. Um das zu tun klicken Sie im Metatrader hier oben auf dieses kleine Symbol oder drücken 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 einmal den Namen SimplerAwesomeIndikator, 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 hier mit einer include-Anweisung. Die wird uns die Datei trade.mqh importieren. Die ist Bestandteil von MQL5 und ermöglicht es uns vereinfachte Handelsfunktionen zu benutzen. Dazu erstellen wir uns im nächsten Schritt von der Klasse CTrade eine Instanz mit dem Namen trade. Außerdem möchten wir gerne in der Lage sein, einen Signalwert als Benutzereingabe vorzugeben. Dieser Zusatz hier input ermöglicht es uns einen Fließkommawert für unser Signal ohne Neukompilierung des Codes später im Expert Advisor verändern zu können. Das hier ist der vorbelegte Initialwert. In der OnTick-Funktion holen wir uns zunächst einmal den Ask-Preis und den Bid-Preis. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir nutzen SYMBOL_ASK oder SYMBOL_BID je nach dem ob wir den Ask- oder den Bid-Preis berechnen. Und mit NormalizeDouble und _DIGITS stellen wir sicher, dass wir für das jeweilige Währungspaar die richtige Anzahl von Nachkommastellen berechnen. Im nächsten Schritt erstellen wir uns eine signal-Variable. Die bekommt hier aber noch keinen Wert zugewiesen, denn den möchten wir gleich noch ermitteln. Mit MqlRates holen wir uns jetzt die Preisinformationen, denn MqlRates bewahrt Informationen über Preis, Volumen und Spread auf. Wir nutzen hier ArraySetAsSeries, um unser Array von der aktuellen Kerze an abwärts zu sortieren und danach nutzen wir CopyRates, um für das aktuelle Symbol auf dem Chart und dir dort eingestellte Zeiteinheit, angefangen von der aktuellen Kerze 0, die Daten für 3 Kerzen in unser PriceInformation-Array zu kopieren. Danach brauchen wir noch ein weiteres Array. Das werden wir nutzen, um den aktuellen Oszillatorwert zu berechnen. Und für die Definition was wir da berechnen möchten, nutzen wir die eingebaute MQL5-Funktion iAO. Die benötigt genau zwei Parameter. Der erste Parameter steht für das aktuelle Währungspaar und der zweite Parameter für die auf dem Chart ausgewählte Zeiteinheit. Auch dieses Array sortieren wir von der aktuellen Kerze an abwärts, in dem wir ArraySetAsSeries benutzen. Und jetzt nutzen wir CopyBuffer, um anhand der Definition, die wir hier oben getroffen haben, für Buffer 0, also das jeweilige Signal hier, von der Kerze 0 an für 3 Kerzen die Preisdaten in unserem PriceArray zu speichern. Und jetzt berechnen wir den aktuellen Wert einfach in dem wir uns den Wert aus Kerze 0 aus unserem PriceArray holen. Mit NormalizeDouble und dieser 6 stelle ich sicher, dass der Ausgabewert sechs Nachkommastellen hat, so wie hier auch im Oszillator auch angezeigt wird. Und wenn dieser Wert größer ist, als der von uns definierte gewünschte Signalwert, dann ist das für uns ein Kaufsignal und dann weisen wir den Begriff buy unserer signal-Variable zu. Im anderen Fall, wenn der Oszillatorwert kleiner ist als 0, abzüglich unserem Signalwert, das ist dann der Minuswert für unser Signal, dann stellt das für uns ein Verkaufssignal dar und dann weisen wir den Begriff sell unserer Signalvariable zu. Und immer wenn unser Signal auf verkaufen steht und der Rückgabewert für PositionsTotal kleiner ist als 1, dann bedeutet das wir haben keine geöffneten Positionen, aber ein Verkaufen-Signal und dann nutzen wir trade.Sell, um 10 Microlot zu verkaufen. Passen wir das hier mal an.
...more
View all episodesView all episodes
Download on the App Store

MQL5 Tutorial - Automatisch traden mit Metatrader5By MQL5 Tutorial - Automatisch traden mit Metatrader5