def test_qty_to_size(): assert utils.qty_to_size(2, 50) == 100 assert utils.qty_to_size(2, 49) == 98 with pytest.raises(TypeError): utils.qty_to_size(-10, 'invalid_input') utils.qty_to_size('invalid_input', -10) with pytest.raises(TypeError): utils.qty_to_size(-10, None) utils.qty_to_size(None, -10)
def _on_canceled_order(self, order): qty = order.qty price = order.price size = ju.qty_to_size(qty, price) available_qty = self.exchange.available_assets[jh.base_asset(self.symbol)] if order.is_reduce_only: return
def _on_canceled_order(self, order): qty = order.qty price = order.price size = ju.qty_to_size(qty, price) if order.is_reduce_only: return # open-position order if self.qty == 0: if self.exchange: self.exchange.increase_balance(self, size, True) # increase-position order elif self.qty * qty > 0: if self.exchange: self.exchange.increase_balance(self, size, True) # reduce-position order elif self.qty * qty < 0: if abs(qty) > abs(self.qty): diff_qty = qty + self.qty size = ju.qty_to_size(diff_qty, price) if self.exchange: self.exchange.increase_balance(self, size, True)