রিসোর্স লোড হচ্ছে... লোডিং...

অ্যাসিনক্রোনাস সমস্যা, পাগল হয়ে যাচ্ছে

লেখক:ইজক্লজ, সৃষ্টিঃ ২০২৩-০৩-১৫ ১০ঃ৪৩ঃ২০, আপডেটঃ

import pandas as pd (পান্ডাকে পিডি হিসেবে আমদানি করুন) from binance.client import Asyncক্লায়েন্ট from datetime আমদানি datetime, timedelta import 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

Binance ক্লায়েন্টের অ্যাসিনক্রোন ইনস্টল করা হচ্ছে

async def init_client ((): ক্লায়েন্ট = অপেক্ষা করুন AsyncClient.create ((api_key=api_key, api_secret=api_secret)

return client

অ্যাসিনক্রোনিকভাবে কে-লাইন ডেটা পান

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 ((ক্লিন, কলাম=[টাইমস্ট্যাম্প, ওপেন, হাই, লভ, ক্লোজ, ভলিউম, ক্লোজ_টাইম, 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 ((timestamp, inplace=True) df.drop(columns=[close_time, ignore], inplace=True) df = df.astype ((float) রিটার্ন df

Binance ক্লায়েন্টকে অ্যাসিনক্রোনাইজড বন্ধ করুন

async def close_client ((ক্লায়েন্ট): ক্লায়েন্ট.close_connection অপেক্ষা করুন ((()

প্রধান ফাংশন অ্যাসিনক্রোনাইজ করা

async def main (: client = wait 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) এর পরে একবার ত্রুটি ঘটে; অর্থাৎ, সমস্ত প্রতীকগুলির দাম এবং অন্যান্য ডেটা আপডেট করার পরে ত্রুটি ঘটেঃTraceback (most recent call last): File , line 1246, ininit_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 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 main was never awaited main was never awaited main was never awaited চ্যাট জিপিটিও এটি করতে পারেনি।


আরো

না যদিএটি একাধিক থ্রেডের মাধ্যমে সংগ্রহ করা যেতে পারে, প্রতিটি থ্রেডের তথ্য একটি পাবলিক অবজেক্টে সংগ্রহ করা যেতে পারে; এবং তারপর বিচার করা যেতে পারে যে সমস্ত থ্রেড শেষ হয়েছে কিনা।

ইজক্লজআপনি কি সবসময় একটি বা দুটি কীওয়ার্ড উল্লেখ করেন?

ইজক্লজআপনি কি সবসময় একটি বা দুটি কীওয়ার্ড উল্লেখ করেন?

ঘাসআমি এই লাইব্রেরিটি ব্যবহার করি নি, তবে ধাপে ধাপে ডিবাগ করা ভাল। একসাথে কয়েকশো লেনদেনের সাথে সরাসরি ডিল করাও ভাল নয়। সমষ্টিগত বাজার ইন্টারফেসের সাহায্যে নিজের রেকর্ডিং করা সহজ।

ঘাস/fapi/v1/ticker/price