在房间里闷了好久跑数据写策略,不知不觉已经到了中秋佳节。。。各位中秋愉快啊~
在使用strategy模块写策略的过程中,发现2个也许是bug的地方。不知道这种东西是不是应该写在github上比较有效率,反正github暂时不太会用,所以先放到这里来。。
我用的版本是2.0.6,继承CtaTemplate模块来写的策略,交易所连的是BitMex。
走过路过的大神请帮忙看一下:
问题1: 得不到tick的成交量数据
下面是on_tick中用self.write_log(tick)得到的一个数据实例:
TickData(gateway_name='BITMEX',
symbol='XBTUSD',
exchange=<Exchange.BITMEX: 'BITMEX'>,
datetime=datetime.datetime(2019, 9, 12, 13, 45, 3, 252000),
name='XBTUSD',
volume=0, # 看这里
open_interest=0,
last_price=10300,
last_volume=0, # 看这里
limit_up=0,
limit_down=0,
open_price=0,
high_price=0,
low_price=0,
pre_close=0,
bid_price_1=10300,
bid_price_2=10299.5,
bid_price_3=10299,
bid_price_4=10298.5,
bid_price_5=10298,
ask_price_1=10300.5,
ask_price_2=10301,
ask_price_3=10301.5,
ask_price_4=10302,
ask_price_5=10302.5,
bid_volume_1=2444582,
bid_volume_2=13441,
bid_volume_3=33147,
bid_volume_4=24672,
bid_volume_5=520860,
ask_volume_1=648217,
ask_volume_2=12031,
ask_volume_3=15579,
ask_volume_4=34401,
ask_volume_5=599)
可以看到,里面涉及到交易量的有两个字段:volume 和 last_volume,等于0~~~
嗯,有的tick没有发生交易,所以有的tick的volume或last_volume是0嘛,不奇怪(这点赞一个,bids和asks变化都能通过on_tick获得,实在是太美妙),但这两个东西一直为0怎么回事。。。一直为0的话,就没法得知tick成交量了 ~
问题2: 撤单失败
【此问题已自行解决,是撤销的字段问题;ID是由order.gateway_name和order.orderid组成,而不只是order.orderid;关闭】
就这样,佳节共度~~