From: Jérôme Benoit Date: Sun, 10 Aug 2025 11:52:35 +0000 (+0200) Subject: perf(qav3): shorten labeling NATR period X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=bba1ede9019e59087d6bebf6e73e0fa2aa45b7ab;p=freqai-strategies.git perf(qav3): shorten labeling NATR period Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/config-template.json b/quickadapter/user_data/config-template.json index f547894..6cd3ff8 100644 --- a/quickadapter/user_data/config-template.json +++ b/quickadapter/user_data/config-template.json @@ -126,7 +126,7 @@ "n_jobs": 6, "n_trials": 36, "timeout": 7200, - "label_candles_step": 2, + "label_candles_step": 1, "train_candles_step": 10, "storage": "file" }, diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index 4b693fd..cf90a7f 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -60,7 +60,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): https://github.com/sponsors/robcaulk """ - version = "3.7.110" + version = "3.7.111" @cached_property def _optuna_config(self) -> dict[str, Any]: @@ -76,7 +76,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): "n_startup_trials": 15, "n_trials": 36, "timeout": 7200, - "label_candles_step": 2, + "label_candles_step": 1, "train_candles_step": 10, "expansion_ratio": 0.4, "seed": 1, @@ -1351,11 +1351,12 @@ def label_objective( fit_live_predictions_candles // fit_live_predictions_candles_largest_divisor, candles_step, + 12, ), candles_step, ) max_label_period_candles: int = round_to_nearest_int( - max(fit_live_predictions_candles // 4, min_label_period_candles), + max(fit_live_predictions_candles // 24, min_label_period_candles, 22), candles_step, ) label_period_candles = trial.suggest_int( @@ -1364,7 +1365,7 @@ def label_objective( max_label_period_candles, step=candles_step, ) - label_natr_ratio = trial.suggest_float("label_natr_ratio", 2.0, 38.0, step=0.01) + label_natr_ratio = trial.suggest_float("label_natr_ratio", 2.0, 44.0, step=0.01) label_period_cycles = fit_live_predictions_candles / label_period_candles df = df.iloc[-(max(2, int(label_period_cycles)) * label_period_candles) :] diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index dcfdb1b..fc45b8f 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -65,7 +65,7 @@ class QuickAdapterV3(IStrategy): INTERFACE_VERSION = 3 def version(self) -> str: - return "3.3.150" + return "3.3.151" timeframe = "5m" @@ -856,21 +856,7 @@ class QuickAdapterV3(IStrategy): take_profit_price = ( trade.open_rate + (-1 if trade.is_short else 1) * take_profit_distance ) - trade_take_profit_price_history = self.safe_append_trade_take_profit_price( - trade, take_profit_price - ) - - if exit_stage not in self.partial_exit_stages: - if not trade_take_profit_price_history: - return None - trade_take_profit_price_history = np.asarray( - trade_take_profit_price_history - ) - return ( - np.min(trade_take_profit_price_history) - if trade.is_short - else np.max(trade_take_profit_price_history) - ) + self.safe_append_trade_take_profit_price(trade, take_profit_price) return take_profit_price