aboutsummaryrefslogtreecommitdiff
path: root/market.py
diff options
context:
space:
mode:
Diffstat (limited to 'market.py')
-rw-r--r--market.py17
1 files changed, 7 insertions, 10 deletions
diff --git a/market.py b/market.py
index 9550b77..d7b05ce 100644
--- a/market.py
+++ b/market.py
@@ -220,23 +220,20 @@ class Market:
220 compute_value=compute_value, only=only, 220 compute_value=compute_value, only=only,
221 repartition=repartition, available_balance_only=available_balance_only) 221 repartition=repartition, available_balance_only=available_balance_only)
222 222
223 values_in_base = self.balances.in_currency(base_currency,
224 compute_value=compute_value)
225 if available_balance_only: 223 if available_balance_only:
226 balance = self.balances.all.get(base_currency) 224 repartition, total_base_value, values_in_base = self.balances.available_balances_for_repartition(
227 if balance is None: 225 base_currency=base_currency, liquidity=liquidity,
228 total_base_value = portfolio.Amount(base_currency, 0) 226 repartition=repartition, compute_value=compute_value)
229 else:
230 total_base_value = balance.exchange_free + balance.margin_available
231 else: 227 else:
228 values_in_base = self.balances.in_currency(base_currency,
229 compute_value=compute_value)
232 total_base_value = sum(values_in_base.values()) 230 total_base_value = sum(values_in_base.values())
233 new_repartition = self.balances.dispatch_assets(total_base_value, 231 new_repartition = self.balances.dispatch_assets(total_base_value,
234 liquidity=liquidity, repartition=repartition) 232 liquidity=liquidity, repartition=repartition)
235 if available_balance_only: 233 if available_balance_only:
236 for currency, amount in values_in_base.items(): 234 for currency, amount in values_in_base.items():
237 if currency != base_currency: 235 if currency != base_currency and currency not in new_repartition:
238 new_repartition.setdefault(currency, portfolio.Amount(base_currency, 0)) 236 new_repartition[currency] = amount
239 new_repartition[currency] += amount
240 237
241 self.trades.compute_trades(values_in_base, new_repartition, only=only) 238 self.trades.compute_trades(values_in_base, new_repartition, only=only)
242 239