If I make it like this, it fixes the problem also for other timeframes:
bool printed = false;
void OnInit()
{
iClose(Symbol(), PERIOD_M1, 0);
iClose(Symbol(), PERIOD_M1, 0);
iClose(Symbol(), PERIOD_M5, 0);
iClose(Symbol(), PERIOD_M5, 0);
iClose(Symbol(), PERIOD_M15, 0);
iClose(Symbol(), PERIOD_M15, 0);
iClose(Symbol(), PERIOD_M30, 0);
iClose(Symbol(), PERIOD_M30, 0);
iClose(Symbol(), PERIOD_H1, 0);
iClose(Symbol(), PERIOD_H1, 0);
iClose(Symbol(), PERIOD_H4, 0);
iClose(Symbol(), PERIOD_H4, 0);
iClose(Symbol(), PERIOD_D1, 0);
iClose(Symbol(), PERIOD_D1, 0);
}
void OnTick()
{
if (printed == true) {ExpertRemove(); return;}
printed = true;
Print("Value 1 = " + iClose(Symbol(), PERIOD_D1, 0));
Print("Value 2 = " + iClose(Symbol(), PERIOD_D1, 0));
Print("Value 3 = " + iClose(Symbol(), PERIOD_D1, 0));
Print("Value 4 = " + iClose(Symbol(), PERIOD_D1, 0));
Print("Value 5 = " + iClose(Symbol(), PERIOD_D1, 0));
}
... but it makes the EA to start slow and probably uses more resources, because it loads all timeframes. So I don't want to use this fix in fxDreema