MQL5 Tutorial - Automatisch traden mit Metatrader5

MQL5 TUTORIAL GRUNDLAGEN – 91 SIMPLES CHANNEL OBJEKT


Listen Later

In diesem Video wollen wir uns einmal anschauen, wie man ein Channel-Objekt darstellen kann. Dieser Channel zeigt hier die niedrigste und die höchste Kerze. Also lassen Sie uns einmal schauen, wie man so etwas in MQL5 programmieren kann. Um das zu tun, 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 einmal den Namen SimplesChannelObjekt, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden und auch die zwei Kommentarzeilen können weg. Wir starten mit einer Funktion die uns die Anzahl der Kerzen auf dem Chart zurückliefern wird. Das geht über ChartGetInteger. Der erste Parameter hier steht für die Chart-ID. Parameter Nummer 2, CHART_FIRST_VISIBLE_BAR, liefert uns die Nummer der ersten sichtbaren Balken auf dem Chart, ich denke hiermit sind Kerzen gemeint. Der letzte Parameter steht für das Unterfenster. In unserem Fall verwenden wir Unterfenster 0. Das bedeutet, dass ist das Fenster mit den Kerzen. Wenn Sie hin und wieder mit Oszillatoren arbeiten, dann wissen Sie, dass diese Oszillatoren in einem weiteren Fenster dargestellt werden. Das hat dann eine andere ID. Jetzt erstellen wir uns eine Variable für die Nummer der niedrigsten Kerze und ein dazu passendes Array mit dem Namen Low, dass die Preise für die niedrigsten Kerzen aufnehmen kann. Das Ganze wiederholen wir noch einmal für die Variable der höchsten Kerze und das dazu passende Array. Im Anschluss nutzen wir ArraySetAsSeries, um unser Array von der aktuellen Kerze an abwärts zu sortieren. Auch das wiederholen wir nochmal für das Array mit den Höchstpreisen. Und nun können wir unser Array mit Daten füllen. Das übernimmt die Funktion die CopyLow für das aktuelle Währungspaar auf dem Chart und für die auf dem Chart ausgewählte Zeiteinheit. Wir starten von der aktuellen Kerze 0. Wir hätten gerne die Preise für alle Kerzen auf dem Chart und möchten diese in unserem Array Low speichern. Wenn man CopyLow einmal markiert und die F1-Taste drückt, dann sieht man, dass wir hier die Minimalpreise der Bars, also der Kerzen für das angegeben Paar bekommen. Das Ganze gibt es auch für die Höchstpreise der Kerzen. Die entsprechende Funktion heißt CopyHigh. Auch die nutzen wir für das aktuelle Währungspaar auf dem Chart und die auf dem Chart angegeben Zeiteinheit, von der aktuellen Kerze 0, für alle Kerzen auf dem Chart, um die Höchstpreise in unser Array mit dem Namen High zu kopieren. Und jetzt ermitteln wir die höchste aller Kerzen indem wir diese Funktion hier nutzen. Die heißt ArrayMaximum. Die liefert uns das maximale Element in unserem Array. Das Ganze gibt’s auch noch mal als ArrayMinimum für die niedrigste Kerze. Und diese Parameter hier bedeuten: Bitte such im Array mit dem Namen aus Parameter 1 von der aktuellen Kerze 0 für alle Kerzen auf dem Chart das Maximum bzw. hier das Minimum. Um unser Kanalobjekt zu zeichnen benötigen wir jetzt die Preisinformation die wir über MqlRates bekommen. MqlRates bewahrt diverse Informationen zu den Kerzenpreisen auf. Unter anderem auch die Zeitpunkte und die brauchen wir, um das Objekt zu zeichnen. Auch dieses Array wird mit ArraySetAsSeries von der aktuellen Kerze an abwärts sortiert. Und dann befüllen wir es mit der Hilfe der Funktion CopyRates mit Daten für das aktuelle Währungspaar auf dem Chart und die dort ausgewählte Zeiteinheit. Möchten wir startend mit Kerze 0 für alle Kerzen auf dem Chart die Daten in unser PriceInformation-Array kopieren. Damit haben wir soweit alles was wir brauchen, um das Objekt zu zeichnen, aber bevor wir das tun, möchten wir erst eventuell vorhandene alte Objekte löschen. Das übernimmt die Funktion ObjectDelete. Für das aktuelle Währungspaar werden alle alten Objekte mit dem SimpleChannelObject entfernt. Beim ersten Aufruf werden wir so ein Objekt nicht haben,
...more
View all episodesView all episodes
Download on the App Store

MQL5 Tutorial - Automatisch traden mit Metatrader5By MQL5 Tutorial - Automatisch traden mit Metatrader5