Das was hier läuft und so verwirrend aussieht ist der Ichimoku Kinko Hyo Indikator. Einer der kompliziertesten Indikatoren, die man so findet. Und wir wollen uns einmal anschauen, wie man diese rote Linie hier, den Tenkan sen berechnen kann. Entsprechend geht das natürlich auch für alle anderen Signale, die hier im Ichimoku Kinku Hyo vorhanden sind. In unserem Fall erzeugen wir hier Verkaufen und Kaufen Signale. Je nachdem, ob die rote Linie oberhalb oder unterhalb der Preisdaten ist. Und entsprechend werden hier auch automatische Positionen eröffnet. Schauen wir uns also mal an, wie das geht. Um das zu programmieren, klicken Sie im Metatrader bitte auf diesen kleinen Button hier oder drücken Sie die F4 Taste. Das öffnet dann hier den Metaeditor. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimplerTenkansenStandaloneEA, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion gelöscht werden. Auch die zwei Kommentarzeilen werden entfernt. Und wir starten mit dem include Kommando und importieren die Datei Trade.mqh. Die gehört mit zu MQL5. Diese Instanz werden wir später nutzen, um Positionen zu eröffnen. Innerhalb der OnTick Funktion berechnen wir zunächst den Ask-Preis und den Bid Preis. Das macht die Funktion SybolInfoDouble. Die benötigt als Parameter das aktuelle Währungspaar auf dem Chart. Und mit SYMBOL_ASK berechnen wir den Ask-Preis. Das Ganze geht noch mal mit Symbol_Bid für den Bid Preis. Und mit NormalizeDouble_Digits sorgen dafür, dass die passende Anzahl von Nachkommastellen für das jeweilige Währungspaar berechnet wird. Das können nämlich sowohl drei, als auch fünf Nachkommastellen sein. Danach erstellen wir uns eine Variable für das Signal. Die ist vom Typ string. Aber wir weisen zunächst noch keinen Wert zu. Der wird noch ermittelt. Mit der Funktion MqlRates erstellen wir uns ein Preis Array für die Price Informationen. Denn MqlRates bewahrt die Informationen über Preise, Volumen und Spread auf. Danach sortieren wir das Array von der aktuellen Kerze an abwärts. Das geht mit ArraySetAsSeries. Jetzt kopieren wir uns noch Preisdaten in das Array. Dazu nutzen wir ja CopyRates für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Wir starten mit der aktuellen Kerze null, kopieren uns die Preisdaten für drei Kerzen und speichern das Ergebnis in unserem PriceInformation Array. Jetzt brauchen wir noch ein Array. Und zwar für den Tenkansen. Und wir nutzen die MQL5 Funktion iIchimoku. Wenn man die mal markiert und F1 drückt, dann sieht man, dass man damit unterschiedliche Dinge berechnen kann. Der Tenkan sen, der Kijun sen, der senkou span b. Das sind alles unterschiedliche Puffer. Je nachdem, welchen Pufferwert man nutzt, bekommt man für Puffer null den Tenkan sen, für Puffer eins den Kijun sen und so weiter. Die iIchimoku Funktion benötigt einige Parameter. Der erste Parameter ist für das aktuelle Währungspaar. Der zweite ist die aktuelle Zeiteinheit auf dem Chart. Und diese drei Werte, 9; 26 und 52, die sieht man auch, wenn man auf Einfügen, Indikatoren, Tendenz Ichimoku Kinko Hyo klickt. Der Tenkan sen hat einen Wert von nein, der Kijun sen hat einen Wert von 26. Und der Senkou Span B hat einen Wert von 52. Und das ist exakt das, was wir auch hier verwenden. Unser Array wird wieder mit ArraySetAsSeries von der aktuellen Kerze an abwärts sortiert. Und jetzt nutzen wir CopyBuffer, um anhand der IchimokuDefinition, die wir hier oben getroffen haben, unser TenkansenArray mit Preisdaten zu füllen. Und zwar für Buffer null von der aktuellen Kerze null, für drei Kerzen. Danach können wir den Wert für die aktuelle Kerze berechnen, indem wir auf Kerze null in unserem TenkansenArray zugreifen. In unserem Beispiel möchten wir dann verkaufen, wenn der Tenkansen Wert größer ist, als der Schlusskurs von Kerze eins. In dem Fall weisen wir den Begriff Verkaufen unserer Signal Variable zu.