From: Jérôme Benoit Date: Mon, 23 Jun 2025 13:12:31 +0000 (+0200) Subject: refactor(qav3): refine typing X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=732830e809cfbb0897e84d42d557ce4ca79f40d8;p=freqai-strategies.git refactor(qav3): refine typing Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index 8e9b6b2..8b4dc25 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -109,7 +109,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): raise ValueError( "FreqAI model requires 'identifier' defined in the freqai section configuration" ) - self._optuna_hyperopt: bool | None = ( + self._optuna_hyperopt: Optional[bool] = ( self.freqai_info.get("enabled", False) and self._optuna_config.get("enabled") and self.data_split_parameters.get("test_size", TEST_SIZE) > 0 diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 8801f75..130e46f 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -537,7 +537,7 @@ class QuickAdapterV3(IStrategy): ) @staticmethod - def is_trade_duration_valid(trade_duration: float) -> bool: + def is_trade_duration_valid(trade_duration: Optional[int | float]) -> bool: return isinstance(trade_duration, (int, float)) and not ( isna(trade_duration) or trade_duration <= 0 ) @@ -751,9 +751,8 @@ class QuickAdapterV3(IStrategy): stoploss_distance = self.get_stoploss_distance(df, trade, current_rate) if isna(stoploss_distance) or stoploss_distance <= 0: return None - sign = 1 if trade.is_short else -1 return stoploss_from_absolute( - current_rate + (sign * stoploss_distance), + current_rate + (1 if trade.is_short else -1) * stoploss_distance, current_rate=current_rate, is_short=trade.is_short, leverage=trade.leverage,