There is a bug in zmq4.mqh in overloading MQL5 functions for the existing MQL4 code base to work on MT5.
#define DEFINE_TIMESERIE(NAME,FUNC,T) \
class CLASS##NAME \
{ \
public: \
static T Get(const string Symb,const int TimeFrame,const int iShift) \
{ \
T tValue[]; \
\
return((Copy##FUNC((Symb == NULL) ? _Symbol : Symb, [color:#CC33CC]_Period[/color], iShift, 1, tValue) > 0) ? tValue[0] : -1); \
}
....
}
_Period refers to the timeframe/period on the chart that Zorro EA is applied to.
As a result, CMD_HISTORY calls return bars of the timeframe on the chart, rather than that specified by Zorro (which is PERIOD_M1), and that screws up internal Zorro bar construction\gives erroneous data for the Lookback period in Live.
The corrected line that works:
return((Copy##FUNC((Symb == NULL) ? _Symbol : Symb, [color:#CC33CC]TFMigrate(TimeFrame)[/color], iShift, 1, tValue) > 0) ? tValue[0] : -1);