MQL5 TUTORIAL GRUNDLAGEN – 80 SIMPLER SPREAD CHECKER

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man mit MQL5 den Spread für eine bestimmte Anzahl von Kerzen ermitteln kann, also lassen Sie uns einmal schauen, wie man so etwas mit dem Metatrader programmiert. Um das zu tun, klicken Sie im Metatrader bitte auf dieses kleine Symbol 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 einmal den Namen SimplerSpreadChecker, klicke auf weiter, weiter und fertigstellen. Jetzt kann hier alles oberhalb der OnTick-Funktion gelöscht werden und auch die zwei Kommentarzeilen können weg. Wir starten damit, dass wir uns eine benutzerdefinierte input-Variable generieren. Die kann man durch diesen modifier input während der Laufzeit verändern, ohne dass man neu kompilieren muss. Es handelt sich um eine integer-Variable für die Anzahl der Kerzen. Der Initialwert ist 5. Innerhalb der OnTick-Funktion erstellen wir uns eine Variable für den niedrigsten Spread. Die ist vom Typ double und heißt hier LowestSpreadValue. Der erste Wert für die Initialisierung ist 100.000, also ein sehr hoher Wert. Das wird auf jeden Fall nicht der niedrigste Wert den wir sehen. Danach erstellen wir eine weitere Variable für den höchsten Spread-Wert. Hier nutzen wir als Initialwert die 0 und das wird mich Sicherheit auch nicht der höchste Spread sein. Danach erstellen wir uns ein Array für Preisdaten. Das nennen wir PriceInformation und mit dieser Funktion hier MqlRates bekommen wir die Informationen für Preise, Volumen und Spread für jede einzelne Kerze. Danach sortieren wir das Array von der aktuellen Kerzen an abwärts. Das übernimmt die Funktion ArraySetAsSeries. Und jetzt füllen wir es noch mit Daten. In meinem Fall mit CopyRates für das aktuelle Symbol, also das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Wir starten mit der aktuellen Kerze 0 und möchten gerne unser Array mit Preisdaten für 200 Kerzen füllen und die Daten im PriceInformation-Array speichern. Um jetzt den kerzenbezogenen Spread zu ermitteln gehen wir die Kerzen mit einem Vorloop, also einer Vorschleife durch. Wir starten damit, dass wir mit der Anzahl der Kerzen, also der die wir hier oben definiert haben, beginnen und solange wie die aktuelle Kerzennummer größer oder gleich 0 ist, führen wir die Vorschleife aus und zählen runter. Um den Spread für eine Kerze zu berechnen, greifen wir dann auf die Nummer der aktuellen Kerze in unserem PriceInformation-Array zu und mit der Eigenschaft .spread bekommen wir die kerzenbezogene Information dazu und die speichern wir in unserer Variable CurrentCandle-Spread. Danach erstellen wir uns eine Journalausgabe. Das übernimmt die Print-Funktion. Die wird uns im Journal anzeigen: aktueller Spread für Kerze gefolgt von der Kerzennummer. Danach folgt ein Doppelpunkt und dann kommt der aktuelle kerzenbezogene Spread-Wert. Jetzt prüfen wir, ob der Spread für die aktuelle Kerze kleiner ist, als der bisherige niedrigste Spread-Wert und wenn das so ist, dann weisen wir diesen Wert unserer Variable für den niedrigsten Spread-Wert zu. Im anderen Fall, wenn der aktuelle Wert größer ist, als der aktuell höchste Spread-Wert, dann speichern wir diesen Wert und weisen ihn der Variable HighestSpreadValue zu. Jetzt erstellen wir uns mit Comment noch eine Chartausgabe. Die wird uns den Satz „Niedrigster Spread war“ und „Höchster Spread war“ gefolgt von den ermittelten Werten auf dem Chart anzeigen. Zum Schluss müssen wir noch die Vorschleife beenden und das hier ist das Ende von der OnTick-Funktion. Das wars also so weit. Und wenn Sie keine Ahnung haben, was alle diese Codezeilen bewirken sollen oder wenn Ihnen das zu schnell ging, dann möchten Sie sich vielleicht zunächst die anderen Videos aus dieser Grundlagenserie anschauen, vielleicht ist aber auch der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite. Und auch das hier war wieder ein Video, dass aus einer Anregung eines Premiumkurs-Teilnehmers entstanden ist. Und wenn Sie schon Mitglied im Premiumkurs sind und eine Idee für so ein Video haben, dann schicken Sie mir doch einfach ein E-Mail. Für den Moment klicken wir auf kompilieren oder drücken die F7-Taste. Das hat bei mir ohne Fehler funktioniert und wenn das bei Ihnen auch so ist, dann können Sie jetzt hier oben 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 Steuerung und R. Bitte wählen Sie hier die neu erstellte Datei SimplerSpreadChecker.ex5 aus, markieren Sie hier die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft der Expert Advisor auch schon los. Ich habe mal ein etwas exotischen Währungspaar genommen. Man sieht hier, dass sich die Werte verändern. Und wenn man auf die Reiterkarte Journal klickt, dann sehen wir auch die Werte für die einzelnen Kerzen. Wir verlangsamen das jetzt mal. Hier wird uns angegeben, dass der niedrigsten Spread 1.429 war. Das ist hier der eingetragene Wert für die Kerze 5. Der höchste Spread war 2.694. Das trifft für Kerze 3 zu und ist auch der höchste Wert. Unser Expert Advisor funktioniert also wie erwartet. Und Sie haben in diesem kurzen Video gelernt, wie Sie mit MQL5 die Spread-Werte für einzelne Kerzen berechnen können. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5.