From: Jérôme Benoit Date: Sat, 24 May 2025 13:20:45 +0000 (+0200) Subject: fix(qav3): fix namespace collision X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=e16b8c76193237c4e763f70d388c09ee41a300f0;p=freqai-strategies.git fix(qav3): fix namespace collision Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index 1aea149..46fabc3 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.59" + version = "3.7.60" @cached_property def _optuna_config(self) -> dict: diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 0c50b43..289406a 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -18,8 +18,8 @@ import pandas_ta as pta from Utils import ( alligator, bottom_change_percent, + calculate_zero_lag, get_ma_fn, - zero_lag, zigzag, ewo, non_zero_diff, @@ -60,7 +60,7 @@ class QuickAdapterV3(IStrategy): INTERFACE_VERSION = 3 def version(self) -> str: - return "3.3.61" + return "3.3.62" timeframe = "5m" @@ -478,7 +478,7 @@ class QuickAdapterV3(IStrategy): def get_trade_natr(df: DataFrame, trade_duration_candles: int) -> Optional[float]: if not QuickAdapterV3.is_trade_duration_valid(trade_duration_candles): return None - trade_zl_natr = zero_lag( + trade_zl_natr = calculate_zero_lag( df["natr_label_period_candles"], period=trade_duration_candles ) if trade_zl_natr.empty: diff --git a/quickadapter/user_data/strategies/Utils.py b/quickadapter/user_data/strategies/Utils.py index 481ed9a..5608969 100644 --- a/quickadapter/user_data/strategies/Utils.py +++ b/quickadapter/user_data/strategies/Utils.py @@ -127,7 +127,7 @@ def vwapb(dataframe: pd.DataFrame, window=20, num_of_std=1) -> tuple: return vwap_low, vwap, vwap_high -def zero_lag(series: pd.Series, period: int) -> pd.Series: +def calculate_zero_lag(series: pd.Series, period: int) -> pd.Series: """Applies a zero lag filter to reduce MA lag.""" lag = max(int(0.5 * (period - 1)), 0) if lag == 0: @@ -190,9 +190,9 @@ def frama(df: pd.DataFrame, period: int = 16, zero_lag=False) -> pd.Series: closes = df["close"] if zero_lag: - highs = zero_lag(highs, period=period) - lows = zero_lag(lows, period=period) - closes = zero_lag(closes, period=period) + highs = calculate_zero_lag(highs, period=period) + lows = calculate_zero_lag(lows, period=period) + closes = calculate_zero_lag(closes, period=period) fd = pd.Series(np.nan, index=closes.index) for i in range(period, n): @@ -227,7 +227,7 @@ def smma(series: pd.Series, period: int, zero_lag=False, offset=0) -> pd.Series: return pd.Series(index=series.index, dtype=float) if zero_lag: - series = zero_lag(series, period=period) + series = calculate_zero_lag(series, period=period) smma = pd.Series(np.nan, index=series.index) smma.iloc[period - 1] = series.iloc[:period].mean() @@ -266,8 +266,8 @@ def ewo( prices = get_price_fn(pricemode)(dataframe) if zero_lag: - prices_ma1 = zero_lag(prices, period=ma1_length) - prices_ma2 = zero_lag(prices, period=ma2_length) + prices_ma1 = calculate_zero_lag(prices, period=ma1_length) + prices_ma2 = calculate_zero_lag(prices, period=ma2_length) else: prices_ma1 = prices prices_ma2 = prices