vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 10
声望: 0

因为模板没有,所以我也不知道怎么弄,但是尝试了一下。写出来的在初始化的时候会频繁卡住。
求支出错误,或者给我一个示范。。

def on_tick(self, tick: TickData):
"""
Callback of new tick data update.
"""
if self.supos==self.pos:
pass
else:
self.cancel_all()
if self.pos<self.supos:
if self.supos>0:
self.buy(tick.last_price + self.jump, abs(self.supos-self.pos))
self.bkprice=tick.last_price + self.jump/2
self.bkhigh=self.bkprice
self.write_log("bk")
else:
if self.supos==0:
self.cover(tick.last_price + self.jump, abs(self.supos-self.pos))
self.write_log("bp")
else:
if self.supos<0:
self.short(bar.last_price - self.jump, abs(self.supos-self.pos))
self.skprice=bar.last_price - self.jump/2
self.sklow=self.skprice
self.write_log("sk")
else:
if self.supos==0:
self.sell(bar.last_price - self.jump, abs(self.supos-self.pos))
self.write_log("sp")

    self.bgn.update_tick(tick)
Administrator
avatar
加入于:
帖子: 1879
声望: 85

具体在vnpy-community公众号上的课程《vn.py全实战进阶 - CTA策略系列》最后10节课会讲。

你代码里最简单的错误就是不能在on_tick中去做cancel_all,全撤的开销较大,回测中每个tick都做自然会卡。

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3