Rss & SiteMap

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

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

标题:3.8 beta3 新版本 分笔数据 VBS保存问题

1楼
wsslei 发表于:2016/1/3 22:56:53
3.8 beta3 新版本,在 MinuteData对象增加分笔数据 
Set MinuteData = marketdata.GetHistoryMinuteData("if00","zj","2015-12-29")
minutedata.InsertAt(minutedata.Count)
minutedata.Date(minutedata.Count) = "15:14:59"
minutedata.NewPrice(minutedata.Count) = 777
call minutedata.SaveData("IF00","ZJ")
marketdata.DestroyMinuteData

目前只有 minutedata.InsertAt(minutedata.Count) 是最末加了个空记录进去
空记录赋值不是无效果,就是软件直接报错,请检查

-----------------------------------------------------------------------------
前问题是想在已有的某日分笔数据里增加或修正某条分笔记录时的问题

现在的问题是假设2015/12/24整日分笔数据缺失,进行整日添加

Set MinuteData = marketdata.GetHistoryMinuteData("if00","zj","2015-12-24")
msgbox minutedata.Count ‘显示 0,说明该日无分笔记录,看上去正确
minutedata.InsertAt(minutedata.Count) ’运行无错误
msgbox minutedata.Count  ‘显示1, 说明已增加1笔空记录
minutedata.Date(minutedata.Count) = "15:14:59"  ’貌似该行没起作用
minutedata.NewPrice(minutedata.Count) = 777  ’貌似该行没起作用
call minutedata.SaveData("IF00","ZJ")  ‘存是存了,文件是1970年的,软件内查看数据是1975年的..... , 应该存 2015/12/24
marketdata.DestroyMinuteData

save设返回值也是1,貌似Save成功的,是否属性赋值语句我写得有问题?
2楼
admin 发表于:2016/1/3 22:59:15

minutedata.Date(minutedata.Count) = "15:14:59"

这里不能只写时间,日期也要搞上去

3楼
wsslei 发表于:2016/1/4 11:52:45
改为
minutedata.Date(minutedata.Count) = "2015-12-29 15:14:59"

还是老样子: 

目前只有 minutedata.InsertAt(minutedata.Count) 是最末加了个空记录进去
空记录赋值不是无效果,就是软件直接报错,请检查


4楼
wsslei 发表于:2016/1/4 15:28:12
顶下
5楼
yukizzc 发表于:2016/1/5 12:51:03

先手动在分笔文件夹内创建好分笔文件。代码的参数部分注意是从0开始的,所以要用count-1

Set MinuteData = marketdata.GetHistoryMinuteData("IF00","ZJ","2016/01/02")

minutedata.InsertAt(minutedata.Count)

minutedata.Date(minutedata.Count-1) = "2016/01/02 14:16:59"
minutedata.NewPrice(minutedata.Count-1) = 777
application.MsgOut minutedata.Date(minutedata.Count-1)
call minutedata.SaveData("IF00","ZJ")
marketdata.DestroyMinuteData

 

6楼
王锋 发表于:2016/1/5 13:23:31

之前的版本是不能直接创建新的分笔数据文件的,下个升级版对这个问题专门做了修正。

 

你前面的代码也有BUG,参考下面的改动

 

Set MinuteData = marketdata.GetHistoryMinuteData("if00","zj","2015-12-24")
  
msgbox minutedata.Count
minutedata.InsertAt(minutedata.Count)
msgbox minutedata.Count     
minutedata.Date(minutedata.Count-1) = "2015-12-24 15:14:59"
minutedata.NewPrice(minutedata.Count-1) = 777
call minutedata.SaveData("IF00","ZJ")
marketdata.DestroyMinuteData

[此贴子已经被作者于2016/1/5 13:24:56编辑过]
7楼
wsslei 发表于:2016/1/5 15:28:31
好的,多谢王工
共7 条记录, 每页显示 10 条, 页签: [1]


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