class_docstr: Default analyzer which gives users basic trading information.
      
class_docstr_tok: ["Default","analyzer","which","gives","users","basic","trading","information","."]
docstr: Gets a list of OHLCV data for the given pair and exchange.
  
  Args:
      market_pair (str): The market pair to get the OHLCV data for.
      exchange (str): The exchange to get the OHLCV data for.
      candle_period (str): The timeperiod to collect for the given pair and exchange.
  
  Returns:
      list: A list of OHLCV data.
docstr_tok: ["Gets","a","list","of","OHLCV","data","for","the","given","pair","and","exchange",".","Args",":","market_pair","(","str",")",":","The","market","pair","to","get","the","OHLCV","data","for",".","exchange","(","str",")",":","The","exchange","to","get","the","OHLCV","data","for",".","candle_period","(","str",")",":","The","timeperiod","to","collect","for","the","given","pair","and","exchange",".","Returns",":","list",":","A","list","of","OHLCV","data","."]
code: def _get_historical_data(self, market_pair, exchange, candle_period):
      """Gets a list of OHLCV data for the given pair and exchange.
  
      Args:
          market_pair (str): The market pair to get the OHLCV data for.
          exchange (str): The exchange to get the OHLCV data for.
          candle_period (str): The timeperiod to collect for the given pair and exchange.
  
      Returns:
          list: A list of OHLCV data.
      """
  
      historical_data = list()
      try:
          historical_data = self.exchange_interface.get_historical_data(
              market_pair, exchange, candle_period
          )
      except RetryError:
          self.logger.error(
              "Too many retries fetching information for pair %s, skipping",
              market_pair,
          )
      except ExchangeError:
          self.logger.error(
              "Exchange supplied bad data for pair %s, skipping",
              market_pair,
          )
      except ValueError as e:
          self.logger.error(e)
          self.logger.error(
              "Invalid data encountered while processing pair %s, skipping",
              market_pair,
          )
          self.logger.debug(traceback.format_exc())
      except AttributeError:
          self.logger.error(
              "Something went wrong fetching data for %s, skipping",
              market_pair,
          )
          self.logger.debug(traceback.format_exc())
      return historical_data
  
file_path: Crypto-Signal/app/behaviour.py
imports: import json
  import traceback
  from copy import deepcopy
  import structlog
  from ccxt import ExchangeError
  from tenacity import RetryError
  from analysis import StrategyAnalyzer
  from outputs import Output
label_desc: Use image node_id 7 for calling the Behaviour obj's underlying member method code with example usage: obj._get_historical_data(market_pair, exchange, candle_period) and returns: historical_data