In diesem Video geht es um das Thema Event-Behandlung; speziell darum, wie man Mausklicks an beliebiger Stelle auf dem Chart hier oben ausgeben kann.
Hier steht: die Maus wurde an folgenden Koordinaten geklickt: 601 und 192. Die X-Koordinaten werden hier von links nach rechts gemessen . Wenn man also am linken Rand klickt in der Mitte, dann bekommt man einen sehr geringen X-Wert; die Y-Koordinaten werden von oben nach unten gemessen. Klicke ich also hier am oberen Rand in der Mitte, dann bekomme ich den Wert X ist 503 und Y ist 2 und wenn ich hier unten rechts klicke dann bekomme ich die höchsten Werte: X ist jetzt über 1000 und Y ist 565 und wir möchten uns in diesem Video einmal anschauen, wie man mit MQL4 einen Expert Advisor erstellen kann, der in der Lage ist, die Koordinaten von jedem beliebigen Klick hier auf dem Chart auszulesen und hier oben auszugeben.
Um das zu tun, klicken Sie bitte auf diesen kleinen Button hier oder drücken Sie die F4 Taste auf Ihrer Tastatur. Das ruft dann hier den Metaeditor auf und hier klicken wir Datei, neu, Expert Advisor als Vorlage weiter; ich vergebe hier mal den Namen „simpler Mausklick“, klicke auf weiter, weiter und fertig stellen und jetzt kann alles oberhalb dieser tick function hier gelöscht werden und auch die zwei Kommentar-Zeilen können verschwinden und OnTick nutzen wir normalerweise immer, um Preisänderungen auf dem Chart auszulesen , sobald sich der Kurs geändert hat.
In unserem speziellen Fall sind wir aber eher an Chart Events interessiert; darum tauschen wir die Funktion hier aus, OnChart Event markieren wir mal und, wenn wir jetzt die F1 Taste drücken, dann lernen wir, dass es unterschiedliche Events gibt zum Beispiel, wenn ein Tastendruck erfolgt oder die Maus bewegt wird und so gibt es dann auch Events für Objekte, die erstellt oder verändert werden oder in unserem Fall hier eben der Klick.
Die Funktion OnChartEvent benötigt ein paar Parameter. Der erste Parameter ist die Event ID, die hätte in unserem Fall den Wert CHARTEVENT_ CLICK sobald ein Mausklick auf dem Chart wahrgenommen wird.
Parameter Nummer zwei ist vom Typ long und bekommt den Namen „lparam“ für long Parameter; Parameter Nummer drei ist vom Typ Double und heißt darum dparam und der letzte Parameter ist vom Typ string und heißt sparam. Vom Prinzip kann man das auch hier in der Hilfe auslesen und hier sieht man, dass es noch andere Events gibt, die mit dem Chart, zu tun haben. Wir interessieren uns in diesem Video erstmal nur für den Mausklick und wenn das Chart angeklickt wurde, dann entspricht unsere Event ID hier dem Wert CHARTEVENT_CLICK und in diesem Fall nutzen wir die comment function, die gibt uns auf dem Chart den Text aus: „die Maus wurde an den folgenden Koordinaten geklickt“ außerdem erhalten wir den X-Wert durch den L-Parameter und den Y-Wert durch den D-Parameter und das war es auch schon.
Wenn Sie soweit fertig sind, dann klicken Sie hier oben auf diesen Button oder drücken die F7 Taste, um den Code zu kompilieren. Das hat hier ohne Fehler und ohne Warnungen funktioniert und in diesem speziellen Fall ist es tatsächlich so, dass es auch in MQL5 funktioniert.
Die Event Behandlung für dieses OnChartEvent ist tatsächlich in beiden Sprachen identisch. Falls sie also einmal mit dem Gedanken gespielt haben, von MQL4 und Metatrader 4 auf den Metatrader 5 umzusteigen, dann könnten Sie dieses Programm hier eins zu eins übernehmen.
Okay wenn wir soweit fertig sind, dann können wir hier oben klicken oder mit der F4 Taste zurückkehren in den Metatrader und im Metatrader würden wir normalerweise auf Ansicht klicken und den Strategie-Tester aktivieren und wir könnten hier auch das neu erstellte Programm SimplerMausklick.ex4 auswählen und einen neuen Test starten. Allerdings passiert nichts, wenn wir hier im Chart klicken. Darum halten wir den Test gleich wieder an. In unserem Fall wählen wir einfach auf der linken Seite unseren Expert Advisor, ziehen ihn mit der Maus auf das Chart, bestätigen das kurz und wenn ich jetzt hier mit der Maus klicke, dann wird unser Text ausgegeben und die Koordinaten werden auch sofort berechnet und Sie haben in diesem kurzen Video gelernt, wie man in MQL4 ein Programm schreiben kann, das in der Lage ist, jede Art von Mausklick auf dem Chart auszulesen und die Parameter für die Koordinaten hier oben direkt auf dem Chart auszugeben. Und Sie haben das selbst programmiert mit diesem paar Zeilen hier in MQL4.
Podcast: Play in new window | Download