MQL4 TUTORIAL GRUNDLAGEN – 131 EMA MACD STANDALONE EXPERT ADVISOR

video
play-rounded-fill

 

In diesem Video wollen wir uns einmal anschauen, wie man einen Expert Advisor programmieren kann, der in der Lage ist, ein Signal aus zwei exponentiellen gleitenden Durchschnitten bei einer Überkreuzung zu erstellen, das dann vom MACD Signal gefiltert wird. Also lassen Sie uns einmal schauen, wie man so was in MQL4 programmieren kann. Um das zu tun, klicken Sie bitte hier oben auf dieses kleine Symbol oder drücken Sie die F4 Taste. Das ruft dann den MetaEditor auf und hier haben wir bereits die vorprogrammierten Module für dieses System. Das Haupt-Modul importiert hier mit dem Include Befehl zwei MQ4 Dateien.

 

Die erste Datei nutzen wir, um Über kreuzungen vom exponentiellen gleitenden Durchschnitt zu ermitteln und die zweite Datei nutzen wir, um den MACD Filter zu ermitteln. Zunächst erstellen wir uns in der OnTick-Funktion dafür zwei String Variablen. Das erste ist die Trading Signal Variable. Die ruft eine Funktion mit dem Namen Check entry ema auf. Die befindet sich in diesem Modul. Die zweite Variable ist für den Filter und dafür rufen wir Check entry macd auf. Die befindet sich in dem zweiten Modul. Und wenn unser Trading Signal auf kaufen steht und unser Filter auch kaufen möchte, dann prüfen wir, ob wir keine geöffneten Positionen haben. Und wenn das der Fall ist, nutzen wir Order Send um eine Kauf Position für 10 Microlot zu eröffnen.

 

Andernfalls, wenn unser Trading Signal auf verkaufen steht und der Filter auch verkaufen möchte, dann prüfen wir ebenfalls, ob wir keine offene Position haben. Und wenn das zutrifft, dann nutzen wir Order Send um eine Verkaufs Position für zehn Microlot zu eröffnen. Zum Schluss nutzen wir noch den Comment-Befehl, um das Trading Signal und den Filter auf unserem Chart auszugeben. So weit so gut. Aber um diese Funktion hier nutzen zu können, müssen wir die natürlich programmieren. Unsere Funktion hat den Namen Check entry ema. Auch hier erstellen wir zunächst ein Signal vom Typ String, ohne dass wir da einen Wert zuweisen. Und jetzt brauchen wir vier gleitende Durchschnitte, jeweils für 20 und 50 Kerzen. Die erstellen wir über die EMA-Funktion. Einmal für 20 Kerzen und einmal für 50 Kerzen, jeweils für die aktuelle Kerze Null.

 

Und dann wiederholen wir das Ganze nochmal für Kerze eins, das ist die Kerze davor. Wenn Sie nicht verstehen, wie das hier funktioniert, dann wollen Sie sich vielleicht zunächst einmal eines der anderen Videos aus unserer Grundlagen-Serie anschauen. Oder vielleicht ist auch der Premium Kurs interessant für Sie. Den Premium Kurs finden Sie bei uns auf der Webseite und da gibt es auch Quellcodes wie diese hier zum Herunterladen. Und sobald wir unsere vier gleitenden Durchschnitte hier definiert haben, prüfen wir, ob der aktuelle gleitende Durchschnitt für 20 Kerzen größer ist als der für 50 Kerzen und ob der für die Kerze davor noch darunter lag. Wenn das so ist, haben wir eine Überkreuzung und dann erstellen wir hier ein Kaufen Signal. Im anderen Fall, wenn der aktuelle Moving Average für 20 Kerzen kleiner ist als der für 50 Kerzen und wenn der für Kerze eins noch größer war, dann haben wir eine andere Überkreuzung und das ist ein Verkaufen Signal und wir setzen dann unsere Signal Variable hier auf Sell.

 

Zum Schluss nutzen wir den Return Befehl, um unser Signal an das Modul zurückzugeben. Das war’s soweit für diese Funktion. Kommen wir jetzt zu unserer Filterfunktion. Die heißt Check Entry MACD und die befindet sich in diesem Modul. Auch hier erstellen wir eine Signal Variable ohne Wert. Danach berechnen wir uns den MACD, der zwei Signale liefern kann. Das eine ist das Hauptsignal und das zweite wird einfach nur Signal genannt. Für das Hauptsignal nutzen wir Mode Main und für das Signal nutzen wir Mode Unterstrich Signal. Danach nutzen wir den Print Befehl, um uns die beiden Werte im Journal ausgeben zu lassen.

 

Und wenn der MACD Main größer ist als das MACD Signal, dann möchten wir kaufen. Im anderen Fall wenn der MACD Main kleiner ist als das MACD Signal, dann möchten wir verkaufen. Und zum Schluss nutzen wir wieder den Return Befehl um unser Signal an das Haupt-Modul zurückzugeben. Das ist dieses hier und das enthält die Ontick-Funktion. Und wenn wir alles richtig gemacht haben, dann können Sie jetzt hier oben auf Kompilieren klicken oder die F7 Taste drücken. Bei mir hat das ohne Fehler funktioniert. Und wenn das bei Ihnen auch so ist, dann können Sie jetzt mit F4 oder mit einem Klick auf dieses Symbol hier in den MetaTrader zurückkehren.