Verify connection to IBKR before scheduling trade entry jobs
This commit is contained in:
parent
0fe6181e7c
commit
1cc0c7867f
@ -1,8 +1,13 @@
|
||||
import schedule
|
||||
import time
|
||||
|
||||
from dotenv import load_dotenv
|
||||
from ibkr import Client
|
||||
from iron_condor import enter_iron_condor
|
||||
from multiprocessing import Process
|
||||
from os import getenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
# TODO: Look up entry times from database.
|
||||
entry_times = []
|
||||
@ -11,10 +16,24 @@ def enter_trade():
|
||||
job_process = Process(target = enter_iron_condor)
|
||||
job_process.start()
|
||||
|
||||
def connection_successful():
|
||||
try:
|
||||
ibkr_host = getenv('IBKR_HOST')
|
||||
ibkr_port = getenv('IBKR_PORT')
|
||||
Client(host = ibkr_host, port = ibkr_port)
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
if __name__ == '__main__':
|
||||
if connection_successful():
|
||||
print('Connected to IBKR.')
|
||||
|
||||
for entry_time in entry_times:
|
||||
schedule.every().day.at(entry_time, 'America/Los_Angeles').do(enter_trade)
|
||||
|
||||
while True:
|
||||
schedule.run_pending()
|
||||
time.sleep(1)
|
||||
else:
|
||||
print('ERROR: Cannot connect to IBKR. Ensure that TWS / Gateway is running.')
|
Loading…
Reference in New Issue
Block a user