Switch, Case und Default in MQL4

video
play-sharp-fill

Manche Aktionen möchte man nur ausführen wenn andere Bedingungen wahr sind. Es macht beispielsweise keinen Sinn, das Frühstück erst um 10 zu servieren wenn ich um 8 Uhr schon arbeiten muss weil wir einen Wochentag haben. Ich könnte also in einem Programm abprüfen ob es sich um einen Wochentag handelt und wenn das der Fall ist, dann gibt es halt das Frühstück wie bei mir schon um 6! Solche Sachen kann man mit dem Switch-Statement abprüfen. Man gibt eine Vorbedingung - in diesem Fall eine Integer-Variable mit dem Wert 3 an - und dann prüft man, ob die bestimmte Bedingung erfüllt ist oder nicht. In unserem Fall prüfen wir zunächst ob die Variable a vielleicht den Wert 5 hat. Ist das nicht der Fall prüfen wir noch ob die Variable den Wert 7 hat und im Default-Fall (sprich also im Standardfall wenn alle anderen Bedingungen die vorher abgeprüft werden nicht richtig sind) dann würde hier diese Zeile mit dem Standardkommentar ausgegeben dass unsere Variable weder den Wert 5 noch 7 hat. Wir werden das jetzt mal testen denn unsere Variable hat ja den Wert 3. Wir kompilieren den Code, wechseln in den Metatrader und lassen unseren Test mal laufen. Und wie erwartet kommt hier oben der Text: a ist weder 5 noch 7. Ändern wir das doch einmal und geben a hier an der Stelle den Wert 7, dann bekommen wir jetzt hier auch die Aussage a ist 7. Natürlich macht es keinen Sinn erst einen festen Wert anzugeben und danach zu prüfen ob der Wert auch stimmt. Das dient hier nur Demonstrationszwecken. Aber man kann das gleiche Konstrukt beispielsweise verwenden um einen Wochentag oder ein Kalenderdatum abzuprüfen indem man das Ganze mit der datetime Variable kombiniert.