以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  关于数据刷新发现一个奇怪的事情  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=55017)

--  作者:wknjt
--  发布时间:2013/8/12 16:38:00
--  关于数据刷新发现一个奇怪的事情
 继续前两天一个探索,我在SY市场建立了一个测试的品种TEST001,我本来打算是将其他品种定时保存到测试品种,然后在测试品种上进行操作。
比如我将CU13数据保存到TEST001,采用的是以下代码
Set History = MarketData.GetHistoryData("SQ","CU13",1)
History.SaveData("TEST001","SY",2)
Set History = MarketData.GetHistoryData("SQ","CU13",0)
History.SaveData("TEST001","SY",1)
Set History = MarketData.GetHistoryData("SQ","CU13",5)
History.SaveData("TEST001","SY",0)
Technic.Refresh()
然后用定时器调用该代码,然后我发现了一个很奇怪的事情。
如果我在CU13时,看日线,那么切换到TEST001,数据会跟随变化。但如果此时切换看1分钟线或者5分钟线,此时数据就不再变化。如果我看1分钟线,切换到TEST001,1分钟数据也会变化,然后在切换看日线或者5分钟线,数据就不便,切换会1分钟线,数据也不变。但是我打印后台数据确实是在变化的。每次都是这样的情况。

我测试了Technic.ReCalcAllGridFromula(),则发现无论如何切换都不刷新
ReCalcAllGrid ,InitAllGrid 虽然能保证数据刷新,但是由于每次都会跳回最后的K线,影响使用。
不知道造成这个问题的原因是是什么?麻烦指教,谢谢。

--  作者:fly
--  发布时间:2013/8/14 13:05:15
--  
工作人员已在跟踪,请少侯
--  作者:王锋
--  发布时间:2013/8/14 13:06:58
--  

切换到1分钟周期,不变化的主要原因是1分钟周期的当日数据是从分笔生成出来的,不是保存在你本地硬盘的历史数据。

你可以考虑使用3.0最新版的VBA,保存数据后,打开前清空图表上的分笔数据。