X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=portfolio.py;h=c3809f0533db32cc3b62ccbd6c64a5ff5c66e651;hb=c31df868c655612b8387a25111e69882f0fe6344;hp=482d0da5d050fb466589f584ea617c61cd6e94df;hpb=e246023e2b630c0737f1027a5e99f517f874d699;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FTrader.git diff --git a/portfolio.py b/portfolio.py index 482d0da..c3809f0 100644 --- a/portfolio.py +++ b/portfolio.py @@ -345,6 +345,7 @@ class Trade: ticker = ticker["original"] rate = Computation.compute_value(ticker, self.order_action(inverted), compute_value=compute_value) + #TODO: store when the order is considered filled # FIXME: Dust amount should be removed from there if they werent # honored in other sales delta_in_base = abs(self.value_from - self.value_to) @@ -424,6 +425,8 @@ class Trade: print(self) for order in self.orders: print("\t", order, sep="") + for mouvement in order.mouvements: + print("\t\t", mouvement, sep="") class Order: def __init__(self, action, amount, rate, base_currency, trade_type, market, @@ -584,6 +587,19 @@ class Mouvement: # rate * total = total_in_base self.total_in_base = Amount(base_currency, hash_.get("total", 0)) + def __repr__(self): + if self.fee_rate > 0: + fee_rate = " fee: {}%".format(self.fee_rate * 100) + else: + fee_rate = "" + if self.date is None: + date = "No date" + else: + date = self.date + return "Mouvement({} ; {} {} ({}){})".format( + date, self.action, self.total, self.total_in_base, + fee_rate) + if __name__ == '__main__': # pragma: no cover from market import market h.print_orders(market)