def __prestop(self): """检查,若做多做空和一键平仓同时出现,则只一键平仓""" for i in self._signal_list: if i.exectype == "CloseAll": self._signal_list = [] if i.units == 0 else [i] break for i in self._signal_list: if i.instrument is self.instrument: events.put(i)
def set_event(ordtype, order, change_price=True): self._order_list.remove(order) if change_price: order.price = data1["open"] order.type = "Order" order.ordtype = ordtype order.date = data1["date"] order.exectype = f"{order.exectype} Triggered" events.put(order)
def set_take_stop(trade): trade.type = "Order" if trade.ordtype == "Buy": trade.ordtype = "Sell" else: trade.ordtype = "Buy" trade.takeprofit = None trade.stoploss = None trade.trailingstop = None trade.date = data1["date"] events.put(trade)
def submit_order(self): """发送交易指令""" fillevent = FillEvent(self.orderevent.order) events.put(fillevent)
def generate_order(self): """生成OrderEvent""" order = self.signalevent.order events.put(OrderEvent(order))
def next(self): self.__update_bar() events.put(MarketEvent(self))