MQL5 Tutorial - Automatisch traden mit Metatrader5

MQL5 TUTORIAL GRUNDLAGEN – 67 SIMPLE VERTIKALE LINIE


Listen Later

In diesem Video wollen wir uns einmal anschauen, wie man eine vertikale Linie zeichnen kann, wenn man eine Position eröffnet. In diesem Fall eröffnen wir Sell Positionen bei der höchsten von 100 Kerzen auf dem Chart. Also lassen Sie uns einmal anschauen, 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 mal den Namen SimpleVertikaleLinie, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion gelöscht werden. Und auch die zwei Kommentarzeilen hier werden entfernt. Wir starten damit, dass wir mitteln include hier oben die Datei Trade.mqh importieren. Die enthält eine Klasse mit dem Namen CTrade. Und davon erstellen wir uns jetzt eine Instanz mit dem Namen trade, die vereinfachte Handelsfunktionen bereitstellen wird. In der OnTick Funktion ermitteln wir zunächst den Bid Preis. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir nutzen SYMBOL_BID, bitte alles in Großbuchstaben und mit NormalizeDouble und _Digits sorgen wir dafür, dass die richtige Nummer von Nachkommastellen für das jeweilige Währungspaar automatisch berechnet wird. Nun erstellen wir ein Array. Und das übernimmt die Funktion MqlRates. Da wir in diesem Array Preisdaten speichern möchten. Da nutzen wir ArraySetAsSeries für unser neu erstelltes Array, um es von der aktuellen Kerze an abwärts zu sortieren. Und mit CopyRates füllen wir unser neu erstelltes Array für das aktuelle Währungspaar und die auf dem Chart ausgewählte Zeiteinheit, von der aktuellen Kerze null, mit Preisdaten für 100 Kerzen und speichern das Ergebnis in unserem PriceInformation Array. Damit wir bei der höchsten der letzten 100 Kerzen verkaufen können, erstellen wir uns zunächst eine integer Variable mit dem Namen HighestCandle. Außerdem brauche ich noch ein Array mit dem Namen High. Das wird die Werte für die Höchstpreise der letzten 100 Kerzen aufnehmen. Auch hier nutzen wir wieder ArraySetAsSeries, um unser Array von der aktuellen Kerze an abwärts zu sortieren. Und jetzt können wir eine Funktion nutzen mit dem Namen CopyHigh. Die wird uns die Höchstpreise für das aktuelle Währungspaar und die aktuell auf dem Chart ausgewählte Zeiteinheit von der aktuellen Kerze null, für 100 Kerzen in unser High Array kopieren. Um die höchste Kerze zu ermitteln nutzen wir eine Funktion mit dem Namen ArrayMaximum. Die wird innerhalb unseres Arrays High von der aktuellen Kerze an für 100 Kerzen nach dem Höchstpreis suchen und liefert uns dann die Nummer der höchsten Kerze zurück. Und wenn die höchste Kerze, die Kerze null, also die aktuelle Kerze ist und uns die Funktion PositonsTotal einen Wert von null zurückliefert, dann bedeutet das, dass wir ein Signal haben und keine Position offen ist. Und in dem Fall nutzen wir trade.Sell um zehn Mikrolot zu verkaufen. Danach möchten wir eine benutzerdefinierte Funktion aufrufen, um eine vertikale Linie zu zeichnen. Die existiert noch nicht, also müssen wir die gleich noch programmieren. Zuvor nutzen wir noch den Comment Befehl, um uns auf dem Chart den Text: Highest Candle… und die höchste ermittelte Kerze ausgeben zu lassen. Das ist dann der Wert, den Sie hier oben links in der Ecke sehen. Unsere benutzerdefinierte Funktion hat den Namen DrawVLine. Wir nutzen hier void, denn wir haben keine Rückgabewerte. Zunächst nutzen wir ObjectDelete für das aktuelle Währungspaar auf dem Chart, um vielleicht vorher gezeichnete Linien zu entfernen. Denn wir möchten immer nur eine Linie hier auf dem Chart sehen für die jeweils letzte eröffnete Position. Um die Linie zu erstellen nutzen wir ObjectCreate für das aktuelle Währungspaar auf dem Chart. Der Name von unserem Objekt wird Line, also Linie sein. Der Objekttyp ist OBJ_VLINE. Die Linie soll auf dem Hauptchart,
...more
View all episodesView all episodes
Download on the App Store

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