leoon
-Interested User-
Posts: 3
Joined: Oct 25, 2011
|
Posted: Feb 4, 2024 01:46 PM
Msg. 1 of 2
I tried to use EDS cmd to query the end of day summary for all the future contracts in NYMEX, but I always got the 50007 error. What may I have done wrong? I posted my python code as following:
#################### import socket IQ_PORT_LOOKUP = 9100 IQ_SEC_TYPE_FUTURE = 8 IQ_EXCHANGE_NYMEX = 36
def download_eod_summary(security_type, group_id, date, request_id=""): host = "localhost" port = IQ_PORT_LOOKUP print('start sending cmd to {host},{port}')
# Establish a connection to IQFeed with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((host, port))
# Receive data until end message with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((host, port)) s.sendall(b'S,SET PROTOCOL,6.1\n') #s.sendall(bytes('EDS,{security_type},{group_id},{date},' + str(request_id) + '\n', 'ascii')) s.sendall(bytes('EDS,{security_type},{group_id},{date}' + '\r\n', 'ascii')) f = s.makefile() line = f.readline() print("line="+repr(line)) while line.find('!ENDMSG!') < 0: line = f.readline() print("line=" + repr(line)) f.close()
download_eod_summary(security_type=IQ_SEC_TYPE_FUTURE, group_id=IQ_EXCHANGE_NYMEX, date="20240201")
The running debugging message is as following:
start sending cmd to {host},{port} line='S,CURRENT PROTOCOL,6.1\n' line='E,50007,No file available.\n' line='!ENDMSG!,\n'
what could have gone wrong?
|
DTN_Gary_Stephen
-DTN Guru-
Posts: 396
Joined: Jul 3, 2019
|
Posted: Feb 12, 2024 08:45 AM
Msg. 2 of 2
Do you have the "Globex Combo" subscription? If so, that doesn't include NYMEX.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
|