I would suggest to take a look at the TWS API logs and see if all the data farm connections were OK for example and there are no other error notifications.

Alternatively you may implement the notify_store method in your strategy and print the messages received from the IB store. for example:

def notify_store(self, msg, *args, **kwargs): print('STORE NOTIF:{}', msg)

I've run your code using TWS desktop and got the following output:

Server Version: 76 TWS Time at connection:20201209 23:45:21 Israel Standard Time STORE NOTIF:{} <error id=-1, errorCode=2104, errorMsg=Market data farm connection is OK:hfarm> STORE NOTIF:{} <error id=-1, errorCode=2104, errorMsg=Market data farm connection is OK:usfarm.nj> STORE NOTIF:{} <error id=-1, errorCode=2104, errorMsg=Market data farm connection is OK:eufarm> STORE NOTIF:{} <error id=-1, errorCode=2104, errorMsg=Market data farm connection is OK:jfarm> STORE NOTIF:{} <error id=-1, errorCode=2104, errorMsg=Market data farm connection is OK:usfuture> STORE NOTIF:{} <error id=-1, errorCode=2104, errorMsg=Market data farm connection is OK:cashfarm> STORE NOTIF:{} <error id=-1, errorCode=2104, errorMsg=Market data farm connection is OK:usfarm> STORE NOTIF:{} <error id=-1, errorCode=2106, errorMsg=HMDS data farm connection is OK:euhmds> STORE NOTIF:{} <error id=-1, errorCode=2106, errorMsg=HMDS data farm connection is OK:cashhmds> STORE NOTIF:{} <error id=-1, errorCode=2106, errorMsg=HMDS data farm connection is OK:fundfarm> STORE NOTIF:{} <error id=-1, errorCode=2106, errorMsg=HMDS data farm connection is OK:ushmds> STORE NOTIF:{} <error id=-1, errorCode=2158, errorMsg=Sec-def data farm connection is OK:secdefeu> 1,2020-12-07T17:18:00,1.21,1.21,1.21,1.21,-1.00 2,2020-12-07T17:22:00,1.21,1.21,1.21,1.21,-1.00 3,2020-12-07T17:26:00,1.21,1.21,1.21,1.21,-1.00 4,2020-12-07T17:30:00,1.21,1.21,1.21,1.21,-1.00 5,2020-12-07T17:34:00,1.21,1.21,1.21,1.21,-1.00 6,2020-12-07T17:38:00,1.21,1.21,1.21,1.21,-1.00 ...