MQL4 TUTORIAL Grundlagen – 67 SIMPLE VERTIKALE LINIE

video
play-sharp-fill

In diesem Video wollen wir einmal einen Expert Advisor erstellen der in der Lage ist, bei jeder geöffneten Sell Position so eine vertikale Linie hier zu zeichnen. Der Expert Advisor eröffnet eine Sell Position, wenn wir die höchste der letzten 100 Kerzen erreicht haben. Also lassen Sie uns einmal schauen, wie man so etwas in MQL4 programmieren kann. Um das zu tun, klicken Sie bitte im Metatrader auf dieses kleine Symbol 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 SimpleVertikaleLinie, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir zunächst einmal die höchste der letzten 100 Kerzen finden wollen. Dazu erstellen wir hier eine Variable mit dem Namen HighestCandle. Und die Funktion iHighest kann das für uns herausfinden für das aktuelle Währungspaar auf dem Chart und die auf dem Chart aktuell genutzte Zeiteinheit. Wir nutzen hier MODE_HIGH, bitte alles in Großbuchstaben, denn wir wollen ja die höchste Kerze. Und zwar aus den letzten 100 Kerzen. Und wir starten mit der Kerze Nummer null, das ist die aktuelle Kerze. Und falls die HighestCandle der Nummer null entspricht, dann ist es die aktuelle Kerze. Prüfen wir auch noch, ob OrdersTotal uns einen Rückgabewert von null zurückliefert. Denn, nur dann haben wir keine geöffnete Position. Und das ist der Fall, wenn wir mit OrderSend eine Position eröffnen möchten für das aktuelle Währungspaar, auf dem wir uns befinden möchten wir gerne zehn Mikrolot verkaufen. Und damit unsere Linie auch gezeichnet wird, rufen wir hier eine benutzerdefinierte Funktion mit dem Namen DrawVLine auf und übergeben ihr die Nummer der höchsten Kerze. Diese Funktion existiert noch nicht. Darum müssen wir sie gleich programmieren. Vorher möchte ich aber gerne noch eine Kommentarfunktion nutzen, um auf dem Chart eine Ausgabe zu erstellen. Die wird uns zeigen den Text: Die höchste der letzten 100 Kerzen ist Kerze Nummer… gefolgt von der Nummer der ermittelten Kerze. Und darunter den Text: Der höchste Preis ist… gefolgt von dem ermittelten Preis. Kommen wir zu unserer benutzerdefinierten Funktion. Die nutzt keine Rückgabewerte. Darum verwenden wir hier void. Der Name der Funktion ist DrawVLine. Und die Funktion erhält hier als Parameter die Nummer der höchsten Kerze, die wir hier oben übergeben haben. Im ersten Schritt nutzen wir hier ObjectDelete um ein Objekt mit dem Namen Line zu löschen, sofern es schon existiert. Denn wir möchten hier immer nur eine vertikale Linie auf dem Chart sehen. Darum wird jetzt die alte Linie hier gelöscht und eine neue erstellt. Und um dieses Objekt zu erstellen, nutzen wir die Funktion ObjectCreate. Das Objekt bekommt den Namen Line für Linie. Und wir verwenden den Objekttyp OBJ_VLINE. Wenn man den einmal markiert und die F1 Taste drückt, dann sehen wir, dass es hier jede Menge unterschiedlicher Objekttypen gibt, die man zeichnen kann. Wir nutzen in diesem Fall das hier. Für eine vertikale Linie, die auf dem Hauptchart erstellt werden soll. Das hier wäre das Hauptchart. Hier unten gibt es ein Indikatorchart. Das verwenden wir in diesem Fall nicht. Aber für den MACD würde das unterhalb der Kerzen gezeichnet. Und dann wäre dieses Chart hier oben das Chart null. Der Indikator hier unten befindet sich im Chart eins. Wir verwenden also die null für das Hauptchart. Die vertikale Linie soll zum aktuellen Zeitpunkt für die Kerze null gezeichnet werden. Und der letzte Parameter hier steht für den Höchstpreis der höchsten Kerze. Das hatten wir hier oben schon abgefragt. Die aktuelle Kerze müsste also die höchste der letzten 100 Kerzen sein. Man könnte hier auch noch ein paar andere Parameter verändern. Die Referenz gibt da reichlich Auskunft. Beispielsweise ließe sich mit ObjectSetInteger für das aktuelle Chart die Farbe verändern oder hiermit die Objektbreite. Für dieses einfache Beispiel soll uns das aber so reichen. Und wenn Ihnen das hier alles zu schnell ging oder wenn Sie nicht verstehen, was diese Codezeilen hier eigentlich bewirken sollen, dann möchten Sie sich vielleicht zunächst die anderen Videos aus diesem Grundlagenkurs noch einmal anschauen. Oder vielleicht ist auch der Premiumkurs auf unserer Webseite interessant für Sie. Das hier war übrigens wieder eine Idee von einem Premiumkurs Mitglied. Und wenn Sie bereits Premiumkurs Mitglied sind und eine Idee für so ein Video haben, dann lassen Sie es mich doch einfach wissen. Für den Moment klicken wir hier mal auf Kompilieren oder drücken die F7 Taste. In meinem Fall hat das ohne Fehler funktioniert. Und wenn das bei Ihnen auch so ist, dann klicken Sie bitte hier oben rechts oder drücken die F4 Taste auf Ihrer Tastatur. Jetzt sollten Sie sich wieder im Metatrader befinden. Und hier klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Strg+R. Bitte wählen Sie hier die neu erstellte Datei SimpleVertikaleLinie.ex4 aus. Markieren Sie die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft unser Expert Advisor auch schon los. Die Kerze wird angezeigt und der höchste Preis wird angezeigt. Wir zoomen jetzt mal mit der Minustaste in das Chart, beschleunigen das Ganze hier etwas. Und hier ist auch schon unsere erste Position eröffnet worden. Das hier war die höchste der letzten 100 Kerzen. Unser Expert Advisor funktioniert also wie gewünscht. Und in diesem kurzen Video haben Sie gelernt, wie Sie die höchste der letzten 100 Kerzen ermitteln können, einen Sell Trade an dieser Kerze eröffnen und gleichzeitig noch eine vertikale Linie zeichnen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier, in MQL4.