Externe Variablen in MQL4 zur Laufzeit verändern

video
play-sharp-fill

Wir brauchen eine Möglichkeit damit der Nutzer von unserem Expert Advisor selbst bestimmen kann welchen Wert die Variable hat ohne dass er das jedes Mal neu programmieren muss. Für solche Variablen gibt es viele Verwendungsmöglichkeiten. Ein praktisches Beispiel aus dem Alltag wäre beispielsweise die Kontogrösse einzugeben und anhand der Kontogrösse zu berechnen wie gross eine einzelne Position sein darf wenn sie nur ein oder zwei Prozent vom Gesamtkapital haben soll. Wir haben hier mal eine externe Variable mit dem Namen SpielerAnzahl vom Typ int deklariert und gesagt: Diese Anzahl soll 1 sein. Ausserdem gibt es eine Textvariable vom Typ String für den Spielvorschlag. In unserer OnTick() Funktion wird hier der Spielvorschlag ermittelt indem eine entsprechende Funktion aufgerufen wird die - je nachdem welche Anzahl eingegeben wurde - entweder keinen Fussball, Fussball, Tennis für zwei Personen oder Golf für eine Person vorschlägt. Das ermittelte Ergebnis wird hier unten über return zurückgegeben und hier oben über die Comment() Zeile ausgegeben. Schauen wir uns also an was passiert, wenn wir das Programm kompilieren. Wie hier oben zu sehen ist ist die Spieleranzahl 1 und der Spielvorschlag ist Golf. Wir können aber über die Expert Advisor Optionen hier die Anzahl der Spieler ändern. Wir nehmen jetzt mal 2 und starten unseren Test. Und jetzt bekommen wir den Spielvorschlag Tennis. Probieren wir es doch einmal mit einer 7. Da wir für die 7 keinen Default-Vorschlag gemacht haben bekommen wir jetzt hier den Wert "kein Fussball" angezeigt. Über das Schlüsselwort "extern" haben wir jetzt dem Nutzer unseres Programms ermöglicht während der Laufzeit über die Expert Advisor Einstellung hier oben die Variable für die Spieleranzahl selbst zu verändern ohne programmieren zu müssen!