MQL4 TUTORIAL GRUNDLAGEN- 38 SO ERMITTELN SIE EINEN KEY EVENT

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man mit MQL4 einen Tastendruck erkennen kann. Ich drücke jetzt einmal die Taste A. Dann wird mir hier eine Messagebox angezeigt, Taste wurde gedrückt. Die Taste war A. Und wir wollen wir uns jetzt einmal anschauen, wie man so etwas in MQL4 programmieren kann. Um das zu tun, klicken Sie 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, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimplerKeyEvent, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles hier oberhalb der OnTick Funktion gelöscht werden. Und auch die zwei Kommentarzeilen können weg. Meistens starten wir ja mit der OnTick Funktion. Das ist die Funktion die aufgerufen wird, wenn der Preis auf dem Chart sich verändert. In unserem Fall möchten wir aber erkennen, ob eine Taste gedrückt wurde. Und dafür brauchen wir eine andere Art von Funktion. Diese Funktion heißt OnChartEvent. Und sie benötigt einige Parameter, die wir jetzt der Reihe nach durchgehen. Wir haben das schonmal getan für die Erkennung von einem Mausklick. Aber wiederholen wir das hier nochmal. Der erste Parameter ist eine Konstante vom Typ integer. Es handelt sich um die EventID. Anhand dieser EventID können wir später erkennen, was für eine Art von Ereignis ausgelöst wurde. Parameter Nummer zwei ist ein long Wert. Das hier ist ein kaufmännisches und. Und es handelt sich hier nicht um einen Schreibfehler. Sondern, das ist die Art und Weise, wie in MQL4 Werte als Referenz übergeben werden. Der Name dieses Parameters ist lparam für long Parameter. Parameter Nummer drei ist vom Typ double. Darum heißt der auch D Parameter. Auch hier wird das kaufmännische und verwendet. Und der letzte Parameter ist ein Text. Darum eine string Variable, ebenfalls auch als Referenz, mit dem Namen sparam. Soweit war es das mit den Parametern. Wir möchten jetzt gene wissen, ob der Rückgabewert für die EventID den Wert CHARTEVENT_KEYDOWN hat. Denn das ist es, was passiert, wenn wir eine Taste drücken. Und wenn dieses Ereignis auftritt, dann nutzen wir die Funktion TranslateKey, um uns in der Variable KeyThatWasPressed den konvertierten Wert für den lparam ausgeben zu lassen. Jede Taste hat einen entsprechenden Zahlencode. Und wir möchten jetzt mit Hilfe einer MessageBox eine entsprechende Ausgabe erstellen. Die MessageBox wird uns den Text. Die Taste war, gefolgt von dem, als Text konvertierten Buchstaben auf der Tastatur, ausgeben. Der zweite Parameter hier: Taste wurde gedrückt, ist die Überschrift für die MessageBox. Und der letzte Parameter MB_OK steht für einen einzigen Button in der Box. Wenn wir die Funktion MessageBox einmal markieren und die F1 Taste drücken, dann lernen wir, dass es hier sogenannte Flags gibt. Das ist hier ist unser okay Button. Wir könnten aber auch eine Messagebox mit mehreren Rückgabemöglichkeiten wie Yes, No und Cancel erstellen. Wir haben aber nur einen einzigen Button. Darum ist der Rückgabewert nicht sehr interessant für uns. Wir machen jetzt einfach noch zwei schließende Klammern und dann war es das auch so weit. Sie können jetzt hier oben auf Kompilieren klicken oder die F7 Taste drücken. In meinem Fall hat das ohne Fehler und Warnungen funktioniert. Ich hoffe, bei Ihnen ist das auch so. Aber, wenn Sie nicht verstehen, was dieser ganze Code hier bewirken soll, oder wenn Ihnen das alles zu schnell war, dann möchten Sie sich vielleicht noch einmal die anderen Videos aus diesem Grundlagenkurs anschauen. Oder vielleicht ist auch der Premiumkurs interessant für Sie, den Sie auf der Webseite finden. Für den Moment, falls die Kompilierung erfolgreich ist, können wir hier oben klicken oder die F4 Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader suchen wir uns jetzt mal ein Live Chart aus. Denn die Messagebox wird vom Strategietester leider nicht unterstützt. Wir ziehen einfach aus dem Navigatorfenster den Expert Advisor hier auf unser Chart, bestätigen mit Okay. Und jetzt sollten wir hier oben schon das Symbol für den Expert Advisor auf unserem Chart sehen können. Ich drücke jetzt mal die Taste Ö. Und schon wird unsere Messagebox angezeigt. Eine Taste wurde gedrückt. Die Taste war Ö. Ich bestätige das hier mal mit Okay. Das funktioniert noch nicht für alle Tastenkombinationen. Wenn ich zum Beispiel die Shift Taste drücke, dann bekomme ich ein Fragezeichen angezeigt. Aber, Sie haben in diesem kurzen Video gelernt, wie Sie auf einen Tastendruck entsprechend mit MQ4 reagieren und die gedrückte Taste in einer Messagebox ausgeben lassen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL4.