MQL5 TUTORIAL GRUNDLAGEN – 7 SO FUNKTIONIEREN SWITCH UND CASE

video

In diesem Video wollen wir uns einmal anschauen, wie man mit Hilfe von Switch und Case Bedingungen abprüfen kann, um den logischen Kontrollfluss in einem Expert Advisor für den Metatrader zu verändern. Um das zu tun klicken wir im Metatrader hier oben auf dieses kleine Symbol oder drücken die F4 Taste. Jetzt sollten Sie den Metaeditor sehen. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimpleSwitchCaseAbfrage. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser Ontick Funktion hier gelöscht werden. Auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir uns hier eine integer Variable mit dem Namen Auswahl erzeugen. Die soll mit dem Wert fünf initialisiert werden. Und innerhalb der OnTick Funktion erzeugen wir hier eine Textvariable vom Typ String Variable mit dem Namen Einstieg. Der weisen wir aber noch keinen Wert zu. Denn, den möchten wir jetzt mit Switch und Case ermitteln. Dazu starten wir mit dem Schlüsselwort switch für unsere Auswahl. Die weiteren Abfragen kommen hier in geschweifte Klammern. Und für den Fall, dass unsere Auswahl den Wert fünf hat, dann möchten wir mit Case den folgenden Programmcode ausführen lassen. In diesem einfachen Beispiel addieren wir einfach zu unserer leeren Variable Einstieg den Wert: „Der Kunde will RSI“. Wir nutzen hier plus und gleich. Das hat was mit einer Besonderheit zu tun, auf die ich gleich noch zu sprechen komme. Am Ende des auszuführenden Code Blocks kommt unser break Statement. Das wird dazu eingesetzt, um aus unserem Switch Case Statement auszusteigen. Das gleiche machen wir hier noch mal für den Fall, dass unsere Variable den Wert vier hat. In dem Fall bekommt unser Einstieg den Text: „Kunde will Bollinger Bands“ zugewiesen. Für den Fall, dass wir die Variable mit dem Wert drei belegen, dann soll unser Einstieg zusätzlich um die Aussage: „Der Kunde will MacD“ erweitert werden. Man kann übrigens statt einer solchen Zahl hier auch eine einfache Rechenoperation in Klammern für den Case verwenden. Allerdings dürften wir hier keine Variable nutzen, denn das würde zu einem Fehler führen. Im Fall, dass unsere Variable den Wert zwei hat, möchten wir gerne unseren Einstieg erweitern um den Text: „Der Kunde will Random entries“. Und zum Schluss gibt es noch eine default Option. Die wird immer dann ausgeführt, wenn keiner der einzelnen Code Blöcke für die Abfrage hier oben zutrifft. In dem Fall möchten wir gerne unsere Einstiegsvariable ergänzen um den Text: „Keine passende Auswahl“. Mit dieser geschweiften Klammer hier wird unser Switch Case Statement beendet. Und damit wir auch was sehen, möchten wir hier unten mit dem Comment Befehl das Ergebnis für den ermittelten Einstieg auf unserem Chart, anzeigen lassen. Das war es soweit. Bitte klicken Sie hier oben auf Kompilieren oder drücken Sie F7 Taste. Das sollte jetzt ohne Fehler funktioniert haben. Und in dem Fall können Sie hier oben auf den kleinen Button klicken oder F4 drücken, um in den Metatrader zurückzukehren. Und im Metratrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Strg+R. Das öffnet dann hier den Strategietester. Und hier wählen wir die neu erstellte Datei SimpleSwitchCaseAbfrage.ex5 aus. Markieren hier die Visualisierungsoption und starten unseren Test. Und jetzt bekommen wir hier oben die Ausgabe angezeigt: Der Kunde will RSI. Ändern wir unseren Auswahlwert hier mal auf drei, Kompilieren erneut. Dann bekommen wir bei einem neuen Test die Ausgabe: Jetzt will unser Kunde MacD. Denn das entspricht dem Wert, den wir hier für Fall drei ermittelt haben. Natürlich ist das hier nur eine Beispiel Codezeile. Hier könnten deutlich komplexere Berechnungen erfolgen. Jetzt ändern wir den Wert hier oben mal auf einen nicht vorhandenen Wert, zum Beispiel elf. Klicken auf Kompilieren. Und beim nächsten Test bekommen wir hier oben die Textkette: keine passende Auswahl angezeigt. Hier wird also die Ausgabe für default angezeigt. Soweit ist alles richtig und logisch. Es gibt aber eine Besonderheit. Und zwar, wenn Sie diese break Statements hier weglassen oder aus Versehen vergessen. Setzen wir hier die Auswahl wieder auf fünf. Kompilieren das Ganze. Dann geht das ohne Fehler. Aber beim nächsten Test bekommen wir hier oben den Text: Der Kunde will RSI und der Kunde will Bollinger Bands und der Kunde will MacD. Und der Grund dafür ist, dass jetzt alle Abfragen bis zum nächsten break Statement hier hintereinander ausgeführt werden. Man kann das auch absichtlich einsetzen. Aber ich bin kein großer Fan davon. Das kann aber jeder für sich selbst entscheiden. Denn Sie haben in Video gelernt, wir Sie mit Switch und Case unterschiedliche Konditionen in einem Expert Advisor abprüfen lassen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL5.

Download “CODE - SIMPLE SWITCH CASE ABFRAGE” SimpleSwitchCaseAbfrage.mq5 – 76-mal heruntergeladen – 679 B