MQL4 TUTORIAL GRUNDLAGEN – 71 SIMPLE ARROW OBJEKTE

video
play-sharp-fill

In diesem Video möchten wir uns einmal anschauen, wie man solche Objekte hier auf dem Chart anzeigen lassen kann. Es handelt sich um sogenannte Arrows, also Pfeile. Also lassen Sie uns einmal schauen, wie man so etwas in MQL4 programmieren kann. Um das zu tun, klicken Sie bitte hier oben auf dieses kleine Symbol 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 SimpleArrowSymbole, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Zunächst berechnen wir hier den Ask Preis. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir nutzen SYMBOL_ASK und mit NormalizeDouble und _Digits stellen wir sicher, dass wir die richtige Anzahl von Nachkommastellen berechnen. Das gleiche tun wir dann noch einmal für den Bid Preis. Hier ist die Zeile nahezu identisch. Bis auf die Tatsache, dass wir hier einen anderen Wert als Parameter übergeben. Und falls Sie sich wundern, warum wir das in MQL4 so machen und nicht direkt auf die beiden Werte hier zugreifen: nun, dieses hier ist eines der wenigen Code Beispiele, wo MQL4 und MQL5 identisch funktionieren. Und darum habe ich hier jetzt einfach mal übernommen, wie man das für MQL5 machen würde. Das können wir tun, indem wir den Ask Preis und den Bid Preis addieren und durch Zwei teilen. Anschließend nutzen wir eine Funktion mit dem Namen MathSrand. Dieses S hier bitte nicht vergessen. Diese Funktion setzt nämlich den Startpunkt für eine Generierung von pseudo zufälligen Variablen. Und wir übergeben hier noch einen weiteren Parameter. Der heißt GetTickCount. Das ist eine Funktion. Und wenn man F1 drückt, dann lernt man, dass die die Anzahl der Millisekunden seit dem letzten Systemstart zurückgibt. Diese beiden Werte in Kombination ergeben dann einen eindeutig zufälligen Wert. Und nachdem wir den als Startwert ermittelt haben, können wir MathRand, diesmal ohne S, nutzen. Das ist die eigentliche Funktion, die uns innerhalb eines definierten Bereiches eine Zufallszahl zurückgibt. In unserem Fall ist das hier der Bereich. Und wir weisen das Ergebnis dieser Variable zu, die wir gleich verwenden werden, um das entsprechende Symbol auf dem Chart zu zeichnen. Die Ausgabe solcher Symbole erfolgt über einen Objekttyp mit dem Namen OBJ_ARROW. Arrow steht eigentlich für Pfeil. Unsere Pfeile können aber unterschiedliche Formen annehmen. Wir erstellen zunächst ein Objekt mit dem Befehl ObjectCreate für das aktuelle Währungspaar auf dem Chart. Der Name soll MyObject sein. Der Objekttyp ist OBJ_ARROW. Und wenn man den einmal markiert und die F1 Taste drückt, dann sehen wir, dass es hier noch jede Menge andere Objekttypen gibt. Dieser Parameter hier steht für das Hauptfenster, in dem auch die Kerzen gezeichnet werden. Wenn Sie einen Oszillator verwenden würden, dann würde hier ein separates Fenster unterhalb der Kerzen gezeichnet. Wir zeichnen aber ins Hauptfenster und zwar für die aktuelle Zeit. Die erhalten wir mit TimeCurrent. Und diese Funktion gibt uns die letzte bekannte Server Zeit zurück. In der Praxis ist das immer die Zeit für die letzte Kerze. Und unser Arrow Objekt soll einen sogenannten Ankerpunkt bekommen, wo es gezeichnet wird. Und das ist der mittlere Preis, den wir hier oben berechnet haben. Um das Aussehen für unser Objekt zu verändern nutzen wir jetzt eine Funktion, die heißt ObjectSetInteger. Für das Objekt auf dem Hauptchart mit dem Namen MyObject möchten wir gern die Objekteigenschaft ARROWCODE ändern. Und wir weisen ihr die zufällig generierte Zahl zu, die wir hier oben ermittelt haben. Dadurch werden die Formen verändert. Man kann mit ObjectSetInteger auch die Objektbreite verändern. In meinem Fall nutze ich hier zwanzig. Das sorgt dafür, dass die Symbole in entsprechender Größe dargestellt werden. Und danach nutze ich ObjectMove, um bei jeder Veränderung des Preises auf dem Chart das von uns gezeichnete Objekt an die gewünschte Stelle für die aktuelle Kerze und den mittleren Preis zu bewegen. Zum Schluss brauchen wir noch eine Chart Ausgabe. Das übernimmt der Comment Befehl. Der wird uns den Ask Preis, den Bid Preis und den mittleren Preis direkt auf dem Chart ausgeben. Das war es auch schon. Wenn Sie nicht wissen, was diese ganzen Code Zeilen hier bewirken sollen oder wenn Ihnen das zu schnell ging, dann möchten Sie sich vielleicht zunächst die anderen Videos aus diesem Grundlagenkurs noch einmal anschauen. Oder vielleicht ist auch der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite. Das hier war übrigens wieder ein Beispiel von einem Kursmitglied. Und wenn Sie selbst bereits Premiumkurs Mitglied sind und so eine Idee für ein solches Video haben, dann schicken Sie mir doch einfach eine Nachricht. Für den Moment klicken wir hier auf Kompilieren oder drücken die F7 Taste. Das hat bei mir ohne Fehler funktioniert. Und wenn das bei Ihnen auch der Fall ist, dann können Sie jetzt hier oben auf dieses Symbol klicken oder die F4 Taste drücken, um in den Metatrader zurückzukehren. Im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Strg+R. Bitte wählen Sie hier die neu erstellte Datei SimpleArrowSymbole.ex4 aus. Markieren Sie hier unten die Option für den visuellen Modus und starten Sie Ihren Test. Und schon sehen wir, dass Symbole auf unserem Chart gezeichnet werden. Dieses Beispiel funktioniert also wie gewünscht. Und tatsächlich lässt es sich eins zu eins auch im Metatrader 5 so verwenden. Denn Sie haben in diesem kurzen Video gelernt, wie Sie für den Metatrader 4 oder den Metatrader 5 eine Expert Advisor erstellen können, der in der Lage ist, anhand von zufällig generierten Zahlen solche Symbole hier direkt auf dem Chart auszugeben. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL4.