<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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))