添加移除fillna警告提示

This commit is contained in:
jackyu66git
2026-03-06 22:21:11 +08:00
parent 512da40c96
commit 1c099be23e
+10 -2
View File
@@ -1,11 +1,19 @@
# pragma pylint: disable=missing-docstring, invalid-name, pointless-string-statement # pragma pylint: disable=missing-docstring, invalid-name, pointless-string-statement
from freqtrade.strategy import IStrategy, merge_informative_pair from freqtrade.strategy import IStrategy, merge_informative_pair
from pandas import DataFrame from pandas import DataFrame
import pandas as pd
import talib.abstract as ta import talib.abstract as ta
import numpy as np import numpy as np
from datetime import datetime from datetime import datetime
from typing import Optional from typing import Optional
from freqtrade.persistence import Trade from freqtrade.persistence import Trade
import warnings
# 抑制 pandas FutureWarning 关于 fillna 的隐式降级警告
# 这个警告来自 freqtrade 库的 strategy_helper.py
warnings.filterwarnings('ignore', category=FutureWarning, message='.*Downcasting object dtype arrays.*')
# 或者启用未来行为(推荐)
pd.set_option('future.no_silent_downcasting', True)
# freqtrade trade -c ./user_data/Chan/config/Local_Test.json --strategy CryptoFutures1m5mStrategy --strategy-path ./user_data/Chan/strategies # freqtrade trade -c ./user_data/Chan/config/Local_Test.json --strategy CryptoFutures1m5mStrategy --strategy-path ./user_data/Chan/strategies
# freqtrade backtesting -c ./user_data/Chan/config/Local_Test.json --strategy CryptoFutures1m5mStrategy --strategy-path ./user_data/Chan/strategies --timerange=20260304- # freqtrade backtesting -c ./user_data/Chan/config/Local_Test.json --strategy CryptoFutures1m5mStrategy --strategy-path ./user_data/Chan/strategies --timerange=20260304-
@@ -188,13 +196,13 @@ class CryptoFutures1m5mStrategy(IStrategy):
] ]
for col in bool_cols: for col in bool_cols:
if col in dataframe.columns: if col in dataframe.columns:
dataframe[col] = dataframe[col].fillna(False).astype(bool) dataframe[col] = dataframe[col].astype(bool).fillna(False)
num_cols = ['atr_pct_5m_5m', 'rsi_5m_5m', 'macd_hist_5m_5m', 'atr_pct_ma_5m_5m', num_cols = ['atr_pct_5m_5m', 'rsi_5m_5m', 'macd_hist_5m_5m', 'atr_pct_ma_5m_5m',
'ema200_dist_pct_5m', 'ema200_slope_5m'] 'ema200_dist_pct_5m', 'ema200_slope_5m']
for col in num_cols: for col in num_cols:
if col in dataframe.columns: if col in dataframe.columns:
dataframe[col] = dataframe[col].fillna(0) dataframe[col] = dataframe[col].astype(float).fillna(0.0)
return dataframe return dataframe