reindex and merge
This commit is contained in:
parent
84d47da911
commit
7892332420
@ -142,11 +142,13 @@ class FreqaiPrimer(IStrategy):
|
||||
df_15m['macd_signal_15m'] = macd_15m['MACDs_12_26_9']
|
||||
df_15m['macd_hist_15m'] = macd_15m['MACDh_12_26_9']
|
||||
|
||||
# 手动合并 15m 数据
|
||||
df_15m = df_15m[['date', 'rsi_15m', 'ema_50_15m', 'ema_200_15m']]
|
||||
df_15m = df_15m.rename(columns={'date': 'date_15m'})
|
||||
dataframe = dataframe.merge(df_15m, how='left', left_on='date', right_on='date_15m')
|
||||
dataframe = dataframe.fillna(method='ffill')
|
||||
# 将 15m 数据重新索引到主时间框架 (3m)
|
||||
df_15m = df_15m.set_index('date').reindex(dataframe['date']).reset_index()
|
||||
df_15m = df_15m.rename(columns={'index': 'date'})
|
||||
df_15m = df_15m[['date', 'rsi_15m', 'ema_50_15m', 'ema_200_15m']].fillna(method='ffill')
|
||||
|
||||
# 合并 15m 数据
|
||||
dataframe = dataframe.merge(df_15m, how='left', on='date')
|
||||
|
||||
# 获取 1h 数据
|
||||
df_1h = self.dp.get_pair_dataframe(pair=metadata['pair'], timeframe='1h')
|
||||
@ -166,11 +168,13 @@ class FreqaiPrimer(IStrategy):
|
||||
df_1h['macd_signal_1h'] = macd_1h['MACDs_12_26_9']
|
||||
df_1h['macd_hist_1h'] = macd_1h['MACDh_12_26_9']
|
||||
|
||||
# 手动合并 1h 数据
|
||||
df_1h = df_1h[['date', 'rsi_1h', 'trend_1h', 'ema_50_1h', 'ema_200_1h']]
|
||||
df_1h = df_1h.rename(columns={'date': 'date_1h'})
|
||||
dataframe = dataframe.merge(df_1h, how='left', left_on='date', right_on='date_1h')
|
||||
dataframe = dataframe.fillna(method='ffill')
|
||||
# 将 1h 数据重新索引到主时间框架 (3m)
|
||||
df_1h = df_1h.set_index('date').reindex(dataframe['date']).reset_index()
|
||||
df_1h = df_1h.rename(columns={'index': 'date'})
|
||||
df_1h = df_1h[['date', 'rsi_1h', 'trend_1h', 'ema_50_1h', 'ema_200_1h']].fillna(method='ffill')
|
||||
|
||||
# 合并 1h 数据
|
||||
dataframe = dataframe.merge(df_1h, how='left', on='date')
|
||||
|
||||
# K线形态:看涨吞没
|
||||
dataframe['bullish_engulfing'] = (
|
||||
@ -219,8 +223,8 @@ class FreqaiPrimer(IStrategy):
|
||||
15m={'牛' if dataframe['trend_15m'].iloc[-1] == 1 else '熊'}, \
|
||||
1h={'牛' if dataframe['trend_1h_ema'].iloc[-1] == 1 else '熊'}")
|
||||
|
||||
# 调试:打印指标值(最后 5 行)
|
||||
print(f"Pair: {metadata['pair']}, Last 5 rows:")
|
||||
# 调试:打印指标值(最后 5 行),验证时间对齐
|
||||
print(f"Pair: {metadata['pair']}, Last 5 rows after reindexing:")
|
||||
print(dataframe[['date', 'close', 'bb_lower_3m', 'rsi_3m', 'rsi_15m', 'rsi_1h', 'trend_1h',
|
||||
'trend_3m', 'trend_15m', 'trend_1h_ema', 'market_score', 'market_state',
|
||||
'bullish_engulfing', 'volume', 'volume_ma']].tail(5))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user