Having trouble recording data on options and futures through IB's api. This is what I enter in my attempt to open a connection to the April 11 130 Call on SPY for time and sales data recording. CONID: 82167858 Underlying: SPY Type: STK Expiry: 11-Apr Exchange: SMART Primary Exchange: NONE Currency: USD Multiplier: 100 Last Trade Date: APR 15 '11 Strike: 130 Right: CALL Local Symbol: 110416C00130000 So I have two unique numbers for this contract: CONID and Local Symbol. Everything is correct to the best of my knowledge. And still, I get this: "Error: SPY.SMART..USD Error Code: 200 Error Message: Invalid value in field # 541" There is no record or explanation as to what Field #541 designates. I have googled. I have searched the IB forum. I have done guess and check. Does anyone know how to approach this issue?
Thanks, fixed that. Fixed the major issue too. Error 541 is for MaturityDate (or Last Trade Date), format must be YYYYMMDD for anyone who runs into the same problem. Not to get the two confused, expiration date must be in the format MMYYYY.
I can't say for certain but you're probably right. Depends on the contract being referenced. I read in the IB manual that the format is used to distinguish weekly, monthly, and quarterly options.
Yes, for futures, it's not that regulated, see? ESM1 = makeFutContract('ES', 'GLOBEX', '20110617') NQM1 = makeFutContract('NQ', 'GLOBEX', '20110617') YMM1 = makeFutContract('YM', 'ECBOT', '201106')
ogarbitrage Thanks a lot, I've met the same problem with IB TWS and MultiCharts Version 7.0 Release (Build 4510). I've put the right expiration dates in Symbol Mapping mapping manually.
I also saw this error when requesting historical ticks for VIX FUT with the expiry set to '2020401'. I was missing a '0' in front of '4'. These cryptic errors suck. How hard would it be for the IB programmers to output something useful, like "Invalid expiration date"?!