以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 如何使用交易所时间 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=64208) |
||
-- 作者:nicko -- 发布时间:2014/4/22 7:56:57 -- 如何使用交易所时间 因为本地时间及机器等问题,在即时的K线收开盘价与收盘后的收开盘价格偏差的问题 如果想以交易所时间为准 以做到即时K线与收盘后K线一致 请问怎么做到? 以下摘自其它论坛: BarFactory是用本地时间还是用交易所时间?这个知识点是一个很重要的内容。在写实时行情插件、收取行情数据、实盘交易、历史回测时一定要留意这个地方。 这个地方有可能导致Chart绘图错误、实盘后回测当天历史数据不同,或同一策略在不同电脑上执行结果有差异。
主要的原因是BarFactory在OnBar的触发是根据框架时间进行切片的。
因为多条行情源的时间可能不同步,没法进行统一,故全都按本地时间进行切片。
根据size将一天的86400秒分成Math.Ceil(86400/size)份,当有Trade过来时,根据Trade上的时间分到指定的Bar。
如果交易所时间与本地时间不同步,假设行情时间比本地慢几秒。根据本地时间OnBar已经触发,即此Bar已经关闭,但行情时间还在上一个周期中,此时将
触发新的OnBarOpen,并且后面的Bar时间段与前一个时间段完全一样,后面Bar还无法正确OnBar.在图形显示上又会按后一个Bar为标准。
而如果设计的策略只是为了收取数据则应当设置成使用交易所时间,这样是为了保证不同电脑上接收到的行情数据都是一样的。 所以请问金字塔是否也能做到??? [此贴子已经被作者于2014/4/22 7:58:11编辑过]
|
||
-- 作者:lichenghu -- 发布时间:2014/4/22 9:21:27 -- TIME:取周期时间;返回序列数据
交易所及行情时间,那么直接使用DYNAINFO(207)。这个也是无法避免不同电脑直接的微差的 |
||
-- 作者:nicko -- 发布时间:2014/4/22 9:44:51 -- 但我在公式中并未使用CURRENTIME等时间控制符 怎么还是会在两个系统中出现不一样的K线呢 能不能让系统增加交易所时间为准(好像以前版本有的吧) |
||
-- 作者:lichenghu -- 发布时间:2014/4/22 9:45:59 -- 没有的,K是由tick数据生成的。您盘后补充的K线是直接由服务器生成推送到您本地的,怎么避免? |
||
-- 作者:nicko -- 发布时间:2014/4/22 10:24:30 -- 那你们生成的盘后数据是根据什么数据产生的呢?难道不是TICK数据? 我只是要求在即时的实盘中能获得与交易所发布的同样数据(即使慢一两秒也不要紧),不然实盘是永远不能做的 那有意义吗 |
||
-- 作者:lichenghu -- 发布时间:2014/4/22 10:34:05 -- 都是由tick数据生成的,每台服务器时间都会有微差。而且tick可能存在并笔情况
您仔细对比下tick数据,没有不一样的。只不过划分成K线后对应K线数据会有微差 |