MQL5 TUTORIAL GRUNDLAGEN – 35 SO ERMITTELN SIE DIE NIEDRIGSTE KERZE

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man die Niedrigste aus 100 Kerzen berechnen kann. Wenn wir hier in das Chart hineinzoomen, dann sehen wir hier diese magentafarbene Linie, die wird jeweils unterhalb der niedrigsten Preise der letzten 100 Kerzen gezeichnet. Lassen Sie uns also einmal herausfinden, wie man so etwas mit MQL5 programmieren kann. Um das zu tun klicken wir im Meta-Trader auf dieses kleine Symbol hier oder drücken die F4-Taste. Das ruft dann hier den Meta-Editor auf, und hier klicken wir auf Datei, neue Datei, Expert Advisor aus Vorlage, weiter. Ich vergebe hier einmal den Namen SimpleNiedrigsteKerze, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden. Auch die zwei Kommentarzeilen werden entfernt. Wir starten, indem wir ein Array für Preisdaten erstellen. Das übernimmt für uns die Funktion MqlRates. Der Name von unserem Array wird PriceInformation sein. Mit Hilfe der Funktion ArraySetAsSeries wird dieses Array jetzt von der aktuelle Kerze an abwärts sortiert. Danach füllen wir das Array mit Preisdaten. Das übernimmt die Funktion CopyRates. Für das aktuelle Währungspaar auf dem Chart und die aktuelle, auf diesem Chart ausgewählte, Zeiteinheit. Wir starten bei Kerze 0, und wir benötigen die Preisdaten für 100 Kerzen, die wir in unserem Array speichern. Außerdem benötigen wir eine Variable für die niedrigste Kerze. Die wird LowestCandle heißen. Der Datentyp ist in diesem Fall ganzzahlig. Denn, wir werden nur die Nummer der letzten Kerze erhalten. Den Preis müssen wir uns dann später noch errechnen. Auch hier nutzen wir ArraySetAsSeries, um unser Array mit dem Namen Low von der aktuellen Kerze an abwärts zu sortieren. Und jetzt nutzen wir eine Funktion mit dem Namen CopyLow. Die liefert uns die Minimalpreise der angegeben Periode für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Wir starten bei der Kerze 0. Das ist die aktuelle Kerze. Kopieren uns die Preisdaten von 100 Kerzen in unser Array mit dem Namen Low. Und jetzt können wir die niedrigste Kerze ermitteln, indem wir eine Funktion mit dem Namen ArrayMinimum nutzen. Die sucht nach dem minimalsten Element in unserem Array. Und zwar in dem Array mit dem Namen Low. Von Kerze 0 bis Kerze 100. Damit hätten wir jetzt die Nummer der niedrigsten Kerze ermittelt. Und das ermöglicht uns, mit dem Befehl ObjectCreate, ein Objekt zu erstellen. Für das aktuelle Währungspaar. Das Objekt soll den Namen haben, Line1. Das steht für Linie 1. Wir nutzen hier Objekt HLINE. Wenn man das einmal markiert und die F1-Taste drückt, dann sieht man dass das für die horizontale Linie steht. Es gibt noch eine ganze Reihe von anderen Objekttypen, die man hier verwenden könnte. Je nach dem welches Objekt Sie nutzen, haben Sie unterschiedliche Parameter, die angegeben werden müssen. In unserem Fall geben wir an, auf welchem Chart das Objekt gezeichnet werden soll. Wir nutzen hier eine Null für das Hauptchart. Oszillatoren werden oft in einem separaten Fenster unter dem Hauptchart gezeichnet. Das möchten wir nicht. Gezeichnet werden soll die horizontale Linie ab der aktuellen Kerze 0, und zwar auf dem niedrigsten Preis, der niedrigsten Kerze aus unserem PriceInformationArray. Objekte haben Eigenschaften, die man verändern kann. In unserem Fall nutzen wir ObjectSetInteger. Auch hier müssen wir im ersten Parameter wieder die Chart ID für unser Hauptfenster angeben, also eine 0. Das hier ist der Objektname. Und die Objekteigenschaft, die wir ändern möchten, ist die Farbe. Auch da gibt es eine Auswahl von unterschiedlichsten Eigenschaften, die man sich in der Hilfe anschauen kann. Und der Wert für unsere Farbe soll clrMagenta sein. Das ist eine von vielen vordefinierten Farben, die man hier nutzen kann. Für die Objektbreite funktioniert das ganz ähnlich. Auch hier sind die ersten zwei Parameter identisch. In diesem Fall setzen wir aber die Eigenschaft für die Objektbreite und nutzen einen Wert von 3 Pixeln. Das macht die Linie etwas dicker. Um ein Objekt zu bewegen nutzen wir ObjectMove. Für das aktuelle Währungspaar auf dem Chart. Und das Objekt mit dem Namen Line1, möchten wir auf dem Hauptchart, angefangen von Kerze 0, die Linie auf den niedrigsten Preis, von der niedrigsten Kerze in unserem PriceInformationArray zeichnen. Falls Sie sich wundern, warum wir einem ObjectMove und einmal ObjectCreate nutzen. ObjectCreate wird verwendet wenn es das Objekt noch nicht gibt. Und ObjectMove würde ein existierendes Objekt bewegen. Für dieses einfache Beispiel soll das so reichen. Fügen wir noch eine Ausgabe auf dem Chart hinzu. Das übernimmt die Comment-Funktion. Die würde uns ausgeben: niedrigste Kerze gefolgt von der Nummer der niedrigsten Kerze. Und danach den niedrigsten Preis. Der wird mit diesem Ausdruck hier ermittelt. Bitte vergessen Sie nicht hier unten die letzte schließende Klammer zu setzen. Und falls Ihnen das hier zu viel war oder sie nicht wissen wie der Code funktioniert, dann möchte Sie sich vielleicht erst einmal die anderen Grundlagenvideos aus dieser Serie anschauen oder vielleicht ist auch der Premiumkurs für Sie interessant. Den gibt’s auf der Webseite zu finden. Für jetzt klicken wir hier mal auf kompilieren. Offensichtlich habe ich hier einen Fehler gemacht. Ich verwende hier ein Array mit dem Namen Low, das ich gar nicht erstellt habe. Holen wir das kurz nach. Kompilieren erneut. Und diesmal ist das ohne Fehler abgegangen. Und wenn das bei Ihnen auch so ist, dann klicken sie hier oben auf dieses kleine Symbol oder drücken Sie die F4-Taste, um in den Meta Trader zurückzukehren. Und im Meta Trader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Steuerung und R. Hier wählen wir jetzt die neu erstellte Datei SimpleNiedrigsteKerze.ex5 aus. Bitte markieren Sie hier die Option für die Visualisierung und starten Sie Ihren Test. Und so sieht unsere Expert Advisor im laufenden Betrieb aus. Unterhalb der niedrigsten Kerze wird die Linie hier gezeichnet. Die wird auch nachgezogen. Unser Expert Advisor funktioniert also. Und Sie haben in diesem kurzen Video gelernt, wie Sie die niedrigste der letzten 100 Kerzen berechnen können, wie man eine horizontale Linie unter diesen Preis zeichnen kann, und Sie haben das alles selbst programmiert mit diesen paar Zeilen hier in MQL5.