]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
refactor(qav3): refine typing
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 23 Jun 2025 13:12:31 +0000 (15:12 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 23 Jun 2025 13:12:31 +0000 (15:12 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py
quickadapter/user_data/strategies/QuickAdapterV3.py

index 8e9b6b2aab7cb23f4d0fea80963293bf1de066bf..8b4dc25af7f3f89f469d6c41623462672ef55308 100644 (file)
@@ -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
index 8801f757c436dffa5459f1f61c50c2d01a1107d3..130e46fc9f61625541dce1655478941dd039bb02 100644 (file)
@@ -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,