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

مصنف:ہلچل, تخلیق: 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 ((صارف، علامت، آغاز_وقت، اختتام_وقت، وقفہ): کلینز = انتظار کلائنٹ.مستقبل_کلینز ((علامت=علامت، وقفہ=انٹراول، 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[ٹائم اسٹیمپ] = pd.to_datetime(df[ٹائم اسٹیمپ], یونٹ=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.run(بنیادی))

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

log ((df) ایک بار کے بعد ہی غلطی ہو جاتی ہے۔ یعنی ایک بار تمام علامتوں کی قیمت وغیرہ کے اعداد و شمار کو اپ ڈیٹ کرنے کے بعد غلطی ہو جاتی ہے۔init_ctxFile , line 147, in TypeError: Object of type coroutine is not JSON serializable sys:1: RuntimeWarning: coroutine main was never awaited RuntimeWarning: Enable tracemalloc to get the object allocation traceback main was never awaited main was never awaited RuntimeWarning: Enable tracemalloc to get the object allocation traceback main was never awaited main was never awaited main was never awaited main was never awaited main was never awaited main was never awaited main was never awaited main was never awaited main was never awaited main was never awaited چیٹ جی پی ٹی نے بھی اس مسئلے کو حل نہیں کیا، مدد کے لئے ڈین سے پوچھیں


مزید

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

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

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

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

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