小编GSa*_*ite的帖子

ValueError:传递值的长度为 7,索引暗示 0

我正在尝试使用 ccxt 从 bitmex 获取 1 分钟的开盘价、最高价、最低价、收盘价和成交量值。一切似乎都很好,但我不知道如何解决这个错误。我知道索引是 7,因为我进入数据帧的 OHLC 列中有 7 个值。我不知道为什么它暗示有 0。非常感谢这让我一整天都头疼:(

# noinspection PyUnresolvedReferences
from datetime import datetime
# noinspection PyUnresolvedReferences
import time
# noinspection PyUnresolvedReferences
import ccxt
# noinspection PyUnresolvedReferences
import numpy as np
import pandas as pd
# noinspection PyUnresolvedReferences
from IPython.display import display, clear_output


OHLCVcolumns = ['date', 'timestamp', 'open', 'high', 'low', 'close', 'volume']

dfOHLCV = pd.DataFrame(index=[], columns=OHLCVcolumns)

bitmex = ccxt.bitmex()


def fetch_current(x):
    while True:
        if datetime.now().second == x:
            break
        time.sleep(0.5)


def fetch_mex():
    listOHLCV = bitmex.fetch_ohlcv('BTC/USD', …
Run Code Online (Sandbox Code Playgroud)

python algorithmic-trading python-3.x ccxt

6
推荐指数
1
解决办法
2万
查看次数

尽管等待 API 响应,但使用 asyncio 没有加速

我正在运行一个程序,该程序从其余 api 发出三个不同的请求。数据、指标、请求函数都使用我制作的包装器从 BitMEX 的 api 获取数据。

我已经使用 asyncio 来尝试加快该过程,以便当我等待上一个请求的响应时,它可以开始发出另一个请求。

但是,由于某种原因,我的异步版本运行速度并没有更快。该代码有效,据我所知,我已正确设置所有内容。但我设置协程的方式可能有问题?

这是异步版本:

import time
import asyncio

from bordemwrapper import BitMEXData, BitMEXFunctions


'''
asynchronous I/O
'''

async def data():
    data = BitMEXData().get_ohlcv(symbol='XBTUSD', timeframe='1h', 
                                  instances=25)
    await asyncio.sleep(0)
    return data

async def indicator():
    indicator = BitMEXData().get_indicator(symbol='XBTUSD', 
        timeframe='1h', indicator='RSI', period=20, source='close', 
        instances=25)
    await asyncio.sleep(0)
    return indicator

async def request():
    request = BitMEXFunctions().get_price()
    await asyncio.sleep(0)
    return request

async def chain():
    data_ = await data()
    indicator_ = await indicator()
    request_ = await request()
    return data_, indicator_, …
Run Code Online (Sandbox Code Playgroud)

python asynchronous python-3.x async-await python-asyncio

2
推荐指数
1
解决办法
1778
查看次数