Closed Snowhit3 closed 4 years ago
What other requests could be used in place of reqHistoricalDataAsync() to check that the application is alive while avoiding market data requests?
This type of request is used to specifically test if the data servers are up and running. A contract search for example can still succeed when the data servers are down, this is all handled by different servers in IB's backend.
When I wrote this code the assumption was that everyone has access to the EURUSD data. It appears that there are exceptions where this does not hold (for New Zealanders?). What can be done is to make the contract configurable.
A Watchdog.probeContract
field has been added to be able to specify what contract to use instead of EURUSD.
The line highlighted in the snippet below (from ibcontroller.py) causes TWS/gateway to restart when run in paper mode as IB complaints there are no market data permissions for EURUSD:
It is therefore not possible to test a program using watchdog with a paper account before starting to use it with in live mode.
What other requests could be used in place of reqHistoricalDataAsync() to check that the application is alive while avoiding market data requests?