MQL5 TUTORIAL GRUNDLAGEN – 42 SIMPLER IAD EA

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man diesen Oszillator hier, den Accumulation Distribution Oszillator berechnen kann und wie man die Werte davon als Filter für Signale einsetzt. Um das zu tun, klicken Sie im Metatrader bitte auf dieses kleine Symbol hier oben 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 hier einmal den Namen SimplerIADEA, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen können weg. Wir starten damit, dass wir mittels include die Datei Trade.mqh importieren. Die enthält die Klasse CTrade, von der wir uns hier eine Instanz erstellen. Innerhalb der OnTick Funktion berechnen wir zunächst den Ask Preis und den Bid Preis. Das geht mit SymbolInfoDouble. Wir nutzen entweder SYMBOL_ASK oder SYMBOL_BID. Außerdem benötigen wir noch eine Signal Variable. Die bekommt hier zunächst keinen Wert zugewiesen und ist vom Typ string. Außerdem brauchen wir noch zwei Arrays. Ein Preis Array und eins für unseren gleitenden Durchschnitt. Mit ArraySetAsSeries können wir unser Preis Array von der aktuellen Kerze an abwärts sortieren. Danach erstellen wir uns mit der iMA Funktion einen gleitenden Durchschnitt für zwanzig Kerzen. Das haben wir schonmal in einem anderen Teil durchgenommen. Und wenn Sie das noch nicht kennen, dann schauen Sie sich vielleicht erst einmal das entsprechende Video dazu an. Auch das Array für den gleitenden Durchschnitt wird von der aktuellen Kerze an abwärts sortiert. Danach nutzen wir CopyBuffer, um unser Array mit drei Kerzen, beginnend von Kerze null an, anhand der Definition zu füllen, die wir hier oben getroffen haben. Und um den aktuellen Wert für unseren gleitenden Durchschnitt zu erhalten, greifen wir einfach auf den Wert von Kerze null in unserem Moving Average Array zu. Fehlt uns noch die Definition für den Accumulation Distribution Oszillator. Das übernimmt die Funktion iAD für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Wir nutzen VOLUME_TICK als dritten Parameter. In diesem Fall füllen wir mittels CopyBuffer unser Array mit den Werten für elf Kerzen. Denn wir möchten gerne gleich auf die Werte von Kerze zehn zugreifen. Zunächst ermitteln wir den aktuellen Wert. Den bekommen wir, indem wir in unserem Preis Array den Wert für Kerze null, unserer Ergebnisvariable hier zuweisen. Und um den vorherigen Wert zu berechnen, greifen wir auf Kerze zehn zu. Mit diesen beiden Werten können wir jetzt grob bestimmen, ob unser Oszillatorwert steigt oder sinkt. Um einen Long Trade zu starten, möchten wir zunächst wissen, ob der aktuelle Ask Preis sich oberhalb des Moving Average befindet. Das ist immer dann der Fall, wenn die Kerzen über dem gleitenden Durchschnitt hier liegen. Und als zweite Bedingung prüfen wir, ob der aktuelle Wert für den Accumulation Distribution Oszillator über dem letzten Wert liegt. Das wäre der Fall, wenn wir hier eine Steigung sehen. Und in dem Fall setzen wir unsere Signal Variable hier auf den Wert Buy, denn jetzt möchten wir kaufen. Natürlich gibt es auch noch den anderen Fall. Wenn der Bid Preis kleiner ist, als der Moving Average, also wenn die Kerzen unterhalb des gleitenden Durchschnitts angezeigt werden, dann prüfen wir, ob unser Oszillatorwert sinkt. Das wäre der Fall, wenn der aktuelle Wert unter dem letzten Wert liegt. Auf dem Chart sieht man das anhand von fallenden Werten. Und in dem Fall setzen wir unser Signal auf verkaufen. Wenn unser Signal den Wert Sell hat und die Anzahl der Positionen unter eins liegt, also wir keine offenen Positionen haben, dann nutzen wir trade.Sell, um zehn Mikrolot zu verkaufen. Andernfalls, wenn unser Signal den Wert Buy hat und ebenfalls keine Position geöffnet ist, dann nutzen trade.Buy und kaufen zehn Mikrolot. Zum Schluss nutzen wir noch den Comment Befehl, um den Wert auszugeben: Das aktuelle Signal ist… gefolgt von dem ermittelten Signalwert. Und das war es soweit. Wenn Ihnen das hier zu kompliziert oder zu schnell war, dann wollen Sie sich vielleicht die anderen Grundlagenvideos aus diesem Kurs noch einmal anschauen. Oder eventuell ist auch der Premiumkurs auf unserer Webseite interessant für Sie. Jetzt klicken wir zunächst auf Kompilieren. Das hat hier ohne Fehler funktioniert. Und wenn das bei Ihnen auch so ist, dann können Sie hier auf dieses kleine Symbol klicken oder die F4 Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R. Bitte wählen Sie hier die neu erstellte Datei aus. Markieren Sie die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft der EA. auch schon los. Bei mir wird seit dem letzten Update im Strategietester entweder gar kein Indikator oder manche Indikatoren doppelt angezeigt. Man kann das anpassen, wenn man Änderungen an der Schablone vornimmt. Wenn ich zum Beispiel diese Schablone hier speichere und den Namen tester.tpl. benutze, dann wird beim nächste Backtest gar kein Indikator mehr angezeigt. Speichere ich diese Schablone hier mit dem Oszillator Fenster, dann bekomme ich im nächsten Backtest zwei Oszillatoren Fenster angezeigt. Grundsätzlich funktioniert unser Expert Advisor aber wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie die Werte vom Accumulation Distribution Oscillator berechnen und als Filter für einen gleitenden Durchschnitt nutzen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL5.