stable1 4

This commit is contained in:
zhangkun9038@dingtalk.com 2025-04-28 17:54:40 +08:00
parent 5ef9dd3d61
commit 4b2fd054b5

View File

@ -85,6 +85,21 @@ class FreqaiExampleStrategy(IStrategy):
dataframe["macd"] = np.nan
dataframe["macdsignal"] = np.nan
# 检查并填充 NaN 值
if "macd" in dataframe.columns and "macdsignal" in dataframe.columns:
dataframe["macd"] = dataframe["macd"].fillna(method='ffill').fillna(0)
dataframe["macdsignal"] = dataframe["macdsignal"].fillna(method='ffill').fillna(0)
else:
logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。")
try:
macd = ta.MACD(dataframe, fastperiod=12, slowperiod=26, signalperiod=9)
dataframe["macd"] = macd["macd"].fillna(method='ffill').fillna(0)
dataframe["macdsignal"] = macd["macdsignal"].fillna(method='ffill').fillna(0)
logger.info("MACD 列已成功重新计算。")
except Exception as e:
logger.error(f"重新计算 MACD 列时出错:{str(e)}")
raise ValueError("DataFrame 缺少必要的 MACD 列且无法重新计算。")
# 检查 MACD 列是否存在
if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns:
logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号")