From: Jérôme Benoit Date: Mon, 12 Jan 2026 13:57:58 +0000 (+0100) Subject: fix(reforcexy): correct short fee application to match Freqtrade semantics X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=2912c0cd397b36c0d596be0c193f0ed5683a4b78;p=freqai-strategies.git 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. --- 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