Brauche Hilfe: IF-Abfrage mit mehreren optionalen Bedingungen
Hallo,
ich hoffe, ich finde hier jemanden, der mir bei meinem Problem weiterhelfen kann. Und zwar bin ich gerade dabei einen Indikator zu programmieren, der verschiedene andere Indikatoren (MAs, RSI, ADX usw.) auf bestimmte Bedingungen überprüft, und, wenn alle Bedingungen erfüllt sind, ein Ergebnis liefert. Das funktioniert soweit ganz gut. Nun möchte ich den Indikator so erweitern, dass die Prüfung jeder einzelnen Bedingung über die Input-Parameter des Indikators an- oder abgeschaltet werden kann. Kann mir jemand sagen, wie ich dies realisieren kann? Das Ganze sieht in etwa zum jetztigen Zeitpunkt so aus: if ( Bedingung1 && Bedingung2 && Bedingung3 ) { Ergebnis; } Über das Einstellungsfenster des Indikators möchte ich nun z.B. festlegen, dass, wenn "Bedingung1_aktiv = false" ist, nur die Überprüfung der Bedingung2 und 3 durchgeführt wird. Ich würde mich über hilfreiche Hinweise sehr freuen. Stephan |
Da gibts mehrere Möglichkeiten.
Zuerst natürlich die externe variable, bspw. extern bool UseAdx = true; extern bool UseStoch = false; etc. Nun könntest Du mit bool-funktionen arbeiten, der übersicht halber, also hier: bool adxok() { if (!UseAdx) return(true);//wenn adx nicht genutzt werden soll setzen wir es auf true if (iADX(uw.)<=xyz) return(true);//prüfen ob bedingung erfüllt return(false);//nicht erfüllt } Dasselbe dann mit stoch und den anderen bedignungen im code dann if (adxok()&&stochok()) ordersend(usw.) oder: if ( (UseAdx&&adxwert>=xyz)||!UseAdx) && Bedingung2...) Ordersend(usw.) |
Hallo Steph,
habe da noch eine andere Idee: Code:
extern bool Bedingung1_aktiv=false; antikythera |
Vielen Dank für die Antworten und Tipps. Ich habe mich für die Variante
"if ( (UseAdx&&adxwert>=xyz)||!UseAdx) && Bedingung2...) Ordersend(usw.) " entschieden. Dies scheint mir bei einer größeren Anzahl von zu prüfenden Bedingungen die übersichtlichste zu sein. Habe es bereits ausprobiert und es funktioniert wunderbar. Dankeschön. Stephan |
Alle Zeitangaben in WEZ +2. Es ist jetzt 09:49 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