Series arrays函数的问题

 
写EA时发现以下问题:

代码段:
Print("M5 iHighest:",iHigh(NULL,PERIOD_M5,iHighest(NULL, PERIOD_M5, MODE_HIGH, 20, 0)));
Print("M15 iHighest:",iHigh(NULL,PERIOD_M15,iHighest(NULL, PERIOD_M15, MODE_HIGH, 20, 0)));
Print("M30 iHighest:",iHigh(NULL,PERIOD_M30,iHighest(NULL, PERIOD_M30, MODE_HIGH, 20, 0)));

以上代码写在indicator中时,测试的时候只有选择的时间周期能取得正确的值,
如:测试时选择M15,结果如下:
15:55:02 BB EURUSDm,M15: M5 iHighest:1.54
15:55:02 BB EURUSDm,M15: M15 iHighest:1.2988
15:55:02 BB EURUSDm,M15: M30 iHighest:1.5404

但以上代码写到EA中时,可以正常工作。

这是否是Series arrays函数的Bug?

TKS!
原因: