async with session.get(url, params=params) as response: data = await response.json() if “code” not in data: print(“更新货币对信息,”,symbol,"=",pd.Timestamp.now().floor(“s”)) df_kline=process_kline_data(data,symbol,atr_periods,atr_multiplier, change_atr=True) else: print(f"接收数据异常Error fetching data: {data[‘msg’]}",symbol)
async def main(): #symbols = get_usdt_pairs()
symbols = get_top_50_volume_coins()
print("监测货币对=",symbols)
async with aiohttp.ClientSession() as session:
while True:
tasks = [get_binance_data(session, symbol) for symbol in symbols]
await asyncio.gather(*tasks)
print("更新货币对信息=",pd.Timestamp.now().floor("s"))
await asyncio.sleep(1)
if name == “main”: asyncio.run(main())
同样的代码, VSCODE运行时候 显示如下: 更新货币对信息, RVNUSDT = 2023-06-08 22:33:21 更新货币对信息, ADAUSDT = 2023-06-08 22:33:22 更新货币对信息, ARPAUSDT = 2023-06-08 22:33:22 更新货币对信息, GRTUSDT = 2023-06-08 22:33:23 更新货币对信息, 1000SHIBUSDT = 2023-06-08 22:33:24 更新货币对信息, IOSTUSDT = 2023-06-08 22:33:25 更新货币对信息, 1000SHIBBUSD = 2023-06-08 22:33:25 基本间隔时间在1秒左右
下实盘里,print改为Log 其他不变: 2023-06-08 22:33:35 信息 更新货币对信息, STMXUSDT = 2023-06-08 14:33:35 2023-06-08 22:33:28 信息 更新货币对信息, DOGEUSDT = 2023-06-08 14:33:28 2023-06-08 22:33:21 信息 更新货币对信息, REEFUSDT = 2023-06-08 14:33:21 2023-06-08 22:33:14 信息 更新货币对信息, 1000PEPEUSDT = 2023-06-08 14:33:14 间隔时间在7秒左右,
我想法是使用协程同时创建50个货币对调用公式计算指标的函数,
发明者时间间隔大的原因是什么呢?是因为电脑的原因吗?
lzhqlj 找到原因了 我同时开的策略太多了。。。。。。。。。。。
lzhqlj 继续求教啊 ,,,我是有一个指标函数,想遍历所有货币对
lzhqlj 是啊 梦总 我疑惑的是 同样的程序 在我自己的电脑中运行更新就很快,在托管者中运行就像单线程一样 累积时间很长
发明者量化-小小梦 贴的这个代码是个普通的python程序,和FMZ没什么关系哇。