This commit is contained in:
aaron 2025-05-18 10:27:17 +08:00
parent 60b33268b4
commit e22a1eb0dc
3 changed files with 7 additions and 10 deletions

View File

@ -84,7 +84,7 @@ class BinanceAPI:
print(f"获取交易对大户持仓多空比时出错: {e}")
return 0
def get_historical_klines(self, symbol: str, interval: str, start_str: Optional[str] = None, end_str: Optional[str] = None, limit: Optional[int] = None, ts_transform: bool = True) -> pd.DataFrame:
def get_historical_klines(self, symbol: str, interval: str, start_str: Optional[str] = None, end_str: Optional[str] = None, limit: Optional[int] = None) -> pd.DataFrame:
"""
获取历史K线数据
@ -113,10 +113,8 @@ class BinanceAPI:
'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume', 'ignore'
])
# 转换数据类型
if ts_transform:
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms', utc=True).map(lambda x: x.tz_convert('Asia/Shanghai'))
df['close_time'] = pd.to_datetime(df['close_time'], unit='ms', utc=True).map(lambda x: x.tz_convert('Asia/Shanghai'))
df['format_timestamp'] = pd.to_datetime(df['timestamp'], unit='ms', utc=True).map(lambda x: x.tz_convert('Asia/Shanghai'))
df['format_close_time'] = pd.to_datetime(df['close_time'], unit='ms', utc=True).map(lambda x: x.tz_convert('Asia/Shanghai'))
for col in ['open', 'high', 'low', 'close', 'volume', 'quote_asset_volume',
'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume']:

View File

@ -43,12 +43,11 @@ async def get_crypto_kline(symbol: str, timeframe: Optional[str] = None, limit:
result = {}
if timeframe is None:
result["1h"] = binance_api.get_historical_klines(symbol=symbol, interval="1h", limit=limit, ts_transform=False).to_dict(orient="records")
result["4h"] = binance_api.get_historical_klines(symbol=symbol, interval="4h", limit=limit, ts_transform=False).to_dict(orient="records")
result["1d"] = binance_api.get_historical_klines(symbol=symbol, interval="1d", limit=limit, ts_transform=False).to_dict(orient="records")
# result["1w"] = binance_api.get_historical_klines(symbol=symbol, interval="1w", limit=limit, ts_transform=False).to_dict(orient="records")
result["1h"] = binance_api.get_historical_klines(symbol=symbol, interval="1h", limit=limit).to_dict(orient="records")
result["4h"] = binance_api.get_historical_klines(symbol=symbol, interval="4h", limit=limit).to_dict(orient="records")
result["1d"] = binance_api.get_historical_klines(symbol=symbol, interval="1d", limit=limit).to_dict(orient="records")
else:
result[timeframe] = binance_api.get_historical_klines(symbol=symbol, interval=timeframe, limit=limit, ts_transform=False).to_dict(orient="records")
result[timeframe] = binance_api.get_historical_klines(symbol=symbol, interval=timeframe, limit=limit).to_dict(orient="records")
return result