MQL5 Tutorial Deutsch – Simpler IDEMA Standalone EA

video
play-sharp-fill

In diesem Video geht es um die Erstellung eines lauffähigen Expert Advisors, der in der Lage ist, automatisch den Double Exponential Moving Average zu handeln. Das ist diese rote Linie hier. Wir haben hier bereits unsere erste Position eröffnet. Und wir wollen uns jetzt einmal schauen, wie man so etwas mit MQL5 programmieren kann. Um das zu tun, klicken Sie bitte im Metatrader auf das Symbol hier oder drücken die F4 Taste. Jetzt sollten Sie den Metaeditor sehen. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimplerIDEMAStandaloneEA, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der On Tick Funktion gelöscht werden. Auch die zwei Kommentarzeilen werden entfernt. Zunächst erstellen wir uns von der Klasse CTrade eine Instanz mit dem Namen trade. Die werden wir später verwenden, um Positionen zu eröffnen. Dafür müssen wir zunächst einmal den Ask-Preis und den Bid-Preis berechnen. Der Ask-Preis wird verwendet, wenn wir etwas kaufen. Und der Bid-Preis, wenn wir etwas verkaufen möchten. Die Funktion SymbolInfoDouble ermöglicht es uns, für das aktuell ausgewählte Währungspaar mit SYMBOL_ASK den Ask-Preis zu berechnen. Und die Funktion NormalizeDouble_Digits kürzt die Anzahl der Nachkommastellen so, dass das auch zu dem ausgewählten Währungspaar passt. In diesem Fall haben wir fünf Nachkommastellen. Dieses Währungspaar hier hätte nur drei Nachkommastellen. Der rote Preis hier ist der Ask-Preis und der blaue ist der Bid-Preise. Jetzt nutzen wir MqlRates um ein Array für unsere Preisedaten zu erstellen. Mit Hilfe der Funktion ArraySetAsSeries sortieren wir jetzt unser Array von der aktuellen Kerze an abwärts. Und danach nutzen wir die Funktion CopyRates, um unser PriceInfo Array für das aktuelle Währungspaar und die auf dem Währungspaar ausgewählte Zeiteinheit von der von der aktuellen Kerze null für drei Kerzen mit Preisdaten zu füllen. Wir brauchen auch noch eine String Variable für unser Signal. Die bekommt auch den Namen Signal. Hier weisen wir noch keinen Wert zu, denn der wird noch ermittelt. Jetzt brauchen wir noch ein Array für Preisdaten für unseren Expert Advisor. Das bekommt hier mal den Namen MyEaArray. Und wir definieren mit Hilfe der eingebauten iDEMA Funktion von MQL5, dass wir für das aktuelle Währungspaar und die auf dem Währungspaar ausgewählte Zeiteinheit ein Ergebnis auf Basis von 14 Kerzen ermitteln möchten. Wenn man sich hier einmal die Eigenschaften anschaut, dann sieht man die 14 auch in Klammern. Und mit der rechten Maustaste sehen wir in den Eigenschaften des Double Exponential Moving Average, dass er für 14 Kerzen mit einer Verschiebung von null auf den Close Preis berechnet wird. Das sind genau die drei Parameter, die wir hier nutzen. Auch jetzt nutzen wir wieder ArraySetAsSeries um unser EaArray von der aktuellen Kerze an abwärts zu sortieren. Und mit CopyBuffer füllen wir unser EaArray anhand der movingAverage Definition, die wir hier oben getroffen haben für Buffer null, das ist dieser rote Strich hier, von der aktuellen Kerze null für drei Kerzen mit Daten. Das war es soweit mit der Vorarbeit. Um den Expert Advisor Wert für die letzte Kerze zu berechnen, greifen wir auf Kerze eins in unserem EaArray zu und weisen das Ergebnis der Variable MeinMovingIDEMaWert zu. Vom Prinzip hat diese rote Linie hier jeweils einen Wert für jede Kerze. In diesem Fall hier wäre der Wert 1.354748. Und wenn dieser berechnete Wert oberhalb des Schlusskurses für Kerze eins in unserem PriceInfo Array liegt, dann wäre das für uns ein Verkaufen Signal. Darum weisen wir dann den Begriff Verkaufen unserer Signal Variable zu. Anders herum, wenn der movingAverage IDEMA Wert kleiner ist, als der Schlusskurs von Kerze eins in unserem PriceInfo Array, dann sehen wir das als ein Kaufen Signal. Und dann weisen wir den Begriff Kaufen unserer Signal Variable zu. Und wenn unser Signal den Wert Verkaufen hat, und uns der Wert PositionsTotal einen Wert kleiner eins zurückliefert, dann bedeutet das, dass wir keine offenen Positionen haben. Und in dem Fall nutzen wir trade.Sell um zehn Microlot zu verkaufen. Natürlich gibt es auch noch den anderen Fall. Wenn unser Signal auf Kaufen steht und wir ebenfalls keine geöffnete Position haben, dann nutzen wir trade.Buy um zehn Microlot zu kaufen. Zum Schluss erstellen wir noch eine Chart Ausgabe. Das übernimmt der Comment Befehl. Der gibt uns auf dem Chart den Satz: Das aktuelle Signal ist… gefolgt von dem von uns berechneten Signal aus. Das war es soweit. Jetzt klicken wir hier oben auf Kompilieren oder drücken die F7 Taste. Das hat hier ohne Fehler funktioniert. Und in dem Fall klicken wir hier oben auf diesen kleinen Button oder drücken die F4 Taste, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R. Das ruft hier den Strategietester auf. Und hier wählen wir die Datei SimplerIDEMAStandaloneEA.ex5 aus. Markieren hier die Option für die Visualisierung und starten unseren Test. Und hier läuft unser Expert Advisor auch schon. Das aktuelle Signal ist Kaufen. Jetzt Verkaufen, weil der Preis die rote Linie überkreuzt hat. Man kann das Ganze auch noch beschleunigen. Und Sie haben in diesem kurzen Video gelernt, wie Sie für den Double Exponential Moving Average einen eigenständig handelsfähigen Expert Advisor für Metatrader 5 erstellen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier im MQL5.

Download “MQL5 TUTORIAL DEUTSCH - SIMPLER IDEMA STANDALONE EXPERT ADVISOR”

SimplerIDEMAStandaloneEA.txt – 401-mal heruntergeladen – 1,76 kB