Import pandas als pd von binance.client Import AsyncClient von Datetime importieren Datetime, Timedelta Import aiohttp Import von json def utc_to_local ((utc_dt):# wird in Peking Zeit umgewandelt local_tz = datetime.timezone ((datetime.timedelta ((hours=8)) # östliche Zeitzone acht local_dt = utc_dt.replace ((tzinfo=datetime.timezone.utc).astimezone ((local_tz) der Datenzeit-Zone ist der Zeitzone, in der die Datenzeit der Datenzone liegt. zurück local_dt
async def init_client ((): Client = warten AsyncClient.create ((api_key=api_key, api_secret=api_secret)
return client
async def get_klines ((Client, Symbol, Startzeit, Endzeit, Intervall):
klines = client.futures_klines warten ((symbol=symbol, interval=interval, startTime=start_time.timestamp))) *1000, endTime=end_time.timestamp))) *1000)
df = pd.DataFrame(Klinen, Spalten=[
Async def close_client ((Client): Warten Sie auf Client.close_connection ((()
async def main (:
Client = warten auf init_client
# Zugriff auf alle USDT-Permanenten-Kontrakte
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)
wennName == ‘Haupt
Nein, wennSie können über mehrere Threads gesammelt werden, und die gesammelten Daten von jedem Thread in einen öffentlichen Objekt gesetzt werden, um zu beurteilen, ob alle Threads beendet sind.
- Ich weiß nicht.Kann man immer ein oder zwei Schlüsselwörter über die Aggregationsfunktion erwähnen?
- Ich weiß nicht.Kann man immer ein oder zwei Schlüsselwörter über die Aggregationsfunktion erwähnen?
Das GrasIch habe diese Bibliothek nicht benutzt, aber es ist am besten, sie Schritt für Schritt zu deaktivieren. Außerdem ist es nicht so gut, Hunderte von Transaktionen gleichzeitig zu führen.
Das Gras/fapi/v1/ticker/price