From 2e63d5cca6307545f51c4a132c8bfffa7135cbd2 Mon Sep 17 00:00:00 2001 From: Justin Oros Date: Thu, 12 Mar 2026 13:11:06 -0700 Subject: [PATCH] add time-based fallback for clock.is_open DST edge case --- alpaca_trader/engine.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/alpaca_trader/engine.py b/alpaca_trader/engine.py index f42e479..db2d686 100644 --- a/alpaca_trader/engine.py +++ b/alpaca_trader/engine.py @@ -1340,7 +1340,11 @@ def main(): while True: try: clock = api.get_clock() - if not clock.is_open: + now_et = datetime.now(EASTERN) + market_open_time = now_et.replace(hour=9, minute=30, second=0, microsecond=0) + market_close_time = now_et.replace(hour=16, minute=0, second=0, microsecond=0) + time_based_open = now_et.weekday() < 5 and market_open_time <= now_et < market_close_time + if not clock.is_open and not time_based_open: next_open = clock.next_open.astimezone(EASTERN) wait_time = (next_open - datetime.now(EASTERN)).total_seconds() logger.info(f"🌙 Market closed. Next open: {next_open.strftime('%I:%M %p ET on %A, %B %d')}")