diff --git a/catalyst/exchange/ccxt/ccxt_exchange.py b/catalyst/exchange/ccxt/ccxt_exchange.py index 5f330b9c..3227361f 100644 --- a/catalyst/exchange/ccxt/ccxt_exchange.py +++ b/catalyst/exchange/ccxt/ccxt_exchange.py @@ -984,7 +984,7 @@ class CCXT(Exchange): ) raise ExchangeRequestError(error=e) - def tickers(self, assets): + def tickers(self, assets, on_ticker_error='raise'): """ Retrieve current tick data for the given assets @@ -1016,7 +1016,11 @@ class CCXT(Exchange): self.name, asset.symbol, e ) ) - continue + if on_ticker_error == 'warn': + continue + + else: + raise ExchangeRequestError(error=e) ticker['last_traded'] = from_ms_timestamp(ticker['timestamp']) diff --git a/catalyst/exchange/exchange.py b/catalyst/exchange/exchange.py index 71ae0689..c66121bc 100644 --- a/catalyst/exchange/exchange.py +++ b/catalyst/exchange/exchange.py @@ -972,13 +972,15 @@ class Exchange: pass @abc.abstractmethod - def tickers(self, assets): + def tickers(self, assets, on_ticker_error='raise'): """ Retrieve current tick data for the given assets Parameters ---------- assets: list[TradingPair] + on_ticker_error: str [raise|warn] + How to handle an error when retrieving a single ticker. Returns -------