From e583e677b8a748cc75741f8c5d9841fbd549e236 Mon Sep 17 00:00:00 2001 From: "zhangkun9038@dingtalk.com" Date: Sat, 31 May 2025 09:43:33 +0000 Subject: [PATCH] up --- config_examples/freqaiprimer.json | 2 +- freqtrade/templates/freqaiprimer.py | 27 ++++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/config_examples/freqaiprimer.json b/config_examples/freqaiprimer.json index 4faa5c6f..23a5c5bb 100644 --- a/config_examples/freqaiprimer.json +++ b/config_examples/freqaiprimer.json @@ -8,7 +8,7 @@ "tradable_balance_ratio": 1, "fiat_display_currency": "USD", "dry_run": true, - "timeframe": "3m", + "timeframe": "5m", "dry_run_wallet": 1000, "cancel_open_orders_on_exit": true, "stoploss": -0.05, diff --git a/freqtrade/templates/freqaiprimer.py b/freqtrade/templates/freqaiprimer.py index 28cae309..2415af26 100644 --- a/freqtrade/templates/freqaiprimer.py +++ b/freqtrade/templates/freqaiprimer.py @@ -12,7 +12,7 @@ from freqtrade.strategy import IStrategy logger = logging.getLogger(__name__) -class DivergenceRegressionStrategy(IStrategy): +class FreqaiPrimer(IStrategy): """ 策略说明: - 所有交易信号基于 FreqAI 的动态预测 @@ -124,6 +124,17 @@ class DivergenceRegressionStrategy(IStrategy): for col in columns_to_clean: dataframe[col] = dataframe[col].replace([np.inf, -np.inf], 0).ffill().fillna(0) + columns_to_clean = [ + "%-rsi-period", "%-mfi-period", "%-sma-period", "%-ema-period", "%-adx-period", + "bb_lowerband-period", "bb_middleband-period", "bb_upperband-period", + "%-bb_width-period", "%-roc-period", "%-relative_volume-period", "%-close-bb_lower-period", "%-tema-period", + "%-price_trend_diff-period", "%-roc_mfi_ratio-period" + ] + + for col in columns_to_clean: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) + dataframe[col] = dataframe[col].ffill().fillna(0) + return dataframe # 👇 定义目标列(全部为连续值) @@ -151,6 +162,20 @@ class DivergenceRegressionStrategy(IStrategy): dataframe["trend_change"] = dataframe["&-trend_strength"].pct_change(label_period) dataframe["&-divergence_score"] = dataframe["price_change"] - dataframe["trend_change"] + # 👇 新增:清理所有目标列中的非有限值 + target_columns = [ + "&-trend_strength", + "&-volatility_forecast", + "&-roi_target", + "&-stoploss_target", + "&-divergence_score" + ] + + for col in target_columns: + if col in dataframe.columns: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) + dataframe[col] = dataframe[col].ffill().fillna(0) + return dataframe # 👇 缓存 mean/std 供后续使用