docs: def reqHistoricalTicks(
              self, contract: Contract,
              startDateTime: Union[str, datetime.date],
              endDateTime: Union[str, datetime.date],
              numberOfTicks: int, whatToShow: str, useRth: bool,
              ignoreSize: bool = False,
              miscOptions: List[TagValue] = None) -> List:
          """
          Request historical ticks. The time resolution of the ticks
          is one second.
  
          This method is blocking.
  
          https://interactivebrokers.github.io/tws-api/historical_time_and_sales.html
  
          Args:
              contract: Contract to query.
              startDateTime: Can be given as a datetime.date or
                  datetime.datetime, or it can be given as a string in
                  'yyyyMMdd HH:mm:ss' format.
                  If no timezone is given then the TWS login timezone is used.
              endDateTime: One of ``startDateTime`` or ``endDateTime`` can
                  be given, the other must be blank.
              numberOfTicks: Number of ticks to request (1000 max). The actual
                  result can contain a bit more to accommodate all ticks in
                  the latest second.
              whatToShow: One of 'Bid_Ask', 'Midpoint' or 'Trades'.
              useRTH: If True then only show data from within Regular
                  Trading Hours, if False then show all data.
              ignoreSize: Ignore bid/ask ticks that only update the size.
              miscOptions: Unknown.
          """
          return self._run(
              self.reqHistoricalTicksAsync(
                  contract, startDateTime, endDateTime, numberOfTicks,
                  whatToShow, useRth, ignoreSize, miscOptions))