]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
refactor: move strategy and freqaimodel to configuration file
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Sat, 1 Mar 2025 10:50:59 +0000 (11:50 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Sat, 1 Mar 2025 10:50:59 +0000 (11:50 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
ReforceXY/docker-compose.yml
ReforceXY/user_data/config-template.json
ReforceXY/user_data/freqaimodels/ReforceXY.py
quickadapter/docker-compose.yml
quickadapter/user_data/config-template.json

index 5f2002b8e20c0a340ce16bed6b61f7fa75a6c314..561704477cf98015bd6cd786842cd84345194ea6 100644 (file)
@@ -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
index a4b97a69594ad087fef41b900437ebc500318d52..92cbf82bea01f1790788d12726fb26b3470ce8d0 100644 (file)
@@ -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",
index 6b68b12fa2377a5a5f8bdf611a92cc3c0d04a88f..2deb6c93d61e62d47f6de1f857a54d75bcfcc0b4 100644 (file)
@@ -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:
index ab48c48a283335a2f4e45d068ee49e1b37f7b730..13d322ebed5333ba2c182ff779b59d300d53d2bd 100644 (file)
@@ -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
index d2f77bf7225a4b6e62324e6021fd98ac7074c7c0..dc240eac817677af0ac5675aa09620dad5835db8 100644 (file)
@@ -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",