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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 3.8 beta3 新版本 分笔数据 VBS保存问题

   

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


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

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

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


加好友 发短信
等级:论坛游侠 帖子:260 积分:313 威望:0 精华:0 注册:2012/10/15 23:46:48
3.8 beta3 新版本 分笔数据 VBS保存问题  发帖心情 Post By: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成功的,是否属性赋值语句我写得有问题?

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


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2016/1/3 22:59:15 [只看该作者]

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

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


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


加好友 发短信
等级:论坛游侠 帖子:260 积分:313 威望:0 精华:0 注册:2012/10/15 23:46:48
  发帖心情 Post By:2016/1/4 11:52:45 [只看该作者]

改为
minutedata.Date(minutedata.Count) = "2015-12-29 15:14:59"

还是老样子: 

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



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


加好友 发短信
等级:论坛游侠 帖子:260 积分:313 威望:0 精华:0 注册:2012/10/15 23:46:48
  发帖心情 Post By:2016/1/4 15:28:12 [只看该作者]

顶下

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By: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编辑过]


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

金字塔-技术部

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

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

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


加好友 发短信
等级:论坛游侠 帖子:260 积分:313 威望:0 精华:0 注册:2012/10/15 23:46:48
  发帖心情 Post By:2016/1/5 15:28:31 [只看该作者]

好的,多谢王工

 回到顶部