From ca725ee02e07e2af0c0790cd162f30c7fd1000a0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Mon, 3 Mar 2025 18:48:56 +0100 Subject: [PATCH] refactor(reforcexy): move attributes init to constructor MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- ReforceXY/user_data/freqaimodels/ReforceXY.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ReforceXY/user_data/freqaimodels/ReforceXY.py b/ReforceXY/user_data/freqaimodels/ReforceXY.py index 00d9f34..c6b3b3b 100644 --- a/ReforceXY/user_data/freqaimodels/ReforceXY.py +++ b/ReforceXY/user_data/freqaimodels/ReforceXY.py @@ -682,6 +682,9 @@ class ReforceXY(BaseReinforcementLearningModel): self.timeout: int = self.rl_config.get("max_trade_duration_candles", 128) self._last_closed_position: Positions = None self._last_closed_trade_tick: int = 0 + if self.add_state_info: + # STATE_INFO + self.state_features = ["pnl", "position", "trade_duration"] if self.force_actions: logger.info( "%s - take_profit: %s, stop_loss: %s, timeout: %s candles (%s days), observation_space: %s", @@ -705,7 +708,6 @@ class ReforceXY(BaseReinforcementLearningModel): Resets the environment when the agent fails """ super().reset_env(df, prices, window_size, reward_kwargs, starting_point) - self.state_features = ["pnl", "position", "trade_duration"] # STATE_INFO if self.add_state_info: self.total_features = self.signal_features.shape[1] + len( self.state_features @@ -1280,7 +1282,7 @@ class InfoMetricsCallback(TensorboardCallback): hparam_dict.update({"n_quantiles": self.model.n_quantiles}) metric_dict = { "info/total_reward": 0, - "info/total_profit": 0, + "info/total_profit": 1, "info/trade_count": 0, "info/trade_duration": 0, } -- 2.43.0