I've been struggle to get premarket hours working correctly.  Im using the below ScheduledUniverseSelectionModel with universe_settings.extended_market_hours = True and extended_market_hours=True set in the history call, but im not getting any data.  If i switch to regular market hours i get the expected debug messages.   Ive also notice if i set limit orders on extended hours they all fill as Market Open Orders and not expect limit orders.

 

What am I missing here?   Thought getting extended_market_hours=True set everywhere and that would work?

 self.debug(f"TimeZone: {TimeZones.NEW_YORK}")
 self.start_time = time(4, 0)  # 9:30 AM
 self.end_time = time(9, 0)    # 4:00 PM (24-hour format)
 self.order_properties = InteractiveBrokersOrderProperties()
 self.order_properties.time_in_force = TimeInForce.DAY
 self.order_properties.outside_regular_trading_hours = True
 self.order_properties.OutsideRegularTradingHours = True
 self.set_cash(2500000)
 self.universe_settings.extended_market_hours = True
 self.universe_settings.minimum_time_in_universe = timedelta(minutes=1)
 self.set_brokerage_model(BrokerageName.INTERACTIVE_BROKERS_BROKERAGE, AccountType.MARGIN)
        self.universe_settings.resolution = Resolution.SECOND
        self.add_universe_selection(ScheduledUniverseSelectionModel(
            self.date_rules.every_day(),
            self.time_rules.every(timedelta(seconds = 30)),
            self.GetTickersFromGoogleSheet# selection function in algorithm.
------
start_time = datetime.datetime(2014,5,29,4,0)  # 4:00 AM
end_time = datetime.datetime(2014,5,29,9,30)

self.premarket_bars = self.algo.history[TradeBar](self._symbol, start_time, end_time, Resolution.Minute, extended_market_hours=True)

self.algo.Debug(f"Premarket High: {self.premarket_bars}")
            for x in self.premarket_bars:
                self.algo.Debug(f"Premarket High: {x.high}")