以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  关于ReportData.IsMainInstrument  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=56799)

--  作者:klc
--  发布时间:2013/9/19 9:16:36
--  关于ReportData.IsMainInstrument

我的问题是,夜盘白银合约中,如果遇上换月,这个标志是什么时间换的?

我的应用是这样的,需要再开盘之前,通过寻找该标志为真的合约,然后使用RegReportNotify订阅VBA行情通知并且对其进行交易。但是我不知道这个标志在换月时是在几点钟更换的,所以担心如果金字塔软件开启的比较早,获取的是昨日的主力合约,而今日交易如果中途退出软件,在盘中进入他又切换到今日的主力合约了,导致日内的交易也存在换月的隐患。

请熟悉VBA的赐教,我应该在什么时候获取该标志比较合适。


--  作者:王锋
--  发布时间:2013/9/19 21:25:16
--  

主力合约都是在开盘那一时刻换的,每个交易所开盘的时间是不同的。

建议你按照这个逻辑来处理。

 

用定时器判断 Report.Date 如果上次日期根本次不同了,说明交易所以所已经重新第二日开盘 ,然后你再重新遍历合约


--  作者:klc
--  发布时间:2013/9/20 13:08:15
--  
恩好的
--  作者:klc
--  发布时间:2013/9/20 13:29:15
--  

对了,我之前通过测试跟踪发现,在市场正式开盘前,会有一个疑似无效的行情信息,其Report.Date和前一个不同,但最新价则是前一日收盘价,但这时marketdata.GetMinuteData获得的MinuteData.Count等于0

 

我理解是这个行情信息,不是真实的成交信息,仅仅是通知新的交易日来了,但并非开盘了(如夜盘并非在20:59收到这个信息)。我想知道的是,这个时候是不是IsMainInstrument已经更新?

 

也就是说在未到20:59前,金字塔会收到一个Date是今天,价格则是最日收盘价,且未形成分笔成交记录(即当时MinuteData.Count为0)的行情通知。


--  作者:王锋
--  发布时间:2013/9/21 11:59:17
--  
正常情况是不应该的,开盘前会收到一笔初始化数据是对的,但是初始化数据的特点是成交量都是0的