This commit is contained in:
jackyu66git
2025-06-18 00:56:41 +08:00
parent 3dc7dd5322
commit de756e38eb
3 changed files with 338 additions and 53 deletions
+12 -1
View File
@@ -52,12 +52,18 @@ exchange = ccxt.binance({
# 时间周期映射
TIMEFRAMES = {
'1m': '1分钟',
'3m': '3分钟',
'5m': '5分钟',
'15m': '15分钟',
'30m': '30分钟',
'1h': '1小时',
'2h': '2小时',
'4h': '4小时',
'6h': '6小时',
'8h': '8小时',
'12h': '12小时',
'1d': '日线',
'3d': '3日',
'1w': '周线',
'1M': '月线',
}
@@ -115,8 +121,10 @@ def get_crypto_kl_data(symbol, timeframe, limit=1000, start_time=None, end_time=
batch_size = 1000 # 默认批次大小
if timeframe in ['1m', '3m', '5m']:
batch_size = 500 # 分钟级数据减少批次大小
elif timeframe in ['15m', '30m', '1h']:
elif timeframe in ['15m', '30m', '1h', '2h']:
batch_size = 1000
elif timeframe in ['4h', '6h', '8h', '12h']:
batch_size = 1200 # 小时级数据可以获取更多
else:
batch_size = 1500 # 日线及以上可以获取更多
@@ -280,6 +288,9 @@ def add_indicators(df):
df['ma250'] = (ta.MA(df, timeperiod=250)).fillna(0)
df['rsi'] = ta.RSI(df, timeperiod=14)
# 计算ATR (平均真实波幅)
df['atr'] = ta.ATR(df, timeperiod=14).fillna(0)
# 计算布林带 (当前周期 - 20周期,2标准差)
bb = ta.BBANDS(df, timeperiod=20, nbdevup=2.0, nbdevdn=2.0, matype=0)
df['bb_upper'] = bb['upperband'].fillna(0)