后台程序在14:29:57发的单,且读了发单回报ic01在6221.6开多,但是没有成交。我回翻ic01的分笔记录,在14:30:00,14:30:01以6220.6分别成交了1手,2手。为什么我发单在前面,且价格也满足就是没成交呢?如下是交易日志:
2017-11-28 14:29:57.961 【回报】98221096 : IC1801 - 已报单 1 价格:6221.6 平 买
2017-11-28 14:29:57.787 【后台】IC12 TBuyShort 第 26 行出现信号
2017-11-28 14:29:57.787 【后台】IC12 TBuyShort 已成功触发下单操作 价格:6259.399902 数量:1 类型:0 账户: 品种:IC12
2017-11-28 14:29:57.788 【后台】下单已发送
2017-11-28 14:29:57.788 【后台】IC12 TSellShort 第 27 行出现信号
2017-11-28 14:29:57.789 【后台】IC01 TSellShort 已成功触发下单操作 价格:6221.600098 数量:1 类型:0 账户: 品种:IC01
2017-11-28 14:29:57.789 【后台】实际账户持仓 1
2017-11-28 14:29:57.789 【后台】下单已发送
2017-11-28 14:29:57.790 【下单】IC12 价6259.399902 量1 买卖1 类型0 开平0 账户98221096 Formula 1
2017-11-28 14:29:57.790 【下单】确认报单已发送 ID=-990796520 RefID = 35190
2017-11-28 14:29:57.791 【后台】IC12 运行结束
2017-11-28 14:29:57.791 【下单】IC01 价6221.600098 量1 买卖0 类型0 开平1 账户98221096 Formula 1
2017-11-28 14:29:57.791 【下单】确认报单已发送 ID=-990796510 RefID = 35200
2017-11-28 14:29:57.792 【后台】IC01 运行结束
2017-11-28 14:29:57.796 【指令】收到回报指令 ID = -990796520 RefID = 35190
2017-11-28 14:29:57.872 【指令】收到回报指令 ID = -990796520 RefID = 35190
2017-11-28 14:29:57.873 【指令】收到回报指令 ID = -990796520 RefID = 35190
2017-11-28 14:29:57.874 【指令】收到成交回报指令 REFID = 35190 vol = 1
2017-11-28 14:29:57.899 【指令】收到回报指令 ID = -990796510 RefID = 35200
2017-11-28 14:29:57.959 【指令】收到回报指令 ID = -990796510 RefID = 35200
2017-11-28 14:29:57.960 【回报】98221096 : IC1712 - 已报单 1 价格:6259.4 开 卖
2017-11-28 14:29:57.961 【回报】98221096 : IC1712 - 已成交 1 价格:6259.6 开 卖
2017-11-28 14:29:57.961 【回报】98221096 : IC1801 - 已报单 1 价格:6221.6 平 买
2017-11-28 14:29:57.975 【后台】IC12 运行结束
14:29的价格没有到过6221啊,是挂单没成交吧
1,实际交易是否成交是由交易所控制的,客户端本身是只能控制发单。
2,实盘是否能够成交要综合考虑价格、对手盘挂单量等。少量的挂单也有可能吃不到单子的
14:30:00成交了6220.6,我挂了14:29:57挂了更高价6221.6买没成交。只发单了一手。
会不会是日志时间不对,如果日志时间是14:30:01发的单子就可能成交不了。日志的时间跟分笔数据的时间不是一个计时器?
看起来我的交易日志和委托记录都比分笔数据差了4秒,理论上会出现这种情况吗,还是我的判断有误
日志上的时间是你本地计算机时间,与交易所分笔的时间戳是会有出入的,你需要矫正你的本地时间,另外也要注意时间戳差异,因为交易所时间戳也不是严格的北京时间,会有细微误差