ہم نے اس کے بارے میں کیا سوچا ہے؟

مصنف:ہلچل, تخلیق: 2023-03-15 10:43:20, تازہ کاری:

import pandas as pd (پینڈاس کو پی ڈی کے طور پر درآمد کریں) سے binance.client درآمد AsyncClient from datetime import datetime, ٹائمڈیلٹا درآمد 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) واپس local_dt

بائننس کلائنٹ کو غیر مطابقت پذیر طور پر شروع کرنا

async def init_client ((): کلائنٹ = انتظار AsyncClient.create ((api_key=api_key، api_secret=api_secret)

return client

K لائن کے اعداد و شمار کو غیر متزلزل حاصل کریں

async def get_klines ((صارف، علامت، آغاز_وقت، اختتام_وقت، وقفہ): klines = انتظار client.futures_klines ((symbol=symbol, interval=interval, startTime=start_time.timestamp() * 1000, endTime=end_time.timestamp() * 1000) df = pd.DataFrame(کلینز، کالمز=[ٹائم اسٹیمپ، اوپن، ہائی، لو، کلوز، کلوز حجم، کلوز ٹائم، 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 = await 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 asyncio.run ((main))

مقصد یہ ہے کہ تمام معاہدہ کرنسیوں کی طرف سے M15 کے بارے میں گرنے والے اعداد و شمار حاصل کیے جائیں.

log ((df) ایک بار کے بعد غلط ہو جاتا ہے؛ یعنی ایک بار تمام علامتوں کی قیمت وغیرہ کے اعداد و شمار کو اپ ڈیٹ کرنے کے بعد غلط ہو جاتا ہے:Traceback (most recent call last): Fileinit_ctxفائل ، لائن 147، میں TypeError: قسم coroutine کے آبجیکٹ نہیں ہے JSON serializable sys:1: رن ٹائم انتباہ: coroutine main کبھی متوقع نہیں تھا رن ٹائم انتباہ: آبجیکٹ الاٹمنٹ ٹریس بیک حاصل کرنے کے لئے ٹریسمالوک کو چالو کریں

چیٹ جی پی ٹی نے بھی اس مسئلے کو حل نہیں کیا، مدد کے لئے ڈین سے پوچھیں


مزید معلومات

نہیں اگریہ ایک سے زیادہ موضوعات کے ذریعے جمع کیا جا سکتا ہے، اور ہر موضوع کے اعداد و شمار کو ایک عوامی اعتراض میں جمع کیا جا سکتا ہے، اور پھر یہ فیصلہ کیا جا سکتا ہے کہ تمام موضوعات ختم ہو گئے ہیں یا نہیں.

ہلچلکیا آپ کو ہمیشہ ایک یا دو کلیدی الفاظ یاد آتے ہیں؟

ہلچلکیا آپ کو ہمیشہ ایک یا دو کلیدی الفاظ یاد آتے ہیں؟

گھاسمیں نے اس لائبریری کا استعمال نہیں کیا ہے، لیکن یہ قدم بہ قدم ڈیبگ کرنے کے لئے بہتر ہے۔ براہ راست بیک وقت سینکڑوں ٹرانزیکشنز کا جوڑا بھی بہت اچھا نہیں ہے۔ مجموعی مارکیٹ انٹرفیس کے ساتھ خود کو ریکارڈ کرنا آسان ہے۔

گھاس/fapi/v1/ticker/price