PROBLIEM:
Corro uns 30 minutos depois, o problema do time out, é a questão da troca, ou o problema do ccxt, como resolver isso.
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)
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!