以下内容为程序代码:
1 '初始资金状态
2 iCost=0
3 iRevenue=0
4 redim iStock(count)
5 '对每一支股票进行回测
6 for i=0 to count-1
7 for iperiod=10 to History_stock(i).count-1
8 redim ma5(History_stock(i).count-10)
9 redim ma10(History_stock(i).count-10)
10 for k=1 to 5
11 ma5(iperiod-10)=ma5(iperiod-10)+History_stockcode(i).close(iperiod-k)
12 next
13 for k=1 to 10
14 ma10(iperiod-10)=ma10(iperiod-10)+History_stockcode(i).close(iperiod-k)
15 next
16 if ma5(iperiod-10)>ma10(iperiod-10) then
17 '记录购买后的成本以及持有资产i的数量
18 iCost=iCost+History_stockcode(i).close(iperiod)*1000
19 iStock(i)=iStock(i)+1000
20 else if ma5(iperiod-10)<ma10(iperiod-10) then
21 if iStock(i)>0 then
22 '记录账户上的可用现金余额并平掉i的仓位
23 iRevenue=iRevenue+History_stockcode(i).close(iperiod)*iStock(i)
24 iStock(i)=0
25 end if
26 end if
27 next
28 '将现在持有的股票头寸加入在内~
29 iRevenue=iRevenue+History_stockcode(i).close(iperiod)
30 next
您好,请问如上示例的简单代码中有一个二重for循环,语句结构都没有问题,但是在运行过程中会报错提示Next使用出错。而类似的问题在另一个过程中的二重循环中也遇到了,所以想请教一下这是什么原因导致的。谢谢
出现错误的循环是27行的next,它对应的for是第7行语句。
代码截图是这样 黄色箭头处的Next会报错,对应的是 for iperiod那层循环

此主题相关图片如下:bhypt13mhzv07$)m$zy{{)5.png