为什么ArrayResize在方法中调用总是返回-1

 
 MQL4, EA
  double s[];
  double hg[];
  int sRe = ArrayResize(s, 5);
  int hgRe = ArrayResize(hg, 25);
  PrintFormat("sRe: %d, hgRe: %d", sRe, hgRe);

在OnInit()中调用 返回正常: E1 ... sRe: 5, hgRe:25

写在一个方法中由 OnInit()调用该方法,  总是返回: E1 ... sRe: 5, hgRe: -1

为什么写在方法中就不行

为什么ArrayResize(s, 5);成功, 而ArrayResize(hg, 25);就失败.

附加的文件:
E1.mq4  3 kb
 
测试了下代码,确实有问题,这个有点奇怪。
 

// s[i] = iMAOnArray(hg, 0, 2, 0, MODE_EMA, i);

去掉这个就正常了

 
my15605613828 #:

// s[i] = iMAOnArray(hg, 0, 2, 0, MODE_EMA, i);

去掉这个就正常了

是的,奇怪的点是调用iMAOnArray(...)之前,数组hg的ArrayResize就失败了,这是很多年的老bug了。