From 62ea1a445e97e1f58ab40465f0aa760f69c05857 Mon Sep 17 00:00:00 2001 From: Stefano Ariestasia Date: Thu, 20 Jan 2022 10:03:26 +0900 Subject: [PATCH] add lines to show_config message --- freqtrade/optimize/backtesting.py | 8 +++++++- freqtrade/rpc/rpc.py | 5 ++++- freqtrade/rpc/telegram.py | 9 +++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/freqtrade/optimize/backtesting.py b/freqtrade/optimize/backtesting.py index a4a5fd140..e49e3dc52 100644 --- a/freqtrade/optimize/backtesting.py +++ b/freqtrade/optimize/backtesting.py @@ -379,7 +379,13 @@ class Backtesting: # Check if we need to adjust our current positions if self.strategy.position_adjustment_enable: - trade = self._get_adjust_trade_entry_for_candle(trade, sell_row) + check_adjust_buy = True + if self.strategy.max_buy_position_adjustment > -1: + filled_buys = trade.select_filled_orders('buy') + count_of_buys = len(filled_buys) + check_adjust_buy = (count_of_buys <= self.strategy.max_buy_position_adjustment) + if check_adjust_buy: + trade = self._get_adjust_trade_entry_for_candle(trade, sell_row) sell_candle_time = sell_row[DATE_IDX].to_pydatetime() sell = self.strategy.should_sell(trade, sell_row[OPEN_IDX], # type: ignore diff --git a/freqtrade/rpc/rpc.py b/freqtrade/rpc/rpc.py index e568fca8c..044f725ab 100644 --- a/freqtrade/rpc/rpc.py +++ b/freqtrade/rpc/rpc.py @@ -136,7 +136,10 @@ class RPC: 'ask_strategy': config.get('ask_strategy', {}), 'bid_strategy': config.get('bid_strategy', {}), 'state': str(botstate), - 'runmode': config['runmode'].value + 'runmode': config['runmode'].value, + 'position_adjustment_enable': config.get('position_adjustment_enable', False), + 'max_buy_position_adjustment': (config['max_buy_position_adjustment'] + if config['max_buy_position_adjustment'] != float('inf') else -1) } return val diff --git a/freqtrade/rpc/telegram.py b/freqtrade/rpc/telegram.py index 716694a81..ac2062bb3 100644 --- a/freqtrade/rpc/telegram.py +++ b/freqtrade/rpc/telegram.py @@ -1347,6 +1347,14 @@ class Telegram(RPCHandler): else: sl_info = f"*Stoploss:* `{val['stoploss']}`\n" + if val['position_adjustment_enable']: + pa_info = ( + f"*Position adjustment:* On\n" + f"*Max buy position adjustment:* `{val['max_buy_position_adjustment']}`\n" + ) + else: + pa_info = f"*Position adjustment:* Off\n" + self._send_msg( f"*Mode:* `{'Dry-run' if val['dry_run'] else 'Live'}`\n" f"*Exchange:* `{val['exchange']}`\n" @@ -1356,6 +1364,7 @@ class Telegram(RPCHandler): f"*Ask strategy:* ```\n{json.dumps(val['ask_strategy'])}```\n" f"*Bid strategy:* ```\n{json.dumps(val['bid_strategy'])}```\n" f"{sl_info}" + f"{pa_info}" f"*Timeframe:* `{val['timeframe']}`\n" f"*Strategy:* `{val['strategy']}`\n" f"*Current state:* `{val['state']}`"