MQL4 TUTORIAL GRUNDLAGEN – 7 SO FUNKTIONIEREN SWITCH AND CASE

video

In diesem Video wollen wir uns einmal anschauen, wie man für so einen Expert Advisor hier mit Switch und Case überprüfen kann, ob bestimmte Bedingungen erfüllt sind. Um das zu tun klicken Sie bitte hier oben auf diesen kleinen Button oder drücken Sie die F4 Taste im Metatrader. Dann sollte hier das Metaeditor Fenster angezeigt werden. 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 der Ontick Funktion hier gelöscht werden. Auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir eine integer Variable definieren. Die soll den Namen Auswahl bekommen und den Wert fünf haben. Innerhalb der OnTick Funktion nutzen wir eine String Variable mit dem Namen Einstieg, um einen Einstieg zu simulieren. Diese Variable bekommt aber noch keinen Wert zugewiesen. Denn den möchten wir jetzt mit Switch und Case ermitteln. Wir starten damit, dass wir das Schlüsselwort switch eingeben, gefolgt von unserer Auswahl in Klammern. Dazu gehören auch zwei geschweifte Klammern. Innerhalb dieser Klammern werden wir jetzt die einzelnen Abfragen ausführen. Fangen wir an damit, dass der Fall, also der Case eintritt, dass unser Wert für die Auswahl den Wert fünf hat. In dem Fall weisen wir hier den Text „Der Kunde will RSI“ unserer Einstiegsvariable zu. Wir nutzen dieses Mal plus und gleich. Denn das hat mit einer Besonderheit zu tun, auf die ich gleich noch zu sprechen komme. Und am Ende unsers Code Blocks steigen wir hier mit der Anweisung break wieder aus unserer Switch Abfrage aus. Denn der Break Operator beendet die Ausführung der letzten äußeren Schleife, in diesem Fall für Switch. Fügen wir noch ein paar Optionen hinzu. Im Fall, dass unser Wert für die Auswahl vier ist, dann möchten wir gerne, dass unsere Einstiegsvariable den Wert „Kunde will Bollinger Bands“ zusätzlich zu ihrem aktuellen Wert erhält. Falls unser Wert drei ist, dann soll das Ganze heißen: „Der Kunde will MacD“. Man kann hier übrigens in den Klammern auch eine einfache Rechenoperation ausführen. In diesem Fall 1+1 anstelle von zwei. Die Verwendung von Variablen führt allerdings zu Fehlern. Und wenn unser Wert zwei ist, dann möchten wir gerne den Text: „Der Kunde will Random entries“ hinzufügen. Zum Schluss kann man noch eine default Aussage treffen. Alles was hinter diesem Doppelpunkt hier steht wird ausgeführt, wenn keine der vorherigen Bedingungen zutrifft. In unserem Fall würden wir den Text: „Keine passende Auswahl“ anzeigen lassen. Und damit das angezeigt wird, was wir da berechnen, fügen wir hier außerhalb der Schleife noch den Comment Befehl ein. Der soll uns dann die Ausgabe für unseren Einstieg auf dem Chart anzeigen. Wenn Sie soweit alles haben, können Sie hier oben auf Kompilieren klicken oder die F7 Taste drücken. Das sollte hier ohne Fehler und Warnungen funktionieren. Und wenn das bei Ihnen auch der Fall ist, dann klicken Sie hier oben auf dieses kleine Symbol oder drücken Sie die F4 Taste um in den Metatrader zurückzukehren. Und im Metratrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Strg+R. Das ruft dann hier den Strategietester auf. Und hier wählen wir die Datei SimpleSwitchCaseAbfrage.ex4 aus. Markieren hier die Option für den visuellen Modus und starten einen Test. Jetzt wird auf unserem Chart angezeigt: Der Kunde will RSI. Ändern wir hier den Auswahlwert mal auf drei, Kompilieren erneut, stoppen den Test und starten ihn neu. Dann bekommen wir die Ausgabe: Jetzt will unser Kunde MacD. Denn das ist das, was wir für Option drei hier definiert haben. Ändern wir die Auswahl mal bewusst auf einen Wert, der nicht in unserer Liste ist und wählen die elf. Kompilieren erneut. Dann bekommen wir im nächsten Test hier die Aussage, dass wir keine passende Auswahl getroffen haben. Soweit funktioniert also alles. Es gibt aber eine Besonderheit. Und zwar, wenn man bei dieser Switch und Case Konstruktion den break Befehl vergisst oder absichtlich auslässt. Ich mache das jetzt mal bewusst. Ändere hier den Auswahl Wert wieder zurück auf fünf. Kompiliere erneut. Und starte einen neuen Test. Dann bekomme ich jetzt hier die Ausgabe: Der Kunde will RSI und der Kunde will Bollinger Bands und der Kunde will MacD. Obwohl unser Wert hier eindeutig fünf ist, wird alles ausgeführt, was hinter diesem Einstiegspunkt hier kommt. Und zwar bis zum nächsten break Statement. Auch wenn der Wert von unserer Variablen gar nicht vier oder drei ist. Es gibt Fälle, wo Leute das bewusst einsetzen. Ich selbst bin kein großer Fan davon. Aber das kann jeder für sich selbst entscheiden. Denn Sie haben in diesem kurzen Video gelernt, wir Sie mit Hilfe von Switch und Case den Kontrollfluss für Ihren Expert Advisor auf bestimmte Bedingungen prüfen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL4.

Download “CODE - SIMPLE SWITCH CASE ABFRAGE” SimpleSwitchCaseAbfrage.mq4 – 62-mal heruntergeladen – 685 B