From cf2cb94f8d28293373b856bcea71d6fc4229b329 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 8 Apr 2023 16:38:44 +0200 Subject: [PATCH] Add bot start date to `/profit` output --- freqtrade/rpc/rpc.py | 6 +++++- freqtrade/rpc/telegram.py | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/freqtrade/rpc/rpc.py b/freqtrade/rpc/rpc.py index 2b5eb107c..dc1c4c080 100644 --- a/freqtrade/rpc/rpc.py +++ b/freqtrade/rpc/rpc.py @@ -26,7 +26,8 @@ from freqtrade.exceptions import ExchangeError, PricingError from freqtrade.exchange import timeframe_to_minutes, timeframe_to_msecs from freqtrade.loggers import bufferHandler from freqtrade.misc import decimals_per_coin, shorten_date -from freqtrade.persistence import Order, PairLocks, Trade +from freqtrade.persistence import KeyValueStore, Order, PairLocks, Trade +from freqtrade.persistence.key_value_store import KeyStoreKeys from freqtrade.persistence.models import PairLock from freqtrade.plugins.pairlist.pairlist_helpers import expand_pairlist from freqtrade.rpc.fiat_convert import CryptoToFiatConverter @@ -543,6 +544,7 @@ class RPC: first_date = trades[0].open_date if trades else None last_date = trades[-1].open_date if trades else None num = float(len(durations) or 1) + bot_start = KeyValueStore.get_datetime_value(KeyStoreKeys.BOT_START_TIME) return { 'profit_closed_coin': profit_closed_coin_sum, 'profit_closed_percent_mean': round(profit_closed_ratio_mean * 100, 2), @@ -576,6 +578,8 @@ class RPC: 'max_drawdown': max_drawdown, 'max_drawdown_abs': max_drawdown_abs, 'trading_volume': trading_volume, + 'bot_start_timestamp': int(bot_start.timestamp() * 1000) if bot_start else 0, + 'bot_start_date': bot_start.strftime(DATETIME_PRINT_FORMAT) if bot_start else '', } def _rpc_balance(self, stake_currency: str, fiat_display_currency: str) -> Dict: diff --git a/freqtrade/rpc/telegram.py b/freqtrade/rpc/telegram.py index d79d8ea76..8637052de 100644 --- a/freqtrade/rpc/telegram.py +++ b/freqtrade/rpc/telegram.py @@ -819,7 +819,7 @@ class Telegram(RPCHandler): best_pair = stats['best_pair'] best_pair_profit_ratio = stats['best_pair_profit_ratio'] if stats['trade_count'] == 0: - markdown_msg = 'No trades yet.' + markdown_msg = f"No trades yet.\n*Bot started:* `{stats['bot_start_date']}`" else: # Message to display if stats['closed_trade_count'] > 0: @@ -838,6 +838,7 @@ class Telegram(RPCHandler): f"({profit_all_percent} \N{GREEK CAPITAL LETTER SIGMA}%)`\n" f"∙ `{round_coin_value(profit_all_fiat, fiat_disp_cur)}`\n" f"*Total Trade Count:* `{trade_count}`\n" + f"*Bot started:* `{stats['bot_start_date']}`\n" f"*{'First Trade opened' if not timescale else 'Showing Profit since'}:* " f"`{first_trade_date}`\n" f"*Latest Trade opened:* `{latest_trade_date}`\n"