欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教关于金字塔VBA中多重for循环的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3014人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
李润Rex
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:77 积分:0 威望:0 精华:0 注册:2016/11/22 9:21:08
请教关于金字塔VBA中多重for循环的问题  发帖心情 Post By: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使用出错。而类似的问题在另一个过程中的二重循环中也遇到了,所以想请教一下这是什么原因导致的。谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
李润Rex
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:77 积分:0 威望:0 精华:0 注册:2016/11/22 9:21:08
  发帖心情 Post By:2016/12/9 12:43:59 [只看该作者]

出现错误的循环是27行的next,它对应的for是第7行语句。

 回到顶部
帅哥哟,离线,有人找我吗?
李润Rex
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:77 积分:0 威望:0 精华:0 注册:2016/11/22 9:21:08
  发帖心情 Post By:2016/12/9 13:01:18 [只看该作者]

代码截图是这样  黄色箭头处的Next会报错,对应的是 for iperiod那层循环
图片点击可在新窗口打开查看此主题相关图片如下:bhypt13mhzv07$)m$zy{{)5.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
microsoft
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2014/5/24 15:42:20
  发帖心情 Post By:2016/12/9 15:29:46 [只看该作者]

elseif 中间没有空格的

 回到顶部
帅哥哟,离线,有人找我吗?
李润Rex
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:77 积分:0 威望:0 精华:0 注册:2016/11/22 9:21:08
  发帖心情 Post By:2016/12/9 16:17:05 [只看该作者]

啊原来是这样   十分感谢~

 回到顶部