aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--portfolio.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/portfolio.py b/portfolio.py
index 1041df1..60b57ca 100644
--- a/portfolio.py
+++ b/portfolio.py
@@ -357,19 +357,28 @@ class Trade:
357 return 357 return
358 ticker = self.value_from.ticker 358 ticker = self.value_from.ticker
359 inverted = ticker["inverted"] 359 inverted = ticker["inverted"]
360 if inverted:
361 ticker = ticker["original"]
362 rate = Trade.compute_value(ticker, self.order_action(inverted), compute_value=compute_value)
363
364 # We can use that amount of BTC:
365 delta_in_base = abs(self.value_from - self.value_to)
360 366
361 if not inverted: 367 if not inverted:
362 value_from = self.value_from.linked_to 368 if self.action == "sell":
363 value_to = self.value_to.in_currency(self.currency, self.market, rate=1/self.value_from.rate) 369 value_from = self.value_from.linked_to
364 delta = abs(value_to - value_from) 370 value_to = self.value_to.in_currency(self.currency, self.market, rate=1/self.value_from.rate)
371 delta = abs(value_to - value_from)
372 else:
373 delta = delta_in_base.in_currency(self.currency, self.market, rate=1/rate)
365 currency = self.base_currency 374 currency = self.base_currency
366 else: 375 else:
367 ticker = ticker["original"] 376 if self.action == "sell":
368 delta = abs(self.value_to - self.value_from) 377 delta = delta_in_base.in_currency(self.base_currency, self.market, rate=rate)
378 else:
379 delta = delta_in_base
369 currency = self.currency 380 currency = self.currency
370 381
371 rate = Trade.compute_value(ticker, self.order_action(inverted), compute_value=compute_value)
372
373 self.orders.append(Order(self.order_action(inverted), delta, rate, currency, self.market)) 382 self.orders.append(Order(self.order_action(inverted), delta, rate, currency, self.market))
374 383
375 @classmethod 384 @classmethod