再也不用担心重复下单啦,😁😁😁

只提供下单细粒度控制相关的代码

from vnpy.app.cta_strategy.base import StopOrderStatus
    def __init__(self, cta_engine, strategy_name, vt_symbol, setting):
        self.long_stop_orderids = []       #多开活动停止单ID列表
    #------------------------------------------------------------------------------------
    def on_tick(self, tick: TickData):
        #提供多开下单基于委托ID的细粒度控制,其他方向下单相似
        if not self.pos  and not self.long_stop_orderids :
            stop_orderid= self.buy(tick.last_price,self.fixed_size,True)
            if stop_orderid:
                self.long_stop_orderids .extend(stop_orderid)
    #------------------------------------------------------------------------------------
    def on_stop_order(self, stop_order: StopOrder):
        """
        收到停止单回报
        """
        #委托列表删除停止单ID
        if stop_order.status != StopOrderStatus.WAITING:
            if stop_order.stop_orderid in self.long_stop_orderids:
                self.long_stop_orderids .remove(stop_order.stop_orderid)