erdewit / ib_insync

Python sync/async framework for Interactive Brokers API
BSD 2-Clause "Simplified" License
2.76k stars 726 forks source link

Error handling fields when calling qualifyContracts #150

Closed Laurentvw closed 5 years ago

Laurentvw commented 5 years ago

I recently did an update of the library and am now getting an error when running this code:

contractStock = Stock('AAPL', 'SMART', 'USD')
ib.qualifyContracts(contractStock)

Throws this:

Error handling fields: ['10', '8', '170032', 'AAPL', 'STK', '', '0', '', 'SMART', 'USD', 'AAPL', 'NMS', 'NMS', '265598', '0.01', '100', '', 'ACTIVETIM,ADJUST,ALERT,ALGO,ALLOC,AVGCOST,BASKET,BENCHPX,COND,CONDORDER,DARKONLY,DARKPOLL,DAY,DEACT,DEACTDIS,DEACTEOD,DIS,GAT,GTC,GTD,GTT,HID,IBKRATS,ICE,IMB,IOC,LIT,LMT,LOC,MIT,MKT,MOC,MTL,NGCOMB,NODARK,NONALGO,OCA,OPG,OPGREROUT,PEGBENCH,POSTONLY,PREOPGRTH,REL,RPI,RTH,SCALE,SCALEODD,SCALERST,SNAPMID,SNAPMKT,SNAPREL,STP,STPLMT,SWEEP,TRAIL,TRAILLIT,TRAILLMT,TRAILMIT,WHATIF', 'SMART,AMEX,NYSE,CBOE,PHLX,ISE,CHX,ARCA,ISLAND,DRCTEDGE,BEX,BATS,EDGEA,CSFBALGO,JEFFALGO,BYX,IEX,FOXRIVER,TPLUS1,NYSENAT,PSX', '1', '0', 'APPLE INC', 'NASDAQ', '', 'Technology', 'Computers', 'Computers', 'EST5EDT', '20190530:0400-2000;20190531:0400-2000', '20190530:0930-1600;20190531:0930-1600', '', '', '0']
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/ib_insync/decoder.py", line 188, in interpret
    handler(fields)
  File "/usr/local/lib/python3.6/site-packages/ib_insync/decoder.py", line 293, in contractDetails
    cd.realExpirationDate) = fields
ValueError: not enough values to unpack (expected 5, got 0)
Unknown contract: Stock(symbol='AAPL', exchange='SMART', currency='USD')
erdewit commented 5 years ago

TWS/gateway version 972 or higher is required now.

Laurentvw commented 5 years ago

That was the issue. Thank you!