Source code for cointrader.helpers

import datetime
from termcolor import colored
from terminaltables import AsciiTable


[docs]def colorize_value(value): if value < 0: return colored(value, "red") else: return colored(value, "green")
[docs]def render_bot_title(bot, market, resolution): out = ["\n"] chart = market.get_chart(resolution) data = chart._data if len(data) > 1: last = data[-2] else: last = data[-1] current = data[-1] values = {} values["date"] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") if current["close"] > last["close"]: values["rate"] = colored(current["close"], "green") else: values["rate"] = colored(current["close"], "red") change_percent = (current["close"] - last["close"]) / current["close"] * 100 values["change_percent"] = round(change_percent, 4) values["url"] = market.url values["btc"] = bot.btc values["amount"] = bot.amount values["currency"] = market.currency t = u"{date} [{btc} BTC {amount} {currency}] | {rate} ({change_percent}%) | {url}".format(**values) out.append("=" * len(t)) out.append(t) out.append("=" * len(t)) return "\n".join(out)
[docs]def render_bot_statistic(stat): out = [["", stat["start"], stat["end"], "CHANGE %"]] out.append(["COINTRADER", stat["trader_start_value"], stat["trader_end_value"], "{}".format(colorize_value(round(stat["profit_cointrader"], 4)))]) out.append(["MARKET", stat["market_start_value"], stat["market_end_value"], "{}".format(colorize_value(round(stat["profit_chart"], 4)))]) table = AsciiTable(out).table return "\n".join(["\nStatistic:", table])
[docs]def render_bot_tradelog(trades): out = [["DATE", "TYPE", "RATE", "COINS", "COINS'", "BTC", "BTC'"]] for trade in trades: values = [] values.append(trade.date) values.append(trade.order_type) values.append(trade.rate) if trade.order_type == "BUY": values.append("--") values.append(trade.amount_taxed) values.append(trade.btc) values.append("--") elif trade.order_type == "SELL": values.append(trade.amount) values.append("--") values.append("--") values.append(trade.btc_taxed) else: values.append(trade.amount) values.append("--") values.append(trade.btc) values.append("--") out.append(values) table = AsciiTable(out).table return "\n".join(["\nTradelog:", table])