以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  无法把数组单个值传出来?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=48871)

--  作者:mikebike
--  发布时间:2013/2/25 12:41:29
--  无法把数组单个值传出来?
逐K线模式下。

r:=F[1];
p:=close[DATACOUNT-r];

F是一个数值数组,F[1]里面已经存储好了一个数值。
r,p都是一个全局变量。

上面代码意图很简单,在逐K线模式下,把DATACOUNT-r所在位置的K线的收盘价提取出来,存储到p这个全局变量中。

但是上述代码一执行,立马提示〔数组越界操作〕,这是为什么呢?如何修改?

--  作者:wahoo
--  发布时间:2013/2/25 13:01:09
--  
逐k运行到第一根的时候
close[1-r]括号里是负值就会出错了
可以前面添加IF BARPOS<=r THEN EXIT;//仅计算周期开始计算
试试看

--  作者:mikebike
--  发布时间:2013/2/25 13:08:15
--  
可能不是这个原因,因为我检测了r的值,他远远小于DATACOUNT.
--  作者:wahoo
--  发布时间:2013/2/25 13:10:46
--  
你用单步调试看看在哪根k线出错的