Импорт панды как pd from binance.client import AsyncClient from datetime import datetime, timedelta Импорт aiohttp Импорт json def utc_to_local ((utc_dt):# преобразовать в Пекинское время local_tz = datetime.timezone ((datetime.timedelta ((hours=8)) # Восточный восьмой часовой пояс local_dt = utc_dt.replace ((tzinfo=datetime.timezone.utc).astimezone ((local_tz) Оригинальное название: return local_dt
async def init_client ((): клиент = ждать AsyncClient.create ((api_key=api_key, api_secret=api_secret)
return client
async def get_klines ((клиент, символ, время начала, время окончания, интервал):
klines = ждать клиента.futures_klines ((символ=символ, интервал=интервал, startTime=start_time.timestamp))) *1000, endTime=end_time.timestamp))) *1000)
df = pd.DataFrame ((клинки, столбцы=[
async def close_client ((клиент): ждать клиента.close_connection ((()
async def main ((():
client = await init_client ((() Ожидание на начало работы
# Получить все пары транзакций USDT на постоянные контракты
exchange_info = await client.Futures_exchange_info ((((((((((((((((((((((((((((
symbols = [symbol_info [
# 将所有交易对添加到 DataFrame 中
for symbol in symbols:
df.loc[symbol] = [None] * len(df.columns)
# 遍历所有交易对
for symbol in symbols:
# 设置起止时间
start_time = datetime.utcnow() - timedelta(minutes=16)#开始时间为16分钟前
end_time = datetime.utcnow()
try:
# 获取M15k线
current_klines = await get_klines(client, symbol, end_time - timedelta(minutes=15), end_time, '15m')
except Exception as e:
Log(f"An error occurred: {e}")
current_klines = []
# 将数据存入 DataFrame
# 更新对应的行
df.loc[symbol, 'Open'] = current_klines['open'].iloc[-1]
df.loc[symbol, 'High'] = current_klines['high'].iloc[-1]
df.loc[symbol, 'Low'] = current_klines['low'].iloc[-1]
df.loc[symbol, 'Close'] = current_klines['close'].iloc[-1]
df.loc[symbol, 'Change'] = current_change
df.loc[symbol, 'Volume'] = current_klines['volume'].iloc[-1]
# 关闭客户端
Log(df)
await close_client(client)
еслиИмя == ‘главный
Нет, еслиВы можете собрать данные через несколько строк, поместить каждый строк в общий объект, и затем определить, закончились ли все стены.
- Я не знаю.О том, что такое агломерация, всегда есть ключевое слово или два?
- Я не знаю.О том, что такое агломерация, всегда есть ключевое слово или два?
ТраваЯ не использую эту библиотеку, но лучше пробовать поэтапно. Кроме того, не очень хорошо иметь сотни транзакций одновременно.
Трава/fapi/v1/ticker/price