请教一个问题,我想把HistoryData清空后,将数据回写进HistoryData,以实现信号的重放。但是我发现一个问题,就是通过以下代码删除数据的时候,最后当天的数据都会保留下来,而删除不了,应该如何处理?
Application.ReceiveData(0)
Set History = MarketData.GetHistoryData(**,**,5)
for i = 0 to History.Count - 1
History.RemoveAt(0)
next
Call History.SaveData(**,**,0)
运行这个代码后,去刷新对应的技术分析页面,但发现最近一天的数据仍然保留,没有完全清空。如果是5分钟线,则会保留最近一天所有的K线,重新打印History信息,数据也存在。我还采用过以下方法来测试
Application.ReceiveData(0)
Set History = MarketData.GetHistoryData(**,**,5)
for i = 0 to History.Count - 1
History.RemoveAt(0)
flag = History.SaveData(**,**,0)
Application.MsgOut(flag)
next
这个时候可以看到每次保存都是成功的,但是数据还是清不空,所以想请教一下,到底如何实现能将所有数据都清空?万分感谢。
我经过继续测试发现一个新的问题,那就是如果我在Technic上点击右键查看对应的数据,那看到的数据就是对的,没有当天的数据。但是界面上展示的数据中,就是多当天的数据,直接用MarketData.GetHistoryData获得的也是有当天的数据。这是什么原因呢?
当日数据是存放在
MinuteData 对象
中,目前还没有方法来更改这个对象的数据,后面的金字塔版本会考虑这个接口,感谢用户对金字塔的支持
那是不是通过MarketData.GetHistoryData或者Technic.GetGridByName("Main").GetHistoryData中获取的HistoryData时,系统自动添加了MinuteData的信息?所以导致每次我虽然用History.RemoveAt清空了History,但取出来还是有当天的信息?