Пример #1
0
 def update_order(self, order: Order):
     for existing_order in self.account.open_orders:
         if existing_order.id == order.id:
             self.account.open_orders.remove(existing_order)
             self.account.open_orders.append(order)
             self.logger.debug("updated order %s" % (order.print_info()))
             break
Пример #2
0
 def update_order(self, order: Order):
     if self.telegram_bot is not None:
         self.telegram_bot.send_log(
             "updating (" + self.id + "): " + order.print_info(), order.id)
     self.exchange.update_order(order)
     self.exchange.on_tick_callback(
         True
     )  ##simulate tick to prevent early updates (need to wait for exchange to update order
Пример #3
0
 def update_order(self, order: Order):
     for existing_order in self.account.open_orders:
         if existing_order.id == order.id:
             self.account.open_orders.remove(existing_order)
             self.account.open_orders.append(order)
             order.tstamp = self.current_bars[0].last_tick_tstamp
             self.logger.debug("updated order %s" % (order.print_info()))
             break
Пример #4
0
    def send_order(self, order: Order):
        # check if order is val
        if order.amount == 0:
            self.logger.error("trying to send order without amount")
            return
        self.logger.debug("added order %s" % (order.print_info()))

        order.tstamp = self.current_bars[0].tstamp
        if order not in self.account.open_orders:  # bot might add it himself temporarily.
            self.account.open_orders.append(order)
Пример #5
0
 def send_order(self, order: Order):
     if order.amount == 0:
         self.logger.error("trying to send order without amount")
         return
     if self.telegram_bot is not None:
         self.telegram_bot.send_log(
             "Sending (" + self.id + "): " + order.print_info(), order.id)
     order.tstamp = self.bars[0].tstamp
     if order not in self.account.open_orders:  # bot might add it himself temporarily.
         self.account.open_orders.append(order)
     self.exchange.send_order(order)
Пример #6
0
    def send_order(self, order: Order):
        # check if order is val
        if order.amount == 0:
            self.logger.error("trying to send order without amount")
            return
        [posId,
         order_type] = TradingBot.position_id_and_type_from_order_id(order.id)
        if order_type == OrderType.ENTRY:
            [unused, direction] = TradingBot.split_pos_Id(posId)
            if direction == PositionDirection.LONG and order.amount < 0:
                self.logger.error("sending long entry with negative amount")
            if direction == PositionDirection.SHORT and order.amount > 0:
                self.logger.error("sending short entry with positive amount")

        self.logger.debug("added order %s" % (order.print_info()))

        order.tstamp = self.current_bars[0].tstamp
        if order not in self.account.open_orders:  # bot might add it himself temporarily.
            self.account.open_orders.append(order)
Пример #7
0
 def cancel_order(self, order: Order):
     if self.telegram_bot is not None:
         self.telegram_bot.send_log(
             "canceling (" + self.id + "): " + order.print_info(), order.id)
     order.active = False  # already mark it as cancelled, so not to mess up next loop
     self.exchange.cancel_order(order)
Пример #8
0
 def update_order(self, order: Order):
     if self.telegram_bot is not None and TradingBot.order_type_from_order_id(
             order.id) == OrderType.SL:
         self.telegram_bot.send_log(
             "updating (" + self.id + "): " + order.print_info(), order.id)
     self.exchange.update_order(order)