Ccxt: Fetch_ohlcv (símbolo, '1m') do tempo limite okex

Criado em 22 mar. 2018  ·  3Comentários  ·  Fonte: ccxt/ccxt

PROBLIEM:
Corro uns 30 minutos depois, o problema do time out, é a questão da troca, ou o problema do ccxt, como resolver isso.

  • OS: win10
  • Versão da linguagem de programação: python 3.6
  • Versão CCXT: ccxt-1.11.137
  • Troca: okex
  • Método: exchange.fetch_ohlcv (self.symbol, '1m')

CÓDIGO:

 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)

ERRO:

Arquivo "E: /work/test/test.py", linha 44, em handle_bar
close_prices = np.array (self.get_close_prices ())
Arquivo "E: /work/test/test.py", linha 24, em get_close_prices
bar_data = np.array (self.exchange.fetch_ohlcv (self.symbol, '1m'))
Arquivo "E: \ sorfware \ anaconda3.5 \ lib \ site-packages \ ccxt \ okcoinusd.py", linha 348, em fetch_ohlcv
resposta = getattr (self, method) (self.extend (request, params))
Arquivo "E: \ sorfware \ anaconda3.5 \ lib \ site-packages \ ccxt \ base \ exchange.py", linha 298, na solicitação
return self.fetch2 (caminho, api, método, params, cabeçalhos, corpo)
Arquivo "E: \ sorfware \ anaconda3.5 \ lib \ site-packages \ ccxt \ base \ exchange.py", linha 295, em fetch2
return self.fetch (request ['url'], request ['method'], request ['headers'], request ['body'])
Arquivo "E: \ sorfware \ anaconda3.5 \ lib \ site-packages \ ccxt \ base \ exchange.py", linha 359, em busca
self.raise_error (RequestTimeout, método, url, e)
Arquivo "E: \ sorfware \ anaconda3.5 \ lib \ site-packages \ ccxt \ base \ exchange.py", linha 280, em raise_error
levantar exception_type (saída)
ccxt.base.errors.RequestTimeout: okex GET https://www.okex.com/api/v1/kline.do?symbol=bch_btc&type=1min&since=1521547087487 HTTPSConnectionPool (host = 'www.okex.com', port = 443 ): Tempo limite de leitura esgotado. (ler tempo limite = 10)

duplicate question

Todos 3 comentários

Corro uns 30 minutos depois, o problema do time out, é a questão da troca, ou o problema do ccxt

É um problema de troca, qualquer troca responderá com RequestTimeout ocasionalmente, você só precisa tratá-la adequadamente.

como resolver isso.

Basta capturar as exceções e tentar novamente mais tarde.

Espero que ajude.

Muito obrigado, resolvi de acordo com suas instruções, ou seja, para pegar a exceção.

@nashse thx por relatar de volta!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

gaardiolor picture gaardiolor  ·  3Comentários

alpaykoray picture alpaykoray  ·  3Comentários

luigikitten picture luigikitten  ·  3Comentários

werewere picture werewere  ·  3Comentários

jackyxie picture jackyxie  ·  3Comentários