From 0b7ab9b5f9a5919201242924149ef935a23dc014 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Mon, 17 Mar 2025 16:52:49 +0100 Subject: [PATCH] fix(qav3): fine tune protections to the predictions fitting period MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- ReforceXY/user_data/strategies/RLAgentStrategy.py | 8 ++++---- quickadapter/user_data/strategies/QuickAdapterV3.py | 13 +++++++------ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ReforceXY/user_data/strategies/RLAgentStrategy.py b/ReforceXY/user_data/strategies/RLAgentStrategy.py index 322edf6..173fcb8 100644 --- a/ReforceXY/user_data/strategies/RLAgentStrategy.py +++ b/ReforceXY/user_data/strategies/RLAgentStrategy.py @@ -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, # }, # ] diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 3f24564..76118f0 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -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") -- 2.43.0