以前挂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)