From d8deb0e9a6b7b2805e61dc19a287d5474c271cc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Mon, 12 Mar 2018 01:55:46 +0100 Subject: Fix mark finished order not alway called when necessary --- portfolio.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'portfolio.py') diff --git a/portfolio.py b/portfolio.py index 65fdc6c..ed50b57 100644 --- a/portfolio.py +++ b/portfolio.py @@ -550,7 +550,7 @@ class Order: @property def finished(self): - return self.status == "closed" or self.status == "canceled" or self.status == "error" + return self.status.startswith("closed") or self.status == "canceled" or self.status == "error" @retry(InsufficientFunds) def run(self): @@ -594,15 +594,13 @@ class Order: # other states are "closed" and "canceled" if not self.finished: self.fetch() - if self.finished: - self.mark_finished_order() return self.status def mark_finished_order(self): - if self.market.debug: + if self.status.startswith("closed") and self.market.debug: self.market.report.log_debug_action("Mark {} as finished".format(self)) return - if self.status == "closed": + if self.status.startswith("closed"): if self.trade_type == "short" and self.action == "buy" and self.close_if_possible: self.market.ccxt.close_margin_position(self.amount.currency, self.base_currency) @@ -621,6 +619,7 @@ class Order: self.fetch_mouvements() + self.mark_finished_order() # FIXME: consider open order with dust remaining as closed def dust_amount_remaining(self): -- cgit v1.2.3