From: Jérôme Benoit Date: Fri, 21 Nov 2025 19:31:15 +0000 (+0100) Subject: refactor(qav3): code cleanups X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=4db3b7ad078a408e65ea60cc5dd8f26469688c00;p=freqai-strategies.git refactor(qav3): code cleanups Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index 2768d3c..1c8cdbf 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -73,7 +73,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): https://github.com/sponsors/robcaulk """ - version = "3.7.123" + version = "3.7.124" _SQRT_2: Final[float] = np.sqrt(2.0) diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index e2764ec..6cf88b2 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -35,6 +35,7 @@ from Utils import ( SMOOTHING_METHODS, WEIGHT_STRATEGIES, TrendDirection, + WeightStrategy, alligator, bottom_change_percent, calculate_n_extrema, @@ -104,7 +105,7 @@ class QuickAdapterV3(IStrategy): _TRADING_MODES: Final[tuple[TradingMode, ...]] = ("spot", "margin", "futures") def version(self) -> str: - return "3.3.173" + return "3.3.174" timeframe = "5m" @@ -732,18 +733,17 @@ class QuickAdapterV3(IStrategy): @staticmethod def _get_weights( - strategy: str, amplitudes: list[float], amplitude_excesses: list[float] + strategy: WeightStrategy, + amplitudes: list[float], + amplitude_excesses: list[float], ) -> list[float]: - if not isinstance(strategy, str): - return [] - strategy = strategy.lower().strip() - if strategy == "amplitude_excess": + if strategy == WEIGHT_STRATEGIES[2]: # "amplitude_excess" return ( amplitude_excesses if len(amplitude_excesses) == len(amplitudes) else amplitudes ) - if strategy == "amplitude": + if strategy == WEIGHT_STRATEGIES[1]: # "amplitude" return amplitudes return [] diff --git a/quickadapter/user_data/strategies/Utils.py b/quickadapter/user_data/strategies/Utils.py index cdd83f2..34bd96e 100644 --- a/quickadapter/user_data/strategies/Utils.py +++ b/quickadapter/user_data/strategies/Utils.py @@ -985,13 +985,13 @@ def zigzag( amplitude = np.nan else: amplitude = abs(value - prev_value) / abs(prev_value) - threshold_current = thresholds[pos] + current_threshold = thresholds[pos] if ( - np.isfinite(threshold_current) - and threshold_current > 0 + np.isfinite(current_threshold) + and current_threshold > 0 and np.isfinite(amplitude) ): - amplitude_excess = amplitude / threshold_current + amplitude_excess = amplitude / current_threshold else: amplitude_excess = np.nan else: