iCustom returns strange results for Accumulation indicator in tester

 

Using this simplest of EAs:
#property strict
input bool NewBarOnly = true;
int OnInit()
{
    Print(__FUNCTION__+";NewBarOnly "+(NewBarOnly ? "True" : "False"));
    return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason) {}
void OnTick()
{
    static datetime T1 = D'1970.01.01 00:00:00';
    datetime CurrentBarTime = iTime(NULL, 0, 1);

    if (!NewBarOnly || T1 != CurrentBarTime) {
        T1 = CurrentBarTime;
        Print("CurrentBarTime "+
            TimeToString(CurrentBarTime,TIME_DATE|TIME_SECONDS)+
            ",Open "+DoubleToString(iOpen(NULL,0,1),_Digits)+
            ",High "+DoubleToString(iHigh(NULL,0,1),_Digits)+
            ",Low "+DoubleToString(iLow(NULL,0,1),_Digits)+
            ",Close "+DoubleToString(iClose(NULL,0,1),_Digits)+
            ",Indicator Accumulation "+DoubleToString(iCustom(NULL,0,"Accumulation",0,1),0));
    }
}

.. and attaching the standard MT4 Accumulation indicator that comes with most if not all installations, see the attached picture of the results of the shortest run possible, that of the last day in my history, 17 November 2017. The indicator is displayed correctly on screen, the Data Window shows a proper value, but the return from iCustom is garbage for all times. The OHLC in the EA print output matches to the bar values in the Data Window.  This run was done with MT4 M1 data completely updated and tester history all removed before run.

This bad return from iCustom was happening to me in some other indicators as well which started me on this path.

Why is this happening and is there any way to fix this? Am I doing something wrong here?

Files:
Capture1.PNG  90 kb
Reason: