MQL5 TUTORIAL GRUNDLAGEN – 38 SO ERMITTELN SIE TASTEN EVENTS

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man einen Tastendruck ermitteln und verwenden kann. Auf Englisch heißt das Key Event. Und wenn ich jetzt hier auf diesem Chart eine Taste drücke, zum Beispiel die B Taste, dann wird mir hier eine Messagebox angezeigt die sagt: Eine Taste wurde gedrückt. Die Taste war B. Und wir wollen wir uns jetzt einmal anschauen, wie man so etwas in MQL5 programmieren kann. Um das zu tun, klicken Sie bitte auf diesen kleinen Button 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 SimplerKeyEvent, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen können weg. Meistens verwenden wir hier diese OnTick Funktion. Denn, das ist die Funktion die automatisch aufgerufen wird, wenn sich der Preis auf dem Chart ändert. In diesem Fall möchten wir aber überprüfen, ob eine bestimmte Taste gedrückt wurde. Und dazu brauchen wir ein anderes Ereignis. Dieses andere Ereignis hat den Namen OnChartEvent. Und wir müssen hier einige Parameter übergeben. Wir haben das zwar schonmal für die Mausklicks alles durchgenommen, aber wir wiederholen das an der Stelle nochmal. Der erste Parameter ist ein integer Wert. Es handelt sich hier um die sogenannte EventID. Die wird verwendet, um später herauszufinden, was für eine Art von Ereignis gerade stattgefunden hat. Parameter Nummer zwei ist ein long Wert. Darum trägt er auch den Namen lparam. Und dieses kaufmännische und hier ist kein Schreibfehler. Sondern, das ist die Art und Weise, wie in MQL5 Werte als Referenz übergeben werden. Wir sehen das auch hier wieder im dritten Parameter. Hier handelt es sich um einen Wert vom Typ double. Darum wird hier auch der Name dparam genutzt. Und der letzte Parameter ist eine Textkette. Die wird ebenfalls als Referenz übergeben und trägt den Namen sparam. Soweit so gut. Was können wir jetzt damit machen? Nun, wir starten damit, dass wir die EventID abfragen. Und in unserem Fall interessiert uns, ob der Rückgabewert den Wert CHARTEVENT_KEYDOWN hat. Das ist die Art von Ereignis, die ausgelöst wird, wenn wir eine Taste drücken. Und wenn das zutrifft, dann lassen wir uns hier den Keycode übersetzen. Das übernimmt die Funktion TranslateKey. Die holt uns nämlich den Wert aus dem lparam. Wir konvertieren das hier in einen integer Wert und weisen das Ergebnis der Variable KeyThatWasPressed zu. Und damit wir auch was sehen, erstellen wir uns jetzt hier eine sogenannte MessageBox. Das übernimmt die Funktion MessageBox, die mit MQL5 mitgeliefert wird. Auch die braucht ein paar Parameter. Der erste Parameter hier ist die Textkette, die wir gerne in der MessageBox sehen möchten, gefolgt von dem Wert, den wir uns hier mit ShortToString noch so konvertieren, dass er entsprechend ausgegeben wird. Der nächste Parameter hier ist die Überschrift der MessageBox. Und Parameter Nummer drei ist die Art und Weise, wie die MessageBox aufgebaut sein soll. Uns reicht hier ein Okay-Button. Wenn Sie man den Begriff MessageBox markieren und die F1 Taste drücken, dann sehen Sie, dass es hier noch ganz viele andere Möglichkeiten gibt. MB_OK ist das, was wir nutzen. Man könnte sich aber auch Yes, No und Cancel anzeigen lassen. Und alle diese Buttons haben einen speziellen Rückgabewert, den man hier abfragen kann. Für unser einfaches Beispiel brauchen wir das nicht. Denn dieser Okay-Button hier dient nur dazu, die Box wieder zuzumachen. Bitte vergessen Sie nicht hier die schließenden Klammern. Das war es auch schon so weit. Wir können jetzt hier auf Kompilieren klicken oder die F7 Taste drücken. Bei mir hat das ohne Fehler und Warnungen funktioniert. Falls Sie Fehler haben oder nicht wissen, was dieser ganze Code hier bewirken soll, dann möchten Sie sich vielleicht die anderen Videos aus dieser Grundlagenserie anschauen. Oder vielleicht ist sogar der Premiumkurs interessant für Sie. Falls Sie keine Fehler haben, können Sie jetzt hier oben auf diesen kleinen Button klicken oder die F4 Taste drücken, um in den Metatrader zurückzukehren. Im Metatrader machen wir ein neues Chartfenster auf. Und ziehen uns die neu erstellte Datei mit dem Namen SimplerKeyEvent einfach hier auf unser Chart. Wir bestätigen das kurz mit Okay und sehen, dass der Expert Advisor jetzt aktiv ist. Drücken wir doch einfach mal die Taste A. Dann sehen wir unsere MessageBox. Die Taste wurde gedrückt. Die Taste war A. Das klappt auch mit anderen Tasten. Es gibt allerdings auch ein paar Sonderfälle. Wenn Sie zum Beispiel die Shift Taste drücken, dann bekommen Sie hier eine leere Ausgabe. Auch so etwas lässt sich realisieren. Aber, in diesem kurzen Video gelernt, wie Sie mit Hilfe von MQL5, Tastendrücke auf dem Chart im Metatrader automatisch erkennen und mit MQL5 ausgeben lassen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL5.