今天在编程统计spread,计算平均值,发现WHOLE_ARRAY误用。
错误代码如下,
double spd[100]={0.0}; SumSPD -= spd[99]; ArrayCopy(spd,spd,1,0,WHOLE_ARRAY); spd[0]= MarketInfo(NULL,MODE_SPREAD); SumSPD += spd[0];
错误现象是,spd[]的元素个数在不停膨胀中,即使用ArraySize(spd)发现101、102、103...递增中。疑似是WHOLE_ARRAY扩增了spd[]数组自身。
解决办法,把WHOLE_ARRAY改成实际需要copy的99个即可。
发表评论