逐K线模式下。
r:=F[1];
p:=close[DATACOUNT-r];
F是一个数值数组,F[1]里面已经存储好了一个数值。
r,p都是一个全局变量。
上面代码意图很简单,在逐K线模式下,把DATACOUNT-r所在位置的K线的收盘价提取出来,存储到p这个全局变量中。
但是上述代码一执行,立马提示〔数组越界操作〕,这是为什么呢?如何修改?
逐k运行到第一根的时候close[1-r]括号里是负值就会出错了
可以前面添加IF BARPOS<=r THEN EXIT;//仅计算周期开始计算
试试看
可能不是这个原因,因为我检测了r的值,他远远小于DATACOUNT.