From: Jérôme Benoit Date: Mon, 29 Sep 2025 16:56:11 +0000 (+0200) Subject: fix(reforcexy): ensure model expiracy triggers open trades close X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=ec8956485f3b1d14ef2b6c0154f65aa42524592e;p=freqai-strategies.git fix(reforcexy): ensure model expiracy triggers open trades close Signed-off-by: Jérôme Benoit --- diff --git a/ReforceXY/user_data/strategies/RLAgentStrategy.py b/ReforceXY/user_data/strategies/RLAgentStrategy.py index 4555f1b..4d8849b 100644 --- a/ReforceXY/user_data/strategies/RLAgentStrategy.py +++ b/ReforceXY/user_data/strategies/RLAgentStrategy.py @@ -3,6 +3,7 @@ from functools import cached_property, reduce from typing import Any # import talib.abstract as ta +from freqtrade.persistence import Trade from freqtrade.strategy import IStrategy from pandas import DataFrame @@ -105,6 +106,16 @@ class RLAgentStrategy(IStrategy): reduce(lambda x, y: x & y, exit_short_conditions), "exit_short" ] = 1 + last_candle = dataframe.iloc[-1] + if last_candle.get("do_predict") == 2: + trades = Trade.get_trades_proxy(pair=metadata.get("pair"), is_open=True) + for trade in trades: + last_index = dataframe.index[-1] + if trade.is_short: + dataframe.at[last_index, "exit_short"] = 1 + else: + dataframe.at[last_index, "exit_long"] = 1 + return dataframe def is_short_allowed(self) -> bool: