MQL5 TUTORIAL GRUNDLAGEN – 10 SO PROGRAMMIERT MAN EINE EIGENE FUNKTION

video

In diesem Video möchten wir uns einmal anschauen, wie man mit MQL5 eine eigene Funktion programmieren kann. In diesem Fall haben wir eine Funktion verdoppeln, die ihr den ZählerWert verdoppelt wenn immer sich hier der Preis ändert. Und wir wollen uns einmal anschauen wie man das mit MQL5 machen kann. Dazu klicken wir im Meta Trader auf dieses kleine Symbol hier oben oder drücken die F4 Taste. Das ruft dann hier den Meta Editor auf und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier mal den Namen simpleFunktion, klicke auf Weiter, Weiter und Fertigstellen. Und 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 OnTick Funktion eine statische Variable erstellen. Dazu nutzen wir hier diesen Zusatz static. Wenn man den einmal markiert und die F1 Taste drückt, dann lernt man, dass es sich um einen sogenannten modifier handelt. Statische Variablen behalten ihre Gültigkeit innerhalb der Lebensdauer einer Funktion. Wir möchten jetzt mit dem Wert dieser Variable eine neue Funktion aufrufen die soll Wert verdoppeln heißen und die bekommt den Wert unserer Zählervariable übergeben und damit wir sehen was da passiert, möchten wir hinterher noch den Wert auf dem Chart ausgeben. Das machen wir mit dem Comment Befehl, der soll uns den Text ZählerWert und den ermittelten Wert für unseren Zähler direkt auf dem Chart anzeigen. Wenn wir das Ganze jetzt kompilieren, dann bekommen wir hier unten die Meldung, dass Wert verdoppeln noch nicht definiert ist. Also müssen wir diese Funktion jetzt erstellen. Das erste ist der Wert der Funktion, der zurückgegeben wird. In unserem Fall möchten wir ganze Zahlen verdoppeln, darum geben wir Integer-Werte zurück, weil wir keine Nachkommastellen benötigen. Danach legen wir den Namen der Funktion fest. in diesem Fall Wert verdoppeln. Man könnte hier auch einen anderen Namen wählen, aber Wert verdoppeln beschreibt ganz gut was die Funktion tun soll. Und hier in runden Klammern nehmen wir den Wert unseres Zählers an, den wir hier oben als Integer übergeben haben. Hier hieß der Parameter, den wir an die Funktion übergeben Zähler, hier unten heißt der Parameter den wir annehmen Zählerwert. Das muss nicht identisch sein. Unsere Funktion braucht jetzt noch zwei geschweifte Klammern. Wäre soweit jetzt auch deklariert, wenn wir aber jetzt auf kompilieren klicken, dann bekommen wir hier die Meldung, dass nicht alle Kontrollpfade einen Wert zurückgeben und das liegt daran, dass wir in der Funktion noch nichts gemacht haben. Also ändern wir das jetzt. Wir multiplizieren einfach den übergebenen Zählerwert mit dem Faktor 2 zum Verdoppeln. Das bedeutet Zähler Wert mal 2 wird der Variable doppelter Wert zugewiesen und danach nutzen wir return, um unseren doppelten Wert als Ergebnis an die Hauptfunktion zurückzugeben. Wenn man return markiert und F1 drückt, dann sieht man dass es sich um ein Operator handelt, der stoppt die laufende Funktion und gibt die Steuerung an das aufrufende Programm zurück. In diesem Fall kommen wir hier wieder an und das Ergebnis aus unserer Funktion wird der variable Zähler zugewiesen und das Ganze sollte sich hier anhand der Comment Funktion auf dem Chart nachvollziehen lassen. Also kompilieren wir noch mal. Diesmal gibt es keine Fehler und keine Warnungen und wenn das bei Ihnen auch so ist, dann klicken sie bitte hier oben auf dieses Symbol oder drücken die F4 Taste, um in den Meta Trader zurückzukehren. Und im MetaTrader klicken wir auf Ansicht, Strategie Tester oder drücken die Tastenkombination STRG+R. Hier wählen Sie bitte die neue Datei simpleFunktion.ex5 aus. Markieren Sie bitte auch die Option für die Visualisierung und starten Sie einen Test. Und hier sehen wir unsere Ausgabe. Unser Zählerwert hat den Wert 8 16 32 bei jedem Tick, also jeder eingehenden Preisveränderung wird unser Wert hier addiert. Man könnte natürlich jetzt auch noch deutlich kompliziertere Dinge in unserer Funktion durchführen. Wir haben hier nur einen einzigen Parameter verarbeitet, den wir verdoppelt haben. Aber in solch einer Funktion könnten Sie beispielsweise auch alle offenen Positionen durchgehen. Schauen ob sie zu einem Währungspaar gehören und dann den Profit für dieses Währungspaar berechnen und mittels return an das Hauptmodul zurückgeben. Aber für dieses Beispiel soll uns das so reichen. Denn in diesem kurzen Video haben Sie gelernt, wie Sie eine eigene Funktion programmieren können und Sie haben das selbst getan mit diesen paar Zeilen hier in MQL5.

Download “CODE - SIMPLE FUNKTION” SimpleFunktion.mq5 – 73-mal heruntergeladen – 483 B