]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - market.py
Add processors
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / market.py
index ca365bda78f2c52e0c232463a95e85c244eb9adc..3381d1e2643e03cb35019cbd14eb29f0f9108cbf 100644 (file)
--- a/market.py
+++ b/market.py
@@ -128,20 +128,18 @@ class Market:
                     order.trade.update_order(order, tick)
         self.report.log_stage("follow_orders_end")
 
-    def prepare_trades(self, base_currency="BTC", liquidity="medium", compute_value="average", only=None):
+    def prepare_trades(self, base_currency="BTC", liquidity="medium",
+            compute_value="average", repartition=None, only=None):
+
         self.report.log_stage("prepare_trades",
                 base_currency=base_currency, liquidity=liquidity,
-                compute_value=compute_value, only=only)
-        values_in_base = self.balances.in_currency(base_currency, compute_value=compute_value)
-        total_base_value = sum(values_in_base.values())
-        new_repartition = self.balances.dispatch_assets(total_base_value, liquidity=liquidity)
-        self.trades.compute_trades(values_in_base, new_repartition, only=only)
+                compute_value=compute_value, only=only,
+                repartition=repartition)
 
-    def prepare_trades_to_sell_all(self, base_currency="BTC", compute_value="average"):
-        self.report.log_stage("prepare_trades_to_sell_all")
-        values_in_base = self.balances.in_currency(base_currency, compute_value=compute_value)
+        values_in_base = self.balances.in_currency(base_currency,
+                compute_value=compute_value)
         total_base_value = sum(values_in_base.values())
-        new_repartition = self.balances.dispatch_assets(total_base_value, repartition={ base_currency: (1, "long") })
-        self.trades.compute_trades(values_in_base, new_repartition)
-
+        new_repartition = self.balances.dispatch_assets(total_base_value,
+                liquidity=liquidity, repartition=repartition)
+        self.trades.compute_trades(values_in_base, new_repartition, only=only)