MQL5 TUTORIAL GRUNDLAGEN – 63 SIMPLER CHECK FUER NEUE KERZEN

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man mit einem Expert Advisor für den Metatrader5 herausfinden kann, ob eine neue Kerze auf dem Chart aufgetaucht ist. Schauen wir uns also einmal an, wie man das macht. Dazu klicken Sie im Metatrader bitte auf dieses kleine Symbol hier oben oder drücken Sie 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 mal den Namen SimplerCheckForNewBars, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion gelöscht werden. Und auch die zwei Kommentarzeilen hier können weg. Wir starten damit, dass wir die aktuelle Anzahl der Kerzen auf dem Chart berechnen. Das übernimmt die eingebaute MQL5 Funktion Bars. Die benötigt hier zwei Parameter für das aktuelle Währungspaar auf dem Chart und die aktuell auf dem Chart eingestellte Zeiteinheit. Und die wird uns einen integer Wert, also einen ganzzahligen Wert für die Kerzenanzahl liefern. Danach erstellen wir eine string Variable. Die heißt NeueKerzeAufgetaucht. Wir weisen hier aber noch keinen Wert zu, denn den möchten wir ja gleich noch ermitteln. Und um das zu tun, rufen wir eine benutzerdefinierte Funktion mit dem Namen PruefeObNeueKerze auf und übergeben ihr die Kerzenanzahl, die wir hier oben berechnet haben. Diese Funktion hier existiert noch nicht, die müssen wir gleich programmieren. Aber damit wir auch was sehen, möchten wir gerne mit dem Comment Befehl hier noch eine Chartausgabe erstellen. Die wird uns anzeigen: Kerzen auf dem Chart… gefolgt von dieser Berechnung. Da wir die aber hier oben schon machen, können wir das hier auch austauschen. Und in einer neuen Zeile soll stehen, ob eine neue Kerze aufgetaucht ist. Und dazu erstellen wir jetzt die entsprechende Funktion. Unsere Funktion soll den Namen PruefeObNeueKerze haben. Die wird uns einen Text zurückgeben und übernimmt hier als Parameter die Kerzenanzahl, die wir bereits oben berechnet haben. Im ersten Schritt erstellen wir uns eine statische integer Variable für die letzte Anzahl der Kerzen. So eine statische Variable ist solange gültig, wie diese Funktion hier existiert. Und wir nutzen sie, um lokal innerhalb der Funktion die letzte Kerzenanzahl seit dem letzten Aufruf der Funktion vorzuhalten. Danach erstellen wir uns eine string Variable mit dem Namen NeueKerzeVorhanden. Der Standardwert ist, dass wir keine neue Kerze haben. Und danach prüfen wir, ob die aktuelle Kerzenanzahl größer ist als die Kerzenanzahl beim letzten Aufruf. Sollte das der Fall sein, dann geben wir unserem Rückgabewert hier einen positiven Wert: JA, EINE NEUE KERZE IST AUFGETAUCHT. Und für den nächsten Aufruf unserr Funktion weisen wir jetzt die aktuelle Kerzenanzahl dem Wert für die letzte Kerzenanzahl zu. Denn der wird ja beim nächsten Mal wieder benötigt. Zum Schluss setzten wir noch unsere Klammer und geben den ermittelten Wert zurück an die Hauptfunktion. Das machen wir mit dem return Befehl. Bitte vergessen Sie nicht hier die letzte schließende Klammer. Und soweit war es das jetzt auch. Wenn Sie nicht wissen, was diese ganzen Funktionen hier machen oder wenn Ihnen das zu schnell ging, dann möchten Sie sich vielleicht zunächst eines der anderen Videos aus der Grundlagenserie einmal anschauen. Oder vielleicht ist auch der Premiumkurs auf unserer Webseite interessant für Sie. Das hier war übrigens ein Vorschlag von einem Premiumkurs Mitglied. Und wenn Sie bereits Mitglied im Premiumkurs sind und eine Idee für so ein Video haben, dann schicken Sie mir doch einfach ein E-Mail. Für dem Moment klicken wir hier mal auf Kompilieren oder drücken die F7 Taste. Hier gibt es einen Fehler. Ich habe hier eine Klammer zu viel. Die habe ich beim Löschen vergessen. Wiederholen wir den Kompilieren Vorgang. Dann geht das hier ohne Fehler. Und wenn das bei Ihnen auch der Fall ist, dann können Sie jetzt hier oben 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. Das ruft dann hier den Strategietester auf. Bitte wählen Sie hier die neue Datei SimplerCheckForNewBars.ex5 aus. Markieren Sie hier unten die Option für den visuellen Modus und starten Sie Ihren Test. So sieht das Ganze dann im laufenden Betrieb aus. Wir sehen hier oben, dass unser Zähler funktioniert und immer, wenn eine neue Kerze auf der rechten Seite auf dem Chart auftaucht, dann ändert sich auch hier unser Text. Unser selbsterstellter Expert Advisor funktioniert also. Und Sie haben in diesem kurzen Video gelernt, wie Sie eine benutzerdefinierte Funktion zur Ermittlung von neuen Kerzen erstellen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier, in MQL5.