]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
fix(qav3): fine tune protections to the predictions fitting period
authorJérôme Benoit <jerome.benoit@sap.com>
Mon, 17 Mar 2025 15:52:49 +0000 (16:52 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Mon, 17 Mar 2025 15:52:49 +0000 (16:52 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
ReforceXY/user_data/strategies/RLAgentStrategy.py
quickadapter/user_data/strategies/QuickAdapterV3.py

index 322edf61677e98a00aaa4d4ec89693b7501af058..173fcb8a30b65d2779315e25c9de87675508794e 100644 (file)
@@ -41,16 +41,16 @@ class RLAgentStrategy(IStrategy):
     #         {"method": "CooldownPeriod", "stop_duration_candles": 4},
     #         {
     #             "method": "MaxDrawdown",
-    #             "lookback_period_candles": 48,
+    #             "lookback_period_candles": fit_live_predictions_candles,
     #             "trade_limit": 20,
-    #             "stop_duration_candles": 4,
+    #             "stop_duration_candles": fit_live_predictions_candles,
     #             "max_allowed_drawdown": 0.2,
     #         },
     #         {
     #             "method": "StoplossGuard",
-    #             "lookback_period_candles": int(fit_live_predictions_candles / 2),
+    #             "lookback_period_candles": fit_live_predictions_candles,
     #             "trade_limit": 1,
-    #             "stop_duration_candles": int(fit_live_predictions_candles / 2),
+    #             "stop_duration_candles": fit_live_predictions_candles,
     #             "only_per_pair": True,
     #         },
     #     ]
index 3f24564c3b7489f2ed568c35c0d8f17444443c61..76118f03af73b7dcbef9179be4334d9a8696fa47 100644 (file)
@@ -43,7 +43,7 @@ class QuickAdapterV3(IStrategy):
     INTERFACE_VERSION = 3
 
     def version(self) -> str:
-        return "3.1.0"
+        return "3.1.1"
 
     timeframe = "5m"
 
@@ -122,16 +122,16 @@ class QuickAdapterV3(IStrategy):
             {"method": "CooldownPeriod", "stop_duration_candles": 4},
             {
                 "method": "MaxDrawdown",
-                "lookback_period_candles": 48,
+                "lookback_period_candles": fit_live_predictions_candles,
                 "trade_limit": 20,
-                "stop_duration_candles": 4,
+                "stop_duration_candles": fit_live_predictions_candles,
                 "max_allowed_drawdown": 0.2,
             },
             {
                 "method": "StoplossGuard",
-                "lookback_period_candles": int(fit_live_predictions_candles / 2),
+                "lookback_period_candles": fit_live_predictions_candles,
                 "trade_limit": 1,
-                "stop_duration_candles": int(fit_live_predictions_candles / 2),
+                "stop_duration_candles": fit_live_predictions_candles,
                 "only_per_pair": True,
             },
         ]
@@ -140,7 +140,8 @@ class QuickAdapterV3(IStrategy):
 
     @property
     def startup_candle_count(self) -> int:
-        return int(self.freqai_info.get("fit_live_predictions_candles", 100) / 2)
+        # Match the predictions warmup period
+        return self.freqai_info.get("fit_live_predictions_candles", 100)
 
     def bot_start(self, **kwargs) -> None:
         self.pairs = self.config.get("exchange", {}).get("pair_whitelist")