असमंजस की समस्या, पागल हो रही है

लेखक:इज़्ज़्ज़्ज़, बनाया गयाः 2023-03-15 10:43:20, अद्यतन किया गयाः

import pandas as pd डाउनलोड करें from binance.client आयात 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

असिंक्रोनस K-लाइन डेटा प्राप्त करें

async def get_klines ((ग्राहक, प्रतीक, प्रारंभ_समय, अंत_समय, अंतराल): klines = wait client.futures_klines ((symbol=symbol, interval=interval, startTime=start_time.timestamp))) *1000, endTime=end_time.timestamp))) *1000) df = pd.DataFrame(कड़ियों, स्तंभों=[टाइमस्टैम्प, open, high, low, close, volume, close_time, quote_asset_volume, number_of_trades, taker_buy_base_asset_volume, taker_buy_quote_asset_volume, ignore]) df[timestamp] = pd.to_datetime(df[timestamp], इकाई=ms) df[close_time] = pd.to_datetime(df[close_time], इकाई=ms) df.set_index ((टाइमस्टैम्प, inplace=True) df.drop(columns=[close_time, ignore], inplace=True) df = df.astype ((फ्लोट) रिटर्न डीएफ

बिनेंस क्लाइंट को असिंक्रोनस बंद करें

async def close_client ((क्लाइंट): client.close_connection की प्रतीक्षा करें()

असिंक्रोनस मुख्य फ़ंक्शन निष्पादित करें

async def main (: client = await init_client (() # सभी USDT स्थायी अनुबंधों के लिए लेनदेन जोड़े प्राप्त करें exchange_info = client.futures_exchange_info का इंतजार करें symbols = [symbol_info [symbol] for symbol_info in exchange_info [symbols] if symbol_info [contractType] == PERPETUAL and symbol_info [quoteAsset] == USDT] # रिक्त डेटाफ्रेम बनाना df = pd.DataFrame ((columns=[Symbol टैग, Open टैग, High टैग, Low टैग, Close टैग, Change टैग, Volume टैग]) df.set_index ((Symbol, inplace=True)

# 将所有交易对添加到 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)

असिंक्रोनस प्रोग्राम चलाएँ

यदिनाम == ‘मुख्य: आयात करना asyncio.run ((मुख्य))

इसका उद्देश्य सभी अनुबंधित मुद्राओं के लिए M15 के लिए गिरावट का आंकड़ा प्राप्त करना है।

Log ((df) एक बार के बाद त्रुटि होती है; यानी एक बार सभी प्रतीकों के मूल्य आदि के डेटा को अपडेट करने के बाद त्रुटि होती हैःTraceback (most recent call last): File bar, line 1246, ininit_ctxफ़ाइल , पंक्ति 147, में TypeError: ऑब्जेक्ट के प्रकार coroutine नहीं है JSON serializable sys:1: रनटाइमWarning: coroutine main कभी नहीं किया गया था RuntimeWarning: ऑब्जेक्ट आवंटन traceback प्राप्त करने के लिए सक्षम करें

ChatGpt ने भी इसे ठीक नहीं किया है, मदद के लिए पूछें।


अधिक जानकारी

नहीं अगरकई धागे एकत्र किए जा सकते हैं, प्रत्येक धागे के लिए एकत्र किए गए डेटा को एक सार्वजनिक वस्तु में रखा जा सकता है; और फिर यह निर्धारित किया जा सकता है कि सभी धागे समाप्त हो गए हैं या नहीं।

इज़्ज़्ज़्ज़क्या सपने में एक या दो कुंजी शब्द आते हैं?

इज़्ज़्ज़्ज़क्या सपने में एक या दो कुंजी शब्द आते हैं?

घासमैंने इस लाइब्रेरी का उपयोग नहीं किया है, लेकिन चरण-दर-चरण डीबगिंग करना सबसे अच्छा है। इसके अलावा, सीधे सौ लेनदेन जोड़ना भी अच्छा नहीं है। संचयी बाजार इंटरफ़ेस के साथ खुद को रिकॉर्ड करना आसान है।

घास/fapi/v1/ticker/price