Asynchronousity yang sebenar, sebenarnya untuk mendapatkan pasaran ini cukup dengan asynchronousity, selepas isyarat muncul, tindakan yang dijalankan oleh acara yang berkaitan dengan mata wang, yang disinkronkan dengan platform yang dibungkus cukup. memerlukan python 3.61 dan perpustakaan yang sesuai
'''backtest start: 2021-11-04 00:00:00 end: 2022-02-01 00:00:00 period: 1h basePeriod: 15m ''' import time import asyncio from aiohttp import ClientSession import time import datetime global tasks tasks = [] async def fetch_exchangeinfo(): exchangeinfo="https://fapi.binance.com//fapi/v1/exchangeInfo" async with ClientSession() as session: async with session.get(exchangeinfo) as response: result=await response.read() Log(result.text, time.time()) return result async def fetch_depth(symbol,limit): symbol_depth="https://fapi.binance.com//fapi/v1/depth?symbol="+str(symbol)+"&limit="+str(limit) async with ClientSession() as session: async with session.get(symbol_depth) as response: result=await response.read() Log(result.text, time.time()) return result async def fetch_klines(symbol,interval,limit): symbol_kline="https://fapi.binance.com//fapi/v1/klines?symbol="+str(symbol)+"&interval="+str(interval)+"&limit="+str(limit) async with ClientSession() as session: async with session.get(symbol_kline) as response: result = await response.read() Log(symbol,result, time.time()) return result async def fetch_all_ticker(): all_symbol_ticker = "https://fapi.binance.com/fapi/v1/ticker/price" async with ClientSession() as session: async with session.get(all_symbol_ticker) as response: result = await response.read() Log(result.text, time.time()) return result def main(): while True: Log(datetime.datetime.now(),'开始') symbol_list=['BTCUSDT','ETHUSDT','BNBUSDT','ETCUSDT','EOSUSDT','SANDUSDT','XRPUSDT','ADAUSDT','GALAUSDT','IOTXUSDT','BNBUSDT','MATICUSDT'] for i in range(12): task = asyncio.ensure_future(fetch_klines(symbol_list[i],'15m',500)) tasks.append(task) loop = asyncio.get_event_loop() result = loop.run_until_complete(asyncio.gather(*tasks)) Log(datetime.datetime.now(),'完成') Sleep(1000)
Harta yang turun dari langitApa maksudnya?