J'essaie d'obtenir 1minute ouverte, haute, basse, fermeture de volume de BitMex à l'aide de CCXT. Tout semble aller bien, mais je ne sais pas comment corriger cette erreur. Je sais que l'indice est 7 car il y a 7 valeurs dans les OHLCColumns que je mets dans le Dataframe. Je ne sais pas pourquoi il est plutôt impliquant qu'il y a 0. merci beaucoup cela m'a donné un mal de tête toute la journée :(
# 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',
timeframe='1m',
limit=5,
params={'reverse': True})
lst = list(listOHLCV[1])
lst.insert(0, datetime.fromtimestamp((lst[0]) / (1000 + 60 * 60 * 9 - 60)).strftime("%Y/%d/%m, %H: %M:"))
series = pd.Series(lst, index=dfOHLCV)
return listOHLCV, series
while True:
fetch_current(1)
listOHLCV, series = fetch_mex()
dfOHLCV = dfOHLCV.append(series, ignore_index=True)
clear_output(wait=True)
display(listOHLCV)
display(dfOHLCV)
fetch_current(55)
Pas sûr où vous obtenez l'erreur, est-ce ici?
series = pd.Series(lst, index=dfOHLCV)
Si oui, vous pourriez essayer à la place:
series = pd.Series(lst, index=OHLCVcolumns)
Étant donné que lorsque vous exécutez cela, l'index fait référence à la Dataframe vide DFOHLCV.