vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 73
声望: 5

以前挂stop单成交,都是第一根k线走完才能发出单子,要实现开盘第一k符合条件就立即入场,止损后依然可以在on_bar中挂stop单入场,研究了下细粒度挂撤单操作,思路是在on_bar中产生信号,接着在on_tick中限价委托成交;
on_bar中:
if self.pos == 0:
if bar.datetime.minute == self.start_time.minute:
if bar.high_price >= self.buy_break:
self.target_pos = self.fixed_size
elif not self.long_vt_orderids :(疑问:on_tick中限价买单,要求只成交一次,且没有记录orderid,不清楚on_tick里的buy会不会影响到这个long_vt_orderids,实盘中第1k入场,止损后,就不在发出单子了,需要如何解决?)
self.long_vt_orderids = self.buy(stop=true)
self.vt_orderids.extend(self.long_vt_orderids)
on_tick中:
volume = self.target_pos -self.pos
if volume > 0:
if not self.long_entered:
self.buy(stop=False)

Administrator
avatar
加入于:
帖子: 4887
声望: 284

有可能,任何在on_tick级别的挂撤单操作,都需要自行记录vt_orderid,然后围绕其进行相关检查操作再交易

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

沪公网安备 31011502017034号