Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:请教关于金字塔VBA中多重for循环的问题

1楼
李润Rex 发表于:2016/12/9 12:41:45
图片点击可在新窗口打开查看 
以下内容为程序代码:

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使用出错。而类似的问题在另一个过程中的二重循环中也遇到了,所以想请教一下这是什么原因导致的。谢谢
2楼
李润Rex 发表于:2016/12/9 12:43:59
出现错误的循环是27行的next,它对应的for是第7行语句。
3楼
李润Rex 发表于:2016/12/9 13:01:18
代码截图是这样  黄色箭头处的Next会报错,对应的是 for iperiod那层循环
图片点击可在新窗口打开查看此主题相关图片如下:bhypt13mhzv07$)m$zy{{)5.png
图片点击可在新窗口打开查看
4楼
microsoft 发表于:2016/12/9 15:29:46
elseif 中间没有空格的
5楼
李润Rex 发表于:2016/12/9 16:17:05
啊原来是这样   十分感谢~
共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 2 queries.