Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Codeschnipsel (http://www.expert-advisor.com/forum/forumdisplay.php?f=291)
-   -   Switch Anweisung (http://www.expert-advisor.com/forum/showthread.php?t=6209)

ehonk 19.09.18 13:56

Switch Anweisung
 
Moin liebe Coder,
ich habe da mal eine Frage zu der Switch Anweisung.
Ich würde diese gerne einsetzen, bin aber nicht sicher ob es so richtig ist.
Vielleicht kann ja mal jemand der sich auskennt drüber schauen.

Code:

     
switch(Signal_long)
        {
            case 0: Open[0] > Open[1]; break;
            case 1: High[1] > High[2]; break;
            default: Signal_long;      break;
        }

Danke

Leopold 19.09.18 15:00

ich bin mir nicht sicher ob in deinem Fall die Switch anweisung sinnvoll ist, kannst du das etwas weiter erläutern? Normalerweise benutzt du diese wenn eine Variable einen bestimmten wert hat.
z.B. wenn Signal_long = 0 (case 0: Anweisung)

---Leopold---

ehonk 19.09.18 17:16

Hallo Leopold,
also die genaue Anweisung wäre Signal_long == true.
Die Idee dahinter ist die ganzen if´s und else weg zubekommen.
Gruß ehonk

Leopold 19.09.18 17:25

Da wirst du nicht drumherum kommen.

Beim switch wird überprüft welchen Wert eine Variable (in deinem Fall "Signal_long") hat und je nachdem was zutrifft, wird dann ausgeführt.

Das heißt du müsstest der Variable vorher einen Wert zuweisen und dann mit switch abfragen welchen Wert diese Variable hat.

https://docs.mql4.com/basis/operators/switch

---Leopold---

ehonk 20.09.18 08:54

Moin Leopold und Danke für die Antwort,
ich stelle mich wohl ein wenig an, die switch Anweisung um zusetzen.
Könntest Du mir für den geschrieben Code die richtige Anweisung geben? Also switch(Signal_long = true)
.................
?
Ich wäre Dir wirklich dankbar.
Gruß ehonk

Leopold 20.09.18 09:12

Hallo

Code:


if (Open[0] > Open[1]) Signal_long = 0;
else if (High[1] > High[2]) Signal_long = 1;

switch(Signal_long)
        {
            case 0: Anweisung; break;
            case 1: Anweisung; break;
            default: Anweisung; break;
        }

nur glaub ich, dass das in deinen Fall nicht sinnvoll ist...

---Leopold---


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:29 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum