Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43256
Benutzer: 7.220
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 10 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 433
Gesamt: 433
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 12.03.14
Neues Mitglied
 
Registriert seit: Mar 2014
Beiträge: 2
steph01 befindet sich auf einem aufstrebenden Ast
Standard 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
  #2 (permalink)  
Alt 12.03.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

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.)
  #3 (permalink)  
Alt 12.03.14
Neues Mitglied
 
Registriert seit: Feb 2014
Ort: Schöneck
Beiträge: 18
antikythera befindet sich auf einem aufstrebenden Ast
Standard

Hallo Steph,
habe da noch eine andere Idee:
Code:
extern bool Bedingung1_aktiv=false;
extern bool Bedingung2_aktiv=true;
extern bool Bedingung3_aktiv=true;

bool Bedingung1=true; // die Bedingungen müssen z.B.
bool Bedingung2=true; // von Indikatoren geschaltet
bool Bedingung3=true; // werden

if(!Bedingung1_aktiv) Bedingung1=false;
if(!Bedingung2_aktiv) Bedingung2=false;
if(!Bedingung3_aktiv) Bedingung3=false;

int Schalter1=Bedingung1_aktiv*4 + Bedingung2_aktiv*2 + Bedingung3_aktiv;
int Schalter2=Bedingung1*4 + Bedingung2*2 + Bedingung3;

if(Schalter1==Schalter2) SendOrder... else return(false);
Gruß
antikythera
  #4 (permalink)  
Alt 13.03.14
Neues Mitglied
 
Registriert seit: Mar 2014
Beiträge: 2
steph01 befindet sich auf einem aufstrebenden Ast
Standard

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
Thema geschlossen

Lesezeichen

Stichworte
if-abfrage, indikator, metatrader indikator, mql4, programmierung, programmierung metatrader

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 08:11 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------