再也不用担心重复下单啦,😁😁😁
只提供下单细粒度控制相关的代码
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:
if 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)