From 2912c0cd397b36c0d596be0c193f0ed5683a4b78 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Mon, 12 Jan 2026 14:57:58 +0100 Subject: [PATCH] fix(reforcexy): correct short fee application to match Freqtrade semantics Short positions must use: - Entry (sell): add_exit_fee reduces price received - Exit (buy): add_entry_fee increases cost to close Previous commit incorrectly inverted these in both get_most_recent_return and get_most_recent_profit for short positions. --- ReforceXY/user_data/freqaimodels/ReforceXY.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ReforceXY/user_data/freqaimodels/ReforceXY.py b/ReforceXY/user_data/freqaimodels/ReforceXY.py index 000775b..16d185e 100644 --- a/ReforceXY/user_data/freqaimodels/ReforceXY.py +++ b/ReforceXY/user_data/freqaimodels/ReforceXY.py @@ -3528,7 +3528,7 @@ class MyRLEnv(Base5ActionRLEnv): self._position_history[previous_tick] == Positions.Long or self._position_history[previous_tick] == Positions.Neutral ): - previous_price = self.add_entry_fee(previous_price) + previous_price = self.add_exit_fee(previous_price) if ( previous_price <= 0.0 @@ -3580,8 +3580,8 @@ class MyRLEnv(Base5ActionRLEnv): return (current_price - previous_price) / previous_price elif self._position == Positions.Short: - current_price = self.add_exit_fee(self.current_price()) - previous_price = self.add_entry_fee(self.previous_price()) + current_price = self.add_entry_fee(self.current_price()) + previous_price = self.add_exit_fee(self.previous_price()) if ( previous_price <= 0.0 -- 2.43.0