From: Jérôme Benoit Date: Sat, 1 Mar 2025 10:50:59 +0000 (+0100) Subject: refactor: move strategy and freqaimodel to configuration file X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=c1a83ec1648d1470e2e8e494a90e64f58e3686da;p=freqai-strategies.git refactor: move strategy and freqaimodel to configuration file Signed-off-by: Jérôme Benoit --- diff --git a/ReforceXY/docker-compose.yml b/ReforceXY/docker-compose.yml index 5f2002b..5617044 100644 --- a/ReforceXY/docker-compose.yml +++ b/ReforceXY/docker-compose.yml @@ -30,6 +30,3 @@ services: trade --logfile /freqtrade/user_data/logs/freqtrade-ReforceXY.log --db-url sqlite:////freqtrade/user_data/freqtrade-ReforceXY-tradesv3.sqlite - --config /freqtrade/user_data/config.json - --freqaimodel ReforceXY - --strategy RLAgentStrategy diff --git a/ReforceXY/user_data/config-template.json b/ReforceXY/user_data/config-template.json index a4b97a6..92cbf82 100644 --- a/ReforceXY/user_data/config-template.json +++ b/ReforceXY/user_data/config-template.json @@ -1,5 +1,7 @@ { "$schema": "https://schema.freqtrade.io/schema.json", + "strategy": "RLAgentStrategy", + "freqaimodel": "ReforceXY", "max_open_trades": 10, "stake_currency": "USDT", "stake_amount": "unlimited", diff --git a/ReforceXY/user_data/freqaimodels/ReforceXY.py b/ReforceXY/user_data/freqaimodels/ReforceXY.py index 6b68b12..2deb6c9 100644 --- a/ReforceXY/user_data/freqaimodels/ReforceXY.py +++ b/ReforceXY/user_data/freqaimodels/ReforceXY.py @@ -813,14 +813,14 @@ class ReforceXY(BaseReinforcementLearningModel): self._position in (Positions.Short, Positions.Long) and action == Actions.Neutral.value ): - max_pnl = max(self.get_most_recent_max_pnl(), pnl) - if max_pnl > 0: - drawdown_penalty = 0.01 * factor * (max_pnl - pnl) - else: - drawdown_penalty = 0.0 lambda1 = 0.05 lambda2 = 0.1 if pnl >= 0: + max_pnl = max(self.get_most_recent_max_pnl(), pnl) + if max_pnl > 0: + drawdown_penalty = 0.01 * factor * (max_pnl - pnl) + else: + drawdown_penalty = 0.0 return ( factor * pnl @@ -829,13 +829,9 @@ class ReforceXY(BaseReinforcementLearningModel): - drawdown_penalty ) else: - return ( - factor - * pnl - * (1 + lambda1 * (trade_duration / max_trade_duration)) - - 2 * lambda2 * (trade_duration / max_trade_duration) - - drawdown_penalty - ) + return factor * pnl * ( + 1 + lambda1 * (trade_duration / max_trade_duration) + ) - 2 * lambda2 * (trade_duration / max_trade_duration) # close long if action == Actions.Long_exit.value and self._position == Positions.Long: diff --git a/quickadapter/docker-compose.yml b/quickadapter/docker-compose.yml index ab48c48..13d322e 100644 --- a/quickadapter/docker-compose.yml +++ b/quickadapter/docker-compose.yml @@ -30,6 +30,3 @@ services: trade --logfile /freqtrade/user_data/logs/freqtrade-quickadapter.log --db-url sqlite:////freqtrade/user_data/freqtrade-quickadapter-tradesv3.sqlite - --config /freqtrade/user_data/config.json - --freqaimodel XGBoostRegressorQuickAdapterV35 - --strategy QuickAdapterV3 diff --git a/quickadapter/user_data/config-template.json b/quickadapter/user_data/config-template.json index d2f77bf..dc240ea 100644 --- a/quickadapter/user_data/config-template.json +++ b/quickadapter/user_data/config-template.json @@ -1,5 +1,8 @@ { "$schema": "https://schema.freqtrade.io/schema.json", + "strategy": "QuickAdapterV3", + "freqaimodel": "XGBoostRegressorQuickAdapterV35", + // "freqaimodel": "LightGBMRegressorQuickAdapterV35", "max_open_trades": 10, "stake_currency": "USDT", "stake_amount": "unlimited",