In diesem Video wollen wir uns einmal anschauen, wie man mit MQL4 ein Objekt programmieren kann. In diesem Fall ist das hier ein Sell-Button. Also lassen Sie uns einmal schauen, wie man so etwas im Metaeditor programmiert. 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 den Namen SimplerSellButton, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden und auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir in der Funktion OnTick ein Objekt erstellen. Das übernimmt die Funktion ObjectCreate. Und wenn man die einmal markiert und die F1-Taste drückt, dann sehen wir hier, dass das Objekt eine ganze Menge an Parametern verarbeiten kann. Wenn wir hier einmal klicken, dann werden wir zu dieser Liste hier geführt. Die zeigt uns, dass es jede Menge unterschiedliche Objekte gibt, die wir erstellen könnten. Je nach Objekttyp sind die Eigenschaften ganz unterschiedlich. Wir möchten in diesen Fall einen Button erstellen. Der wird dann in dem Fenster mit den Kerzen dargestellt. Der erste Parameter ist für das aktuelle Währungspaar auf dem Chart. Der zweite Parameter steht für den Objektnamen. In diesem Fall möchten wir das Objekt gerne SellButton nennen. Parameter Nummer 3 steht für den Objekttyp. Wir verwenden hier OBJ_BUTTON. Parameter 4 steht für das Fenster, in dem der Button dargestellt werden soll. Bei uns ist es das Hauptfenster mit den Kerzen. Wenn sie Oszillatoren verwenden, dann kennen Sie das vielleicht, dass unterhalb der Kerzen ein zweites Fenster für den Oszillator angezeigt wird. Der nächste Parameter steht für einen Datumswert und der letzte Parameter für einen Preis. Das macht bei unserem Button keinen Sinn, denn der soll immer an der gleichen Stelle dargestellt werden, aber wenn wir beispielsweise eine Linie für die höchste Kerze auf dem Chart zeichnen, dann müsste man diese Linie ja bewegen und dann würde man diese Parameter hier dafür nutzen. Das Objekt ist so weit schon fertig. Wir möchten aber gerne noch einige Eigenschaften setzen. Dazu nutzen wir hier ObjectSetInteger für das aktuelle Währungspaar auf dem Chart und das Objekt mit dem Namen SellButton. Die Eigenschaft, die ich verändern möchte, heißt hier OBJPROP_XDISTANCE und ich setze sie auf 200 Pixel. Weiter geht es mit der Objektbreite. Auch hier ObjectSetInteger für das aktuelle Währungspaar auf dem Chart und das Objekt mit dem Namen SellButton. Diesmal möchten wir die Eigenschaft OBJPROP_XSIZE verändern. Auch hier setzen wir 200 Pixel ein. Weiter geht es mit dieser Eigenschaft. Die heißt OBJPROP_YDISTANCE. Da handelt es sich dann um die vertikale Distanz und auch hier nutzen wir 200 Pixel. Und für die Objekthöhe sieht das ziemlich ähnlich aus. Hier heißt die Eigenschaft OBJPROP_YSIZE und für die Buttonhöhe reichen uns 50 Pixel. Mit der Eigenschaft OBJPROP_CORNER können wir festlegen, in welcher Ecke unser Objekt dargestellt werden soll. Ich habe mich hier für Ecke 3 entschieden. Und im letzten Schritt nutzen wir diesmal ObjectSetString, um einen Textwert zu ändern. Der heißt OBJPROP_TEXT und wir möchten gerne den Text für unseren Button auf SELL ändern. Soweit ist unser Objekt jetzt fertig. Irgendwo habe ich hier eine Klammer verloren. Die gehört hier nicht hin, sondern ans Ende der Funktion. Unser Objekt könnte jetzt schon angezeigt werden, aber wir hätten noch keine Ereignisbehandlung. Damit das passiert, was wir gerne hätten, müssen wir das noch programmieren. Dazu stellt MQL4 das Ereignis OnChartEvent bereit. Wenn man das markiert und die F1-Taste drückt, dann sieht man hier, dass es eine ordentliche Anzahl von Events gibt. Uns interessiert in diesem Fall nur, ob ein Objekt angeklickt wurde. Das stellt man über den CHARTEVENT_OBJECT_CLICK fest. In MQL4 geht das so: Wir prüfen, ob die ID,