Ccxt: Fetch_ohlcv (symbole, '1m') du délai d'attente okex

Créé le 22 mars 2018  ·  3Commentaires  ·  Source: ccxt/ccxt

PROBLIEM :
Je cours environ 30 minutes plus tard, le problème du time out, c'est la question de l'échange, ou le problème du ccxt, comment le résoudre.

  • OS: win10
  • Version du langage de programmation: python 3.6
  • Version CCXT: ccxt-1.11.137
  • Échange: okex
  • Méthode: exchange.fetch_ohlcv (self.symbol, '1m')

CODE:

 def get_close_prices(self):
        close_prices = []
        bar_data = np.array(self.exchange.fetch_ohlcv(symbol, '1m'))
        for element in bar_data:
            close_prices.append(float(element[4]))
        return close_prices

if __name__ == '__main__':
while true:
        close_prices = self.get_close_prices()
        time.sleep(1 * 60)

ERREUR:

Fichier "E: /work/test/test.py", ligne 44, dans le guidon
close_prices = np.array (self.get_close_prices ())
Fichier "E: /work/test/test.py", ligne 24, dans get_close_prices
bar_data = np.array (self.exchange.fetch_ohlcv (self.symbol, '1m'))
Fichier "E: \ sorfware \ anaconda3.5 \ lib \ site-packages \ ccxt \ okcoinusd.py", ligne 348, dans fetch_ohlcv
response = getattr (self, méthode) (self.extend (request, params))
Fichier "E: \ sorfware \ anaconda3.5 \ lib \ site-packages \ ccxt \ base \ exchange.py", ligne 298, dans la requête
return self.fetch2 (chemin, api, méthode, paramètres, en-têtes, corps)
Fichier "E: \ sorfware \ anaconda3.5 \ lib \ site-packages \ ccxt \ base \ exchange.py", ligne 295, dans fetch2
return self.fetch (demande ['url'], demande ['méthode'], demande ['en-têtes'], demande ['corps'])
Fichier "E: \ sorfware \ anaconda3.5 \ lib \ site-packages \ ccxt \ base \ exchange.py", ligne 359, en cours de récupération
self.raise_error (RequestTimeout, méthode, url, e)
Fichier "E: \ sorfware \ anaconda3.5 \ lib \ site-packages \ ccxt \ base \ exchange.py", ligne 280, dans rise_error
lever exception_type (sortie)
ccxt.base.errors.RequestTimeout: okex GET https://www.okex.com/api/v1/kline.do?symbol=bch_btc&type=1min&since=1521547087487 HTTPSConnectionPool (hôte = 'www.okex.com', port = 443 ): La lecture a expiré. (timeout de lecture = 10)

duplicate question

Tous les 3 commentaires

Je cours environ 30 minutes plus tard, le problème du time out, c'est la question de l'échange, ou le problème du ccxt

C'est un problème d'échange, tout échange répondra occasionnellement avec RequestTimeout, il vous suffit de le gérer correctement.

comment le résoudre.

Attrapez simplement les exceptions et réessayez plus tard.

J'espère que cela aide.

Merci beaucoup, je l'ai résolu selon vos instructions, c'est pour attraper l'exception.

@nashse merci pour votre rapport!

Cette page vous a été utile?
0 / 5 - 0 notes