]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - portfolio.py
Add make_order and get_user_market helpers
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / portfolio.py
index 6763fc67a6b56d759deb972cbd75795a424057ce..eb3390ed70d2c156f90002afa994e91a14ddf651 100644 (file)
@@ -360,7 +360,7 @@ class Trade:
             new_order.run()
             self.market.report.log_order(order, tick, new_order=new_order)
 
-    def prepare_order(self, compute_value="default"):
+    def prepare_order(self, close_if_possible=None, compute_value="default"):
         if self.action is None:
             return None
         ticker = self.market.get_ticker(self.currency, self.base_currency)
@@ -426,7 +426,8 @@ class Trade:
                 delta = delta - filled
                 # I already sold 4 BTC, only 5 left
 
-        close_if_possible = (self.value_to == 0)
+        if close_if_possible is None:
+            close_if_possible = (self.value_to == 0)
 
         if delta <= 0:
             self.market.report.log_error("prepare_order", message="Less to do than already filled: {}".format(delta))
@@ -586,7 +587,7 @@ class Order:
             return
         self.fetch_cache_timestamp = time.time()
 
-        result = self.market.ccxt.fetch_order(self.id)
+        result = self.market.ccxt.fetch_order(self.id, symbol=self.amount.currency)
         self.results.append(result)
 
         self.status = result["status"]
@@ -632,7 +633,7 @@ class Order:
             self.status = "canceled"
             return
         self.market.ccxt.cancel_order(self.id)
-        self.fetch()
+        self.fetch(force=True)
 
 class Mouvement:
     def __init__(self, currency, base_currency, hash_):