This commit is contained in:
zhangkun9038@dingtalk.com 2025-04-29 13:53:54 +08:00
parent 80394be9d4
commit c54f83d64f

View File

@ -258,11 +258,19 @@ class FreqaiExampleStrategy(IStrategy):
dataframe["roi_0_pred"] = dataframe["&-roi_0"].clip(0.01, 0.2)
dataframe["roi_0_pred"] = dataframe["roi_0_pred"].fillna(dataframe["roi_0_pred"].mean())
# 检查预测值
for col in ["buy_rsi_pred", "sell_rsi_pred", "stoploss_pred", "roi_0_pred", "&-sell_rsi", "&-stoploss", "&-roi_0"]:
# 初始化所有可能缺失的预测列
pred_columns = ["buy_rsi_pred", "sell_rsi_pred", "stoploss_pred", "roi_0_pred"]
for col in pred_columns:
if col not in dataframe.columns:
logger.warning(f"{col} 缺失,初始化为默认值")
dataframe[col] = 0 # 使用 0 作为默认值
# 检查并处理 NaN 值
for col in pred_columns + ["&-sell_rsi", "&-stoploss", "&-roi_0"]:
if col in dataframe.columns:
if dataframe[col].isna().any():
logger.warning(f"{col} 包含 NaN填充为默认值")
dataframe[col] = dataframe[col].fillna(dataframe[col].mean())
dataframe[col] = dataframe[col].fillna(dataframe[col].mean())
# 更保守的止损和止盈设置
dataframe["trailing_stop_positive"] = (dataframe["roi_0_pred"] * 0.3).clip(0.01, 0.2)