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: 4082
Beiträge: 38607
Benutzer: 6.375
Aktive Benutzer: 230
Links: 80
Wir begrüßen unseren neuesten Benutzer: pari13
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 18:12).
Neue Benutzer:
vor einem Tag
- pari13
vor 2 Tagen
- MadMax321
vor 2 Tagen
- Slumtrader
vor 4 Tagen
- Dario
vor einer Woche
- Redline

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 14.08.18
Mitglied
 
Registriert seit: Dec 2016
Beiträge: 44
TTFM2016 befindet sich auf einem aufstrebenden Ast
Standard If Anweisung.. Was fehlt?

Hi, ich bitte um eure Hilfe. Ich habe einen Zähler programmiert, der einem Wert entweder eine 1, 0 oder -1 zuweist. Mehrere dieser Werte werden dann zusammengezählt und das Ergebnis wird mir über die Comment Funktion im Chart angezeigt.
Allerdings ist die Zuweisung nicht immer richtig. Einem Wert müsste zum Beispiel eine -1 zugewiesen werden, es wurde Ihm aber eine 1 zugewiesen.

Hier der Code:

extern int Zeiteinheit = 1;

int EUR1,EUR2,..,EURZaehler;

void OnTick()
{
//---

//EURUSD <
if(iOpen("EURUSD",Zeiteinheit,1)<iClose("EURUSD",Z eiteinheit,1))
{
if(EUR1!=1)
{
EUR1=1;
}
if(USD1!=-1)
{
USD1=-1;
}
}


//EURUSD >
if(iOpen("EURUSD",Zeiteinheit,1)>iClose("EURUSD",Z eiteinheit,1))
{
if(EUR1!=-1)
{
EUR1=-1;
}
if(USD1!=1)
{
USD1=1;
}
}


//EURUSD =
if(iOpen("EURUSD",Zeiteinheit,1)==iClose("EURUSD", Zeiteinheit,1))
{
if(EUR1!=0)
{
EUR1=0;
}
if(USD1!=0)
{
USD1=0;
}
}


EURZaehler = EUR1+EUR2,..;

Comment("EUR"," ",EURZaehler);

}


Ich denke, dass die if Befehle nicht ganz richtig sind und er da irgendwo hängen bleibt. Allerdings komme ich ohne Hilfe nicht weiter... Weiß nicht, ob da ein return, break, else oder was auch immer fehlt.. Was ich auch versucht habe, hat nur zu weiteren Fehlern geführt..
Mit Zitat antworten
  #2 (permalink)  
Alt 14.08.18
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 282
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich weis zwar nicht genau was du da willst aber versuch es mal so:

Code:
extern int Zeiteinheit = 1;

int EUR1,EUR2,..,EURZaehler;

void OnTick()
{
double Open1 = iOpen("EURUSD", Zeiteinheit, 1);
double Close1 = iClose("EURUSD", Zeiteinheit,1);

//EURUSD <
if(Open1 < Close1)
{
EUR1=1;
USD1=-1;
}


//EURUSD >
else if(Open1 > Close1)
{
EUR1=-1;
USD1=1;
}


//EURUSD =
else if(Open1 == Close1)
{
EUR1=0;
USD1=0;
}


EURZaehler = EUR1+EUR2,..;

Comment("EUR"," ",EURZaehler);

}
Da du bei der Deklaration keine werte vergeben hast, weis ich nicht ob die if Abfrage überhaupt funktioniert, aber wenn der Wert sowieso zugewiesen werden soll, dann brauchst du auch nicht abfragen ob dieser Wert bereits zugewiesen ist.
Was ist eigentlich mit EUR2 usw. wann weist du diesen Werte zu? Ich glaube, dass es eher daran liegt dass diese Werte nicht richtig definiert sind.

Und schreibe bitte den Code das nächste mal wie vorgesehen. (# - Symbol in Symbolleiste).


---Leopold---

Geändert von Leopold (14.08.18 um 17:14 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 14.08.18
Mitglied
 
Registriert seit: Dec 2016
Beiträge: 44
TTFM2016 befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Antwort. Werde es heute Abend mal ausprobieren. EUR2 kommt dann vom nächsten Währungspaar, z. B. Eurjpy. Der Code ist dann genau wie der gepostete, nur mit dem anderen Währungspaar und mit fortlaufenden Zahlen am Ende. So gehe ich alle Währungspaare durch
Mit Zitat antworten
  #4 (permalink)  
Alt 14.08.18
Mitglied
 
Registriert seit: Dec 2016
Beiträge: 44
TTFM2016 befindet sich auf einem aufstrebenden Ast
Standard

Habe das Problem gefunden. Es lag aber nicht am Code.

Anscheinend ist es erforderlich alle Währungspaare, deren Kursdaten im EA benötigt werden, permanent in der Marktübersicht anzuzeigen. Hatte fast alle Symbole verborgen und da hat es nicht funktioniert. Jetzt bin ich auf "alle anzeigen" gegangen und es funktioniert einwandfrei..
Mit Zitat antworten
  #5 (permalink)  
Alt 14.08.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 688
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Darf man mal fragen was der Sinn der ganzen Sache ist?
Mit Zitat antworten
  #6 (permalink)  
Alt 14.08.18
Mitglied
 
Registriert seit: Dec 2016
Beiträge: 44
TTFM2016 befindet sich auf einem aufstrebenden Ast
Standard

Naja, man sieht ganz gut die Stärke und Schwäche der einzelnen Währungen aus der letzten Kerze in einer beliebigen Zeiteinheit..

Beispiel:
EURUSD
letzte 1 min Kerze
Open>Close

EUR1=-1
USD1=1


NZDUSD
1min
Open>Close

NZD1=-1
USD2=1


EURNZD
1min
Open>Close

EUR2=-1
NZD2=1


USDZaehler=USD1+USD2=2
EURZaehler=EUR1+EUR2=-2
NZDZaehler=NZD1+NZD2=0

In diesem Beispiel wäre in der letzten 1min Kerze Stärke im USD und Schwäche im EUR.. Habe alle Majors und Minors im EA und bekomme so mMn ganz nützliche Informationen.. Was man nun mit den Informationen veranstaltet bleibt jedem selber überlassen
Mit Zitat antworten
Antwort

Lesezeichen


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 +2. Es ist jetzt 16:19 Uhr.


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