Einzelnen Beitrag anzeigen
  #18 (permalink)  
Alt 22.08.16
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Der MT4 besitzt die Besonderheit, bei eine Änderung der externen Variablen des EAs über z.B. die Taste F7, zwar die externen Variablen zu berücksichtigen, aber nicht!! die globalen Variablen. Bei einem Neustart per Compilierung oder auf den Chart ziehen des EAs werden auch die globlen Variablen, z.B.

datetime OldBarOpenTimeH1 = 0;
datetime OldBarOpenTimeD1 = 0;

durchlaufen.
Da die aber wie gesagt beim TF-Wechsel per Variablenänderung nicht mit berücksichtigt werden, springt der EA erst gar nicht in den Teil:

if(OldBarOpenTimeD1 != iTime(NULL,PERIOD_D1,0))
weil immer noch
OldBarOpenTimeD1 = iTime(NULL,PERIOD_D1,0) ist!

Nach Zusatz des Codes im OnInit() um die Zeilen:
OldBarOpenTimeD1 = 0;
OldBarOpenTimeH1 = 0;

werden immer beide Abfagen anfangs true sein und damit der Klammerausdruck abgearbeitet.

Und dann erscheinen immer und sofort die richtigen Indikatorwerte.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.