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: 43262
Benutzer: 7.221
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Thomas75
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 39 Minuten
- Thomas75
vor 14 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 14.08.18
Mitglied
 
Registriert seit: Dec 2016
Beiträge: 54
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..
  #2 (permalink)  
Alt 14.08.18
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
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 16:14 Uhr)
  #3 (permalink)  
Alt 14.08.18
Mitglied
 
Registriert seit: Dec 2016
Beiträge: 54
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
  #4 (permalink)  
Alt 14.08.18
Mitglied
 
Registriert seit: Dec 2016
Beiträge: 54
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..
  #5 (permalink)  
Alt 14.08.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Darf man mal fragen was der Sinn der ganzen Sache ist?
  #6 (permalink)  
Alt 14.08.18
Mitglied
 
Registriert seit: Dec 2016
Beiträge: 54
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
Thema geschlossen

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 +1. Es ist jetzt 12:10 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.
-----------------------------------------------------------------------------------------------------------------------------