From fb7dc675b50311a63ab5d4a459779e5454e72f70 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Fri, 9 May 2025 12:50:47 +0200 Subject: [PATCH] perf(qav3): increase threshold to confirm labeled pivot MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .../user_data/freqaimodels/QuickAdapterRegressorV3.py | 7 ++++--- quickadapter/user_data/strategies/QuickAdapterV3.py | 2 +- quickadapter/user_data/strategies/Utils.py | 5 +++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index af191a8..65b6845 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -45,7 +45,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): https://github.com/sponsors/robcaulk """ - version = "3.7.30" + version = "3.7.31" @cached_property def _optuna_config(self) -> dict: @@ -925,19 +925,20 @@ def zigzag( elif direction == TrendDirection.UP: slope_ok = next_slope > 0 + thresholds_ratio = 0.175 significant_move_away_ok = False if direction == TrendDirection.DOWN: if np.any( next_lows < highs[candidate_pivot_pos] - * (1 - thresholds[candidate_pivot_pos] * 0.15) + * (1 - thresholds[candidate_pivot_pos] * thresholds_ratio) ): significant_move_away_ok = True elif direction == TrendDirection.UP: if np.any( next_highs > lows[candidate_pivot_pos] - * (1 + thresholds[candidate_pivot_pos] * 0.15) + * (1 + thresholds[candidate_pivot_pos] * thresholds_ratio) ): significant_move_away_ok = True diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 36bcc89..c0723bb 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -58,7 +58,7 @@ class QuickAdapterV3(IStrategy): INTERFACE_VERSION = 3 def version(self) -> str: - return "3.3.26" + return "3.3.27" timeframe = "5m" diff --git a/quickadapter/user_data/strategies/Utils.py b/quickadapter/user_data/strategies/Utils.py index 8ab5cb2..cda7e98 100644 --- a/quickadapter/user_data/strategies/Utils.py +++ b/quickadapter/user_data/strategies/Utils.py @@ -419,19 +419,20 @@ def zigzag( elif direction == TrendDirection.UP: slope_ok = next_slope > 0 + thresholds_ratio = 0.175 significant_move_away_ok = False if direction == TrendDirection.DOWN: if np.any( next_lows < highs[candidate_pivot_pos] - * (1 - thresholds[candidate_pivot_pos] * 0.15) + * (1 - thresholds[candidate_pivot_pos] * thresholds_ratio) ): significant_move_away_ok = True elif direction == TrendDirection.UP: if np.any( next_highs > lows[candidate_pivot_pos] - * (1 + thresholds[candidate_pivot_pos] * 0.15) + * (1 + thresholds[candidate_pivot_pos] * thresholds_ratio) ): significant_move_away_ok = True -- 2.43.0