以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- 如何能获得交易所时间?这对于自己代码维护K线很重要 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=137898) |
-- 作者:emtfemtf -- 发布时间:2016/8/11 22:41:07 -- 如何能获得交易所时间?这对于自己代码维护K线很重要 MarketData_ReportNotify事件只负责提供最新的价格数据,而价格对应的时间如果使用本机时间的话,就会导致自编代码维护的K线收盘价不准确。那么如何得到交易所时间呢? 还是只能用一个变通的办法:每天开盘前用代码调校本机时间,与网络授时同步? |
-- 作者:王锋 -- 发布时间:2016/8/11 23:29:18 -- 这个之前记得我们讨论过的吧,交易所时间是获取不到的,并且每个交易所的时间也都不是标准的北京时间,都会有些误差的。 我们金字塔使用的是行情报价时间来生成K线,也不会使用本地计算机时间来生成的 |
-- 作者:emtfemtf -- 发布时间:2016/8/11 23:48:11 -- 谢谢回复,是的讨论过,但没有具体说清啊。 您说的“金字塔使用行情报价时间来生成K线”,那么我们的VBA如何获得这个“行情报价时间”?这正是我想知道的。 |
-- 作者:王锋 -- 发布时间:2016/8/12 0:10:08 -- 这个要看你用什么方式来做收盘作业了,你只要仔细注意下,我们的有关行情的所有数据结构上都有时间日期这个字段的,这个都是交易所时间 |
-- 作者:emtfemtf -- 发布时间:2016/8/12 9:21:48 -- 谢谢这么晚的回复,辛苦了! 我想用VBA,实时维护订阅品种的5分钟K线,关键是每个K线的收盘价,每次tick传过来的Datareport对象中,有一个data字段,是不是该tick对应的时刻就在这里面? |
-- 作者:王锋 -- 发布时间:2016/8/12 9:25:16 -- 对的 |
-- 作者:emtfemtf -- 发布时间:2016/8/12 9:58:23 -- 谢谢! 这里会出现一个隐患,交易不活跃时候,连续多秒都不来tick,如果我只是利用tick里传来的时刻,维护我的“时间轴”,遇上某个K线收盘时,恰好是tick的空白时段,可能前一个tick是前一分钟的第45秒,后一个tick就成了后一分钟的第5秒,如果我的买点就在收盘价,这时,当我意识到k线已经收盘时,已经错过5秒了。所以我最想学的是,有否好办法,能够拥有一个稳定的“时间轴”?比如,金字塔的5分钟K线主图,是如何确定这个“时间轴”的?谢谢!
|
-- 作者:王锋 -- 发布时间:2016/8/12 10:03:15 -- 这个没有稳定的东西,金字塔在生成K线时也不能解决你所说的问题,也只能是在下一个5秒后出现新的数据后再来判断是否K线已经走完。 另外你的交易思路逻辑思维有些问题,如果一个交易不活跃的品种,你多去判断这5秒有何意义 |
-- 作者:emtfemtf -- 发布时间:2016/8/12 10:15:02 -- 谢谢您的指点,不活跃的我其实也不去交易,可能更偏向理论式的问问。
我先在在Sub MarketData_ReportNotify(ReportData)事件中,用上了“Application.Msgout ReportData.date & ",Code:" & stkLable & ",NewPrice:" & NewPrice”,其中的ReportData.date 果然输出了全部的日期和时间,太感谢了!
可是,为甚么时间是错的?是下午的时间?请看: 2016/8/12 14:14:22,Code:RB10,NewPrice:2566 |
-- 作者:王锋 -- 发布时间:2016/8/12 10:33:51 -- http://www.weistock.com/bbs/dispbbs.asp?boardid=16&Id=88505 问题18 |