class_docstr: Provides methods for retrieving data on different cryptocurrencies from
  https://www.cryptodatadownload.com/cdd/.
  
  Attributes
  ----------
  url : str
      The url for collecting data from CryptoDataDownload.
  
  Methods
  -------
  fetch(exchange_name,base_symbol,quote_symbol,timeframe,include_all_volumes=False)
      Fetches data for different exchanges and cryptocurrency pairs.
docstr: Fetches data for different exchanges and cryptocurrency pairs.
  
  Parameters
  ----------
  exchange_name : str
      The name of the exchange.
  base_symbol : str
      The base symbol fo the cryptocurrency pair.
  quote_symbol : str
      The quote symbol fo the cryptocurrency pair.
  timeframe : {"d", "h", "m"}
      The timeframe to collect data from.
  include_all_volumes : bool, optional
      Whether or not to include both base and quote volume.
  
  Returns
  -------
  `pd.DataFrame`
      A open, high, low, close and volume for the specified exchange and
      cryptocurrency pair.
docstr_tok: ["Fetches","data","for","different","exchanges","and","cryptocurrency","pairs",".","Parameters","--","--","--","--","--","exchange_name",":","str","The","name","of","the","exchange",".","base_symbol",":","str","The","base","symbol","fo","the","cryptocurrency","pair",".","quote_symbol",":","str","The","quote","symbol","fo","the","cryptocurrency","pair",".","timeframe",":","{","``","d","''",",","``","h","''",",","``","m","''","}","The","timeframe","to","collect","data","from",".","include_all_volumes",":","bool",",","optional","Whether","or","not","to","include","both","base","and","quote","volume",".","Returns","--","--","--","-","`","pd.DataFrame","`","A","open",",","high",",","low",",","close","and","volume","for","the","specified","exchange","and","cryptocurrency","pair","."]
code: def fetch(
      self,
      exchange_name: str,
      base_symbol: str,
      quote_symbol: str,
      timeframe: str,
      include_all_volumes: bool = False,
  ) -> pd.DataFrame:
      """Fetches data for different exchanges and cryptocurrency pairs.
  
      Parameters
      ----------
      exchange_name : str
          The name of the exchange.
      base_symbol : str
          The base symbol fo the cryptocurrency pair.
      quote_symbol : str
          The quote symbol fo the cryptocurrency pair.
      timeframe : {"d", "h", "m"}
          The timeframe to collect data from.
      include_all_volumes : bool, optional
          Whether or not to include both base and quote volume.
  
      Returns
      -------
      `pd.DataFrame`
          A open, high, low, close and volume for the specified exchange and
          cryptocurrency pair.
      """
      if exchange_name.lower() == "gemini":
          return self.fetch_gemini(base_symbol, quote_symbol, timeframe)
      return self.fetch_default(
          exchange_name,
          base_symbol,
          quote_symbol,
          timeframe,
          include_all_volumes=include_all_volumes,
      )
  
imports: import ssl
  import pandas
label_desc: Use image node_id 4 for calling the CryptoDataDownload obj's underlying member method code with example usage: obj.fetch(exchange_name, base_symbol, quote_symbol, timeframe, include_all_volumes) and returns: self, self