In diesem Video geht es um einen Expert Advisor, der in der Lage ist, modular Einstige auszutauschen. Das heißt, wir handeln hier den MACD Einstieg, der wird über eine externe Datei eingelesen in unser Hauptmodul. Wir wollen uns in diesem Video einmal anschauen, wie man einen Expert Advisor in MQL4 programmieren kann, der in der Lage ist, Signale aus externen Dateien auszutauschen und einzulesen, ohne den Quelltext des Hauptmoduls zu verändern. Um das zu tun, klicken Sie bitte hier oben auf diesen kleinen Button oder drücken die Taste F4 auf Ihrer Tastatur. Das ruft jetzt hier den Metaeditor auf und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter, ich vergebe hier mal den Namen SimplesModul, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser OnTick Funktion hier entfernt werden, das gilt auch für die zwei Kommentarzeilen. Zunächst einmal möchten wir eine externe Datei für ein Einstiegssignal inkludieren, also einfügen. In MQL4 geht das mit dem Befehl include, davor gibt es diese Raute und dieser include Befehl liest aus der Datei mit dem Namen CheckEntry_IAC.mq4 den kompletten Quelltext genauso aus, als würde er hier an dieser Stelle stehen. Die Funktion von diesem Modul ist ganz einfach, hier gibt es eine Funktion, die heißt CheckEntry, die liefert eine Textvariable, also einen String zurück. Erklärt wird dieser Einstieg in einem anderen Video, aber grundsätzlich nutzen wir die IAC Funktion, um ein Signal zu ermitteln, das entweder sell für verkaufen oder buy für kaufen ist. Am Ende der Funktion geben wir das Signal mit dem return Befehl an unser Hauptmodul zurück. Machen wir also im Hauptmodul weiter: In der OnTick Funktion erstellen wir zunächst eine string Variable, um unser Signal aufzunehmen. Die bekommt auch den Namen signal, ist vom Typ string, damit sie Textketten verarbeiten kann und den Wert für unsere Signalvariable ermitteln wir,indem wir die Funktion CheckEntry aufrufen, die ja hier in unserem importierten Modul enthalten ist. In diesem einfachen Beispiel geben wir das ermittelte Signal einfach auf dem Chart aus. Das tun wir, indem wir die Command Funktion nutzen, um den Text Signal, gefolgt von dem berechneten Signal hier oben auf dem Chart anzuzeigen. Das wars schon mit unserem Hauptmodul. Natürlich muss die importierte Datei CheckEntry_IAC auch vorhanden sein, in unserem Fall liegt die im gleichen Verzeichnis. Wenn Sie mögen, können Sie sich hier im Standbild den Quelltext abschreiben, die IAC Funktion liefert uns das Signal für den von Bill Williams erstellten Accelerator Indikator. Aber wie gesagt, es gibt auch ein anderes Video, das diesen Accelerator Indikator genauer erklärt. Aber zurück zum Hauptmodul. Wenn Sie soweit fertig sind, dann können Sie hier oben auf Kompilieren klicken oder die Taste F7 drücken. Das hat hier ohne Fehler und Warnungen funktioniert und in dem Fall können wir hier oben auf den Button klicken oder F4 drücken, um in den Metatrader zurückzukehren. Im Metatrader nutzen wir einen kleinen Trick: Wir klicken hier auf Einfügen, Indikatoren, Bill Williams, Accelerator Oscillator, übernehmen die Standartwerte und klicken auf Ok. Dann wird hier unten das Indikatorfenster eingeblendet, hier haben wir den Accelerator Oscillator bereits sichtbar. Damit das im Backtesting auch so funktioniert, klicken wir jetzt hier oben im Chart mit der rechten Maustaste, wählen Vorlagen, Vorlage speichern und speichern die Vorlage unter dem Namen tester.tpl, denn das ist die Schablone, die der Metatrader im Strategietester für den Test benutzt. Nach dem Speichern klicken Sie auf Ansicht, Strategietester oder drücken die Tastenkombination Strg und R, das ruft dann hier unseren Strategietester auf und hier wählen wir SimplesModul.ex4 aus, markieren die Version für den Visuellen Modus und starten unseren Test. Jetzt werden auf unserem Chart hier buy und sell Signale, also Kaufen und Verkaufen Signale anhand des Accelerator Oscillators ausgegeben und jetzt möchten wir unseren Einstieg ändern, darum klicken wir hier auf Stopp und tauschen im Metaeditor die CheckEntry_IAC Einstiegsdatei durch die CheckEntry_MACD Datei aus, die nutzt die Funktion iMACD, um ein Signal zu ermitteln. Auch hier haben wir entweder ein Verkaufs- oder ein Kaufsignal und geben unser Signal ans Hauptmodul zurück, die Ermittlung des Signals erfolgt über die exakt gleich benannte CheckEntry Funktion. Kompilieren wir also unser Hauptmodul erneut, auch diesmal ohne Fehler, klicken hier um in den Metatrader zurückzukehren. Jetzt löschen wir hier den Indikator, klicken wieder auf Einfügen, Indikatoren, Oszillatoren und wählen diesmal den MACD aus, auch hier können die Standartwerte übernommen werden. Sobald unser Indikator hier angezeigt wird, klicken wir wieder mit der rechten Maustaste und speichern auch diesmal die Vorlage unter dem Namen tester.tpl. Danach starten wir unseren Expert Advisor erneut im Strategietester und diesmal werden unsere Kaufen und Verkaufen Signale anhand des MACD Indikators angezeigt.
Sie haben in diesem kurzen Video gelernt, wie Sie in MQL4 Einstiegssignale aus externen Dateien in einem modularen System importieren können und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL4.
Podcast: Play in new window | Download