diff options
Diffstat (limited to 'market.py')
-rw-r--r-- | market.py | 17 |
1 files changed, 7 insertions, 10 deletions
@@ -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 | ||