From 0bebd31c26d60e754ddbe01665d631687d7b9966 Mon Sep 17 00:00:00 2001 From: moshferatu Date: Sun, 3 Mar 2024 05:42:35 -0800 Subject: [PATCH] Replace trade filter condition with an assertion --- iron_condor_scheduler.py | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/iron_condor_scheduler.py b/iron_condor_scheduler.py index 0ba3bfa..a3f7d06 100644 --- a/iron_condor_scheduler.py +++ b/iron_condor_scheduler.py @@ -31,25 +31,22 @@ if __name__ == '__main__': assert connection_successful(), 'Cannot connect to IBKR. Ensure that TWS or Gateway is running.' now = datetime.now(timezone(eastern_timezone)) - if all(filter.trade_allowed(now) for filter in trade_filters): - print('Trade filters allow for trading today.') + assert all(filter.trade_allowed(now) for filter in trade_filters), 'Trade filters prevent trading today.' - entry_times = getenv('ENTRY_TIMES').split(',') - for entry_time in entry_times: - schedule_time = datetime.strptime(entry_time, '%H:%M:%S').replace( - year = now.year, - month = now.month, - day = now.day, - tzinfo = now.tzinfo - ) + entry_times = getenv('ENTRY_TIMES').split(',') + for entry_time in entry_times: + schedule_time = datetime.strptime(entry_time, '%H:%M:%S').replace( + year = now.year, + month = now.month, + day = now.day, + tzinfo = now.tzinfo + ) - # Prevent scheduling for times that have already elapsed. - if schedule_time > now: - print(f'Scheduling for {entry_time}.') - schedule.every().day.at(entry_time, eastern_timezone).do(enter_trade, schedule_time) + # Prevent scheduling for times that have already elapsed. + if schedule_time > now: + print(f'Scheduling for {entry_time}.') + schedule.every().day.at(entry_time, eastern_timezone).do(enter_trade, schedule_time) - while True: - schedule.run_pending() - time.sleep(1) - else: - print('Trade filters prevent trading today.') \ No newline at end of file + while True: + schedule.run_pending() + time.sleep(1) \ No newline at end of file