From ae0e72a945ad2a3a69507ad289d0a923f122af93 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 8 Nov 2021 19:59:29 +0100 Subject: [PATCH] Provide strategy with copied objects avoids accidental modification of crucial elements in a trade object part of #5828 --- freqtrade/strategy/strategy_wrapper.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/freqtrade/strategy/strategy_wrapper.py b/freqtrade/strategy/strategy_wrapper.py index 121189b68..9aead8395 100644 --- a/freqtrade/strategy/strategy_wrapper.py +++ b/freqtrade/strategy/strategy_wrapper.py @@ -1,4 +1,5 @@ import logging +from copy import deepcopy from freqtrade.exceptions import StrategyError @@ -14,6 +15,9 @@ def strategy_safe_wrapper(f, message: str = "", default_retval=None, supress_err """ def wrapper(*args, **kwargs): try: + if 'trade' in kwargs: + # Protect accidental modifications from within the strategy + kwargs['trade'] = deepcopy(kwargs['trade']) return f(*args, **kwargs) except ValueError as error: logger.warning(