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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请帮忙看下为什么只写最后一个?

   

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


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

主题:请帮忙看下为什么只写最后一个?

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


加好友 发短信
等级:新手上路 帖子:68 积分:436 威望:0 精华:0 注册:2011/1/16 22:06:51
请帮忙看下为什么只写最后一个?  发帖心情 Post By:2011/8/17 6:53:52 [只看该作者]

下面的宏本意是想把最后的三个开盘价写入文件中的,为什么只写最后一个?

我想把最后三日的各项数据写入文件,请朋友们帮忙解决.

 

sub hisdatashow()
 application.ClearMsg
 set HData1 = marketdata.GetHistoryData("SRY09","ZQ",5)
 'Document.OpenDoc("c:\Stock.ini")
 for i=HData1.count-3 to HData1.count-1
  application.MsgOut  "开盘价  " & HData1.open(i)  & "   收盘价   " & HData1.close(i)
  application.MsgOut  "最高价   " & HData1.high(i)  & "   最低价   " & HData1.low(i)
  application.MsgOut  "日期1   " & HData1.date(i)  & "   成交量   " & HData1.volume(i)
  application.MsgOut  "成交额   " & HData1.amount(i)  
  result =document.WritePrivateProfileFloat("MyCpp", "开盘价",HData1.open(i)   , "C:\Stock.ini")
 
 next
   application.MsgOut  "总数   " & HData1.count   

   end sub


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


加好友 发短信
等级:新手上路 帖子:50 积分:295 威望:0 精华:0 注册:2011/7/28 11:36:50
  发帖心情 Post By:2011/8/17 9:46:38 [只看该作者]

把next改成next i,除了遍历,for each xx in xxxs的格式可以直接用next,其他直接用next都会有可能只是执行一次,这是vb类的硬伤。

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2011/8/17 9:58:48 [只看该作者]

document.WritePrivateProfileFloat 只是记录常数变量的语法。

如果你要在文件中保存连续数据,参考 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&replyID=23402&ID=5688&skin=1

使用 Scripting.FileSystemObject 组件保存文本数据的部分



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
liboyi
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:68 积分:436 威望:0 精华:0 注册:2011/1/16 22:06:51
  发帖心情 Post By:2011/8/17 10:29:12 [只看该作者]

2楼的加 i 是不对的.

参考3楼的方法,搞好了.多谢你们.


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


加好友 发短信
等级:新手上路 帖子:50 积分:295 威望:0 精华:0 注册:2011/7/28 11:36:50
  发帖心情 Post By:2011/8/17 12:27:01 [只看该作者]

我理解3楼说什么,是你那句语句,由于没有“定位”,每一句写进去的时候都覆盖了,你处理定位即可

 

另外next i和next的是基本一样的,但我只能告诉你,vb的硬伤,在于你的程序特别复杂时,不加 i 是会出现不循环的情况(在多嵌套中特别明显);如果你程序是控制交易的,还是把 i 加上吧,严谨一些的好。


 回到顶部