3.13K 浏览
0
if longpos==0 and temp.loc[len(temp)-1,'mid']>temp.loc[len(temp)-1,'hh'] and updatetime<1459:
              pos=max(int(100000/mid/quote['volume_multiple']),1)
              print(quote.datetime,contract,'平空开多','报单价格:',str(quote['ask_price1']),datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f'))
              target_pos.set_target_volume(pos) 
            #空单开仓
            if shortpos==0 and temp.loc[len(temp)-1,'mid']<temp.loc[len(temp)-1,'ll'] and updatetime<1459:
              pos=max(int(100000/mid/quote['volume_multiple']),1)
              print(quote.datetime,contract,'平多开空','报单价格:',str(quote['bid_price1']),datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f'))
              target_pos.set_target_volume(-pos)

老师您好,我简单做了一个测试,quote.datetime的时间戳和订单返回的时间戳不匹配。

订单回报的时间竟然在下单时间的前面,这显然是不合理的啊。

请问下单后,下单通知和成交通知的代码在哪里可以看到呢?

lookis 已回答的问题 2020年8月26日
2

打印时间和市场时间不是同一个时间,显示中的时间是市场时间,而打印的顺序是按照调用 print函数/logger 的顺序,所以有可能你先调用了 print/logger,但系统是在下一个 wait_update的时候做的撮合,此时撮合完毕之前市场时间还没有前进,所以最终就会出现像你看到的这样,先打印了一个晚的时间,再输出了一个早的时间

lookis 已回答的问题 2020年8月26日