In diesem Video geht es um die Erstellung einer lauffähigen Version für den automatischen Handel mit diesem Indikator hier. Es handelt sich um den Triple Exponential Moving Averages. Diese rote Linie hier ist ein Indikator, der sich auf und ab bewegt. Immer wenn er sich unterhalb dieser gestrichelten Linie bewegt, dann ist das ein verkaufen Signal. Und sobald er über dieser Linie liegt, hätten wir ein kaufen Signal. Wie kann man jetzt einen Expert Advisor programmieren, der in der Lage ist, das hier generierte Signal im Metatrader automatisch zu handeln? Um das zu tun klicken Sie im Meta Trader bitte hier oben auf diesen kleinen Button oder drücken die F4 Taste. Das ruft dann hier den Meta Editor auf und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimplerItrixStandaloneEA, klicke auf Weiter, Weiter und Fertigstellen. Jetzt können wir alles löschen, was sich oberhalb der On Tick Funktion befindet. Und auch die zwei Kommentarzeilen werden entfernt. Wir beginnen damit, dass wir mit der include Funktion die Datei Trade.mqh importieren, die in MQL5 bereits enthalten ist. Danach können wir eine Instanz von CTrade erstellen. Die bekommt den Namen trade. Und diese Instanz werden wir später nutzen, um Positionen zu eröffnen. Innerhalb der OnTick Funktion berechnen wir uns zunächst einmal den Ask Preis und den Bid Preis. Wir brauchen beide Preise, wenn wir eine Position eröffnen wollen. Den Ask Preis erhalten wir mit der Funktion SymbolInfoDouble für das aktuelle Symbol auf dem Chart. Und wir nutzen SYMBOL_ASK um den Ask Preis zu ermitteln. Die Zeile hier ist quasi identisch. Aber wir nutzen hier SAYBOL_BID um den Bid Preis zu ermitteln. Und mit NormalizeDouble und Unterstrich Digits stellen wir sicher, dass die richtige Anzahl von Nachkommastellen ermittelt wird. Dieses Währungspaar hätte drei und dieses fünf Nachkommastellen. Und die Funktion Unterstrich Digits ermittelt die Anzahl der Ziffern nach dem Dezimalpunkt so, dass das für jedes Währungspaar passt. Im nächsten Schritt erstellen wir uns ein Preis-Array. Das geht mit der Funktion MqlRates. Wir vergeben hier den Namen PriceInfo. Dann sortieren wir das Array von der aktuellen Kerze an abwärts. Das übernimmt für uns die Funktion ArraySetAsSeries. Und mit CopyRates füllen wir unser PriceInfo Array für das aktuelle Symbol, also das Währungspaar auf dem Chart und die aktuell eingestellte Zeiteinheit auf diesem Chart. Wir starten mit der aktuellen Kerze null. Und uns reichen die Preisdaten für drei Kerzen. Für unser Signal erstellen wir hier noch eine gleichnamige Variable vom Typ string. Die kann Textketten aufnehmen. Aber hier ist noch kein Wert zugewiesen, denn den möchten wir ja noch ermitteln. Dafür brauchen wir ein zweites Array. Auch das ist vom Typ double, damit es Nachkommastellen verarbeiten kann. Wir definieren unseren aktuellen Expert Advisor mit der Funktion iTriX. Die ist in MQL5 eingebaut und benötigt als Parameter wiederum das aktuelle Währungspaar, die aktuell auf dem Chart ausgewählte Zeiteinheit. Wir berechnen das Ganze für 14 Kerzen und zwar anhand der Schlusskurse. Wenn Sie im Meta Trader einmal auf Einfügen, Indikatoren, Triple Exponential Moving Averages klicken, dann sehen Sie auch hier die 14 und den Schlusskurs. Und das ist auch das, was wir hier verwenden. Auch das zweite Array wird mit ArraySetAsSeries abwärts von der aktuellen Kerze an sortiert. Und jetzt nutzen wir den Befehl CopyBuffer um anhand der iTriX Definition, die wir hier oben getroffen haben, unser Array mit Preisdaten zu füllen. Und zwar für Buffer null. Das ist diese rote Linie hier. Auch hier starten wir mit der aktuellen Kerze null und kopieren uns die Preisdaten für drei Kerzen in unser Preis Array. Jetzt können wir den aktuellen Wert berechnen, indem wir auf Kerze null in unserem Preis Array zugreifen. Das Ergebnis wird der Variable iTriXValue zugewiesen. Und immer wenn der Wert über null liegt, dann möchten wir kaufen. Wir prüfen das ab, indem wir eine if Abfrage machen. Und wenn iTriXValue größer ist als null, dann hätten wir ein Kaufsignal und weisen das Wort kaufen unserer Signal Variable zu. Im anderen Fall, wenn der iTriXValue kleiner ist als null, dann wäre das ein verkaufen Signal. Also weisen wir das Wort verkaufen unserem Signal zu. Wenn unser Signal also verkaufen ist, und uns die Funktion PositionsTotal einen Wert kleiner eins zurückliefert, also wenn wir keine geöffneten Positionen haben, dann nutzen wir trade. Sell um zehn Microlot zu verkaufen. Andernfalls, wir kaufen zehn Microlot, wenn unser Signal auf kaufen steht und wir ebenfalls keine geöffneten Positionen haben. Das tun wir, indem wir trade.Buy nutzen, um zehn Microlot zu kaufen. Zum Schluss erstellen wir noch eine Chart Ausgabe. Die wird uns mit dem Comment Befehl den Text: Das aktuelle Signal ist, gefolgt von unserem ermittelten Signal, direkt auf dem Chart anzeigen. Das war es soweit. Wenn Sie fertig sind, dann können Sie hier oben auf Kompilieren klicken oder die F7 Taste drücken. Das hat hier ohne Fehler funktioniert. Und darum klicken wir jetzt hier oder drücken F4 um in den Meta Trader zurückzukehren. Und im Meta Trader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R. Hier wählen wir jetzt unsere neu erstellte Datei SimplerItrixStandaloneEA aus. Aktivieren hier die Visualisierungsoption und starten unseren Test. Und schon haben wir eine erste geöffnete Position. Hier oben werden kaufen und verkaufen Signale ausgegeben. Und Sie haben in diesem kurzen Video gelernt, wie Sie für den Triple Exponential Moving Averages ein eigenständig handelsfähiges, automatisiertes System für den Meta Trader erstellen können. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5.
Download “MQL5 TUTORIAL DEUTSCH - SIMPLER ITRIX STANDALONE EXPERT ADVISOR” SimplerItrixStandaloneEA.txt – 129-mal heruntergeladen – 1,79 kB