X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=market.py;h=3381d1e2643e03cb35019cbd14eb29f0f9108cbf;hb=9db7d156833cd384baa64b6148b5c646bfcc41f8;hp=0d91f17e35c988086c69b5a5f6d816f403cc699d;hpb=7192b2e1315c3dfd1204d609d716dd07e90f3bf4;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FTrader.git diff --git a/market.py b/market.py index 0d91f17..3381d1e 100644 --- a/market.py +++ b/market.py @@ -128,27 +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"): - self.report.log_stage("prepare_trades") - 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) - # Recompute it in case we have new currencies - values_in_base = self.balances.in_currency(base_currency, compute_value=compute_value) - self.trades.compute_trades(values_in_base, new_repartition) - - def update_trades(self, base_currency="BTC", liquidity="medium", compute_value="average", only=None): - self.report.log_stage("update_trades") - 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) + def prepare_trades(self, base_currency="BTC", liquidity="medium", + compute_value="average", repartition=None, only=None): - 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) - 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) + self.report.log_stage("prepare_trades", + base_currency=base_currency, liquidity=liquidity, + compute_value=compute_value, only=only, + repartition=repartition) + 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, repartition=repartition) + self.trades.compute_trades(values_in_base, new_repartition, only=only)