MQL5 TUTORIAL GRUNDLAGEN – 21 SO PROGRAMMIEREN SIE EINEN MACD EXPERT ADVISOR

video

In diesem Video wollen wir uns einmal anschauen, wie man den MACD automatisieren kann. Das ist dieser Oszillator hier unten. Und wir möchten herausfinden, wie man mit MQL5 die entsprechenden Signale nutzen kann, um Positionen automatisiert zu eröffnen. Um das zu tun, klicken Sie im Metatrader bitte auf dieses kleine Symbol hier oder drücken Sie die F4 Taste. Das ruft dann hier den Metaeditor auf. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimplerMacDEA, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Wir starten mit einem include Befehl für die Datei Trade.mqh. Die gehört zum Lieferumfang von MQL5 dazu und stellt Handelsfunktionen bereit. Danach erstellen wir eine Instanz von der Klasse CTrade. Die bekommt den Namen trade. Und diese Instanz werden wir gleich verwenden, um Positionen zu eröffnen. Dazu müssen wir erst einmal den Ask Preis und den Bid Preis ermitteln. Das macht die Funktion SymbolInfoDouble für das aktuelle Symbol, also das Währungspaar auf dem Chart. Wir verwenden SYMBOL_ASK, alles in Großbuchstaben, für den Ask Preis, beziehungsweise SYMBOL_BID für den Bid Preis. Und mit NormalizeDouble und _Digits stellen wir sicher, dass die Berechnung entweder drei oder fünf Nachkommastellen hat, je nachdem welches Währungspaar wir verwenden. Danach bauen wir uns eine Variable für unser Signal. Das soll eine Textkette sein. Darum ist sie vom Typ string. Und der Name ist signal. Wir weisen hier noch keinen Wert zu, denn der muss noch ermittelt werden. Für die Berechnung brauchen wir zunächst einmal ein Array für Preisdaten. Das bekommt den Namen myPriceArray. Und jetzt nutzen wir die in MQL5 integrierte Funktion iMACD für das aktuelle Währungspaar auf dem Chart und die dort verwendete Zeiteinheit. Um anhand der Schlusskurse einen Wert zu berechnen. Diese drei Werte hier schauen wir uns jetzt mal an. Denn wenn Sie auf irgendeinem Chart auf Einfügen, Indikatoren, Oszillatoren, MACD klicken, dann sehen Sie hier die Werte zwölf, 26 und neun. Zwölf steht für den schnellen exponentiellen Moving Average. 26 für den langsamen exponentiellen Moving Average. Und neun für den Simple Moving Average. Wenn Sie sich die genauen Formeln für den MACD einmal anschauen wollen, dann können Sie auf Seiten wie Investopedia.com die Formeln dafür finden. Für jetzt reicht es aus zu wissen, dass diese Werte hier mit den Grundwerten übereinstimmen. Mit CopyBuffer möchten wir jetzt anhand der MACD Definition, die wir hier oben getroffen haben, für den Buffer null, also unsere Signallinie, von der aktuellen Kerze null für drei Kerzen die Preisdaten in unser Preisarray kopieren. Warum nutze ich hier immer drei Kerzen? Nun, das ist schneller als alle Kerzen auf dem Chart zu berechnen und spart deshalb etwas Rechenzeit. Und gleichzeitig sind drei Kerzen genug, um auch Überkreuzungen zu berechnen. Für dieses einfache Beispiel brauchen wir eigentlich nur den Wert von Kerze null, von der aktuellen Kerze aus unserem Preisarray. Denn, wenn unser MACD Wert größer ist als null, das bedeutet, wenn er sich oberhalb dieser gestrichelten Linie hier befindet, dann hätten wir ein Verkaufssignal und weisen den Begriff sell unsere Signal Variable zu. Im anderen Fall, wenn der MACD Wert kleiner ist als Null, dann wäre das ein Kauf Signal. In dem Fall weisen wir unserer Signal Variable den Wert buy zu. Und wenn unser Signal den Wert sell hat, und PositionsTotal kleiner ist als eins, dann bedeutet das, wir keine offenen Positionen. Und in dem Fall nutzen wir trade.sell um zehn Mikrolot zu verkaufen. Andernfalls, wenn das Signal den Wert buy hat und wir keine offenen Positionen haben, dann nutzen wir trade.buy und kaufen zehn Mikrolot. Zum Schluss generieren wir noch eine Chart Ausgabe. Die soll den Comment Befehl nutzen und uns den Text: Das aktuelle Signal ist gerade, gefolgt von dem berechneten Signal ausgeben. Soweit war es das. Wenn Sie alles haben, können Sie hier auf Kompilieren klicken. Das sollte jetzt ohne Fehler funktioniert haben. Falls Ihnen das alles zu schnell war, dann schauen Sie sich doch einfach mal die anderen Videos aus diesem Grundlagenkurs an. Oder vielleicht ist ja auch der Premium Kurs interessant für Sie. Andernfalls, wenn alles geklappt hat, klicken Sie bitte auf das kleine Symbol hier oben oder drücken Sie die F4 Taste, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester, oder drücken die Tastenkombination Ctrl+R. Hier wählen wir unsere neue Datei SimplerMacDEA.ex5 aus, markieren hier die Visualisierung und starten unseren Test. Und so sieht das Ganze dann im laufenden Betrieb aus. Wir haben hier nicht nur dem MACD auf dem Chart, sondern wir haben auch bereits die erste Position geöffnet. Und Sie haben in diesem kurzen Video gelernt, wie Sie für den MACD Oszillator einen MQL5 Expert Advisor programmieren kann, der automatisch die erzeugten Signale handelt. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL5.

Download “CODE - SIMPLER MACD EA” SimplerMacDEA.mq5 – 29-mal heruntergeladen – 1 KB