以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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的 |