MQL4 TUTORIAL GRUNDLAGEN – 10 SO PROGRAMMIERT MAN EINE FUNKTION

video
play-sharp-fill
In diesem Video wollen wir uns einmal anschauen wie man eine eigene Funktion erstellen kann. Wir haben hier eine Funktion, die einen Zählerwert immer dann verdoppelt, wenn sich hier der preis ändert. Und wir sehen uns einmal an wie man so etwas in mp4 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 das Meta Editor Fenster auf und hier klicken wir auf Datei Neu, Expert Advisor aus Vorlage, Weiter. Ich nenne unser Beispielprogramm hier einmal simpleFunktion, klicke auf Weiter, Weiter und fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Das gilt auch für die zwei Kommentarzeilen. So weit so gut starten wir mit einer statischen Variable. Eine statische Variable bekommt hier diesen modifier, also den Zusatz static. Vor dem eigentlichen variablen Typ zugewiesen, in unserem Fall nutzen wir Integer Werte für ganze Zahlen und wenn man das Schlüsselwort static einmal markiert und die F1 Taste drückt, dann lernen wir hier dass die variable ihren Wert während der ganzen Laufzeit einer Funktion behält. Unsere variable bekommt den Namen Zähler, wird mit dem Wert 1 initialisiert und wir möchten sie einer anderen Funktion als Wert übergeben. Diese Funktion soll Wert verdoppeln heißen. Und in diesen runden Klammern hier übergeben wir dann den Wert von unserer Zählervariable. Mit Hilfe der Comment-Funktion möchten wir uns dann den Text Zählerwert und die variable Zähler auf dem Chart anzeigen lassen. Eigentlich alles ganz einfach, aber wenn wir das jetzt hier kompilieren, dann bekommen wir eine Meldung. Zunächst einmal habe ich hier oben wieder ein Sonderzeichen erwischt. Irgendwie habe ich dafür ein Talent. Kompilieren wir noch mal, dann bekommen wir die Fehlermeldung, dass Wert verdoppeln noch nicht definiert ist. Also wollen wir diese Funktion jetzt erstellen. Als erstes müssen wir angeben, was wir für einen Rückgabe Typ verwenden möchten. In unserem Fall möchten wir ganze Zahlen zurück geben und darum werden wir hier int für integer aus. Das hier ist der Name der eigenen Funktion, die könnte auch anders heißen. Der Name kann in bestimmten Grenzen frei gewählt werden, aber ich finde Wert verdoppeln trifft die Funktion ganz gut. Und hier in den runden Klammern übergeben wir Parameterwerte, in diesem Fall unseren Zählerwert. Bitte achten Sie darauf, dass hier oben der Wert des Zählers mit dem Namen Zähler übergeben wurde. Und wir hier unten in den runden Klammern den Wert unter einem anderen Namen annehmen. Der muss nicht so heißen wie die Originalvariable. Außerdem brauchen wir noch zwei geschweifte Klammern und damit wäre unsere eigene Funktion bereits weitestgehend vollständig. Aber wenn wir jetzt auf kompilieren klicken, dann bekommen wir die Meldung, dass nicht alle Kontrollpfade einen Wert zurückgeben und das liegt daran, dass wir hier noch nichts gemacht haben. Also führen wir die Funktion einmal mit Leben. Um unseren Zählerwert zu verdoppeln nehmen wir ihn einfach und multiplizieren ihn hier mit 2. Danach wird er einer anderen Integer-Variable mit dem Namen doppelter Wert zugewiesen und dem geben wir jetzt hier unten mittels return Operator einfach an die Hauptfunktion zurück. Wenn wir uns return einmal markieren und F1 drücken, dann lernen wir dass der return Operator die aktuelle Funktion beendet und die Kontrolle an die aufrufenden Funktion wieder zurückgibt. Unser Zähler hat dann den doppelten Wert und würde auf dem Chart ausgegeben. Das war es soweit. Wenn Sie alles richtig haben dann klicken Sie hier oben auf kompilieren oder drücken Sie die f5 Taste. Sie sollten dann hier unten keine Fehler und keine Warnungen erhalten und wenn das funktioniert hat, dann klicken Sie einfach hier oben oder drücken sie auf F4, um in den Meta Trader zurückzukehren. Und im Meta Trader klicken wir auf Ansicht, Strategie Tester oder rücken die Tastenkombination STRG+R. Hier wählen wir die neue Datei simpleFunktion.ex4 aus, markieren den visuellen Modus und starten unseren Test. Und jetzt sollten sie sehen, dass hier oben der Zählerwert hoch gezählt wird. Immer wenn hier der Preis sich ändert, wird auch unser Wert verdoppelt. Unsere eigenständig programmierte Funktion funktioniert also. Wir haben hier ein sehr einfaches Beispiel gewählt und nur eine einzige Variable übergeben. Innerhalb so einer Funktion könnten wir noch deutlich kompliziertere Dinge tun, beispielsweise aller einzelnen Positionen durchgehend den Wert addieren und daraus eine Gesamtsumme für den Profit bilden, die wir hinterher mit return an die Hauptfunktion zurückgeben. Aber für dieses kurze Video soll uns das zu erreichen. Denn Sie haben mit diesen paar Zeilen MQL4 gelernt, wie sie eine eigene Funktion programmieren können und Sie haben das getan mit diesen paar Zeilen hier in MQL 4.

Download “CODE - SIMPLE FUNKTION”

SimpleFunktion.mq4 – 119-mal heruntergeladen – 994,00 B