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

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   ... mal wieder die Zeit ... (http://www.expert-advisor.com/forum/showthread.php?t=6592)

AVT 03.02.20 19:06

... mal wieder die Zeit ...
 
Liste der Anhänge anzeigen (Anzahl: 3)
Ich habe mal wieder ein Zeitproblem. Ich versuche im Chart einen historischen Überblick für bestimmte Linien (hier Tagesopen und -close) dazustellen.

Zeiten: open 08:00 local=07:00 server, close 22:00 local=21:00 server
1. Problem: der Provider gibt Freitags den Schlußkurs um 21:59 local
-. gelöst indem ich am Fr 1 Minute abziehe
2. Problem: im m1 Chart ok, alle anderen Zeiten nicht (Bilder im Anhang)

Ich gehe im Loop vom alten zum neuen, also ist immer der letzte Schlußkurs bekannt (entweder der von gestern oder - falls er vor dem Paint-Ende liegt, ist es eben der neue von heute, ist aber in diesem Beispiel nicht der Fall). Ich dachte immer, wenn ich eine static double Variable habe, bleibt der Wert so lange erhalten bis er einen neuen kriegt. Und ich dachte auch immer, wenn ich iClose() benutze, nimmt er den Wert aus der PERIOD_X egal aus welchem aktuellen Chart ich den aufrufe. Aber irgendwo ist der Wurm drin.
Kann jemand helfen, bitte? Danke. AVT

MA-EA 03.02.20 20:14

Kenn mich mit Indi proggen überhaupt nicht aus. Aber woher soll er wissen, welche Ziffer für welchen Wochentag steht? :confused:
Code:

extern int    StartDay        = 1;          // start day (1=Monday)
extern int    StopDay          = 5;          // stop day (5=Friday)


AVT 03.02.20 22:23

Zitat:

Zitat von MA-EA (Beitrag 43295)
.... Aber woher soll er wissen, welche Ziffer für welchen Wochentag steht? :confused:

Das findet er raus:
Code:

if(TimeDayOfWeek(Time[i])>=StartDay && TimeDayOfWeek(Time[i])<=StopDay) //Mo-Fr
AVT

AVT 04.02.20 13:19

vorläufige Lösung
 
Ist zwar nicht Sinn der Sache, aber anders geht's wohl nicht:
Dann gibt es halt Montags keinen Schlußkurs von Freitags!
Egal was ich ausprobiert habe, über m1 wird's halt falsch eingezeichnet, dann lieber gar nicht. AVT

MA-EA 05.02.20 06:10

https://docs.mql4.com/dateandtime/dayofweek

AVT 05.02.20 22:13

Zitat:

Zitat von MA-EA (Beitrag 43318)

Sagte ich doch, erst muß der Benutzer die Tageszahlen angeben (und das sind eben 1=Montag 5=Freitag, folglich 2=Dienstag, 3=Mittwoch ..., 0=Sonntag braucht kein Mensch) und im Code wird dann geguckt, ob wir einen Tag haben, an dem gerechnet werden muß.
Und wenn ein Benutzer nicht versteht, was für eine Zahl er da eingeben muß, dann sollte er den Indi nicht verwenden (da habe ich schon ganz andere Sachen gesehen). AVT

Leopold 07.02.20 22:13

Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich habs nicht getestet aber schau dir das mal an ... vielleicht hab ich was übersehn aber der Grundgedanke sollte dir damit klar werden.

---Leopold---

AVT 08.02.20 18:29

gelöst von Leopold
 
Zitat:

Zitat von Leopold (Beitrag 43340)
ich habs nicht getestet aber schau dir das mal an ... vielleicht hab ich was übersehn aber der Grundgedanke sollte dir damit klar werden.
---Leopold---

:D:D:D Jawoll, danke Leopold, nun klappt es wie beabsichtigt - die PeriodSeconds() ist mir bisher noch nicht aufgefallen - kann ich bestimmt auch noch woanders verwenden. AVT


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:11 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