Hola, estoy teniendo problemas con la API de Interactive Broker en python. Estoy usando python 3.8 y conectándome a IB TWS ver. 979
cuando ejecuto este script de símbolo obtengo el siguiente error:
from ibapi.client import EClient
from ibapi.wrapper import EWrapper
from ibapi.contract import Contract
import threading
import time
class IBapi(EWrapper, EClient):
def __init__(self):
EClient.__init__(self, self)
def tickPrice(self, reqId, tickType, price, attrib):
if tickType == 2 and reqId == 1:
print('El precio de oferta actual es: ', price)
def run_loop():
app.run()
app = IBapi()
app.connect('127.0.0.1', 7497, 123)
# Iniciar el socket en un hilo
api_thread = threading.Thread(target=run_loop, daemon=True)
api_thread.start()
time.sleep(1) #Intervalo de espera para permitir que se realice la conexión al servidor
fut_contract = Contract()
fut_contract.symbol = "MNQU0" #MNQ SEP'20"
fut_contract.secType = 'FUT'
fut_contract.exchange = 'GLOBEX'
fut_contract.currency = 'USD'
fut_contract.LocalSymbol = 'MNQU0'
fut_contract.LastTradeDateOrContractMonth = "202009";
#Solicitar Datos de Mercado
app.reqMktData(1, fut_contract, '', False, False, [])
time.sleep(100) #Intervalo de espera para permitir que lleguen los datos de precios
app.disconnect()
Error:
Error 1 321 error validando solicitud:-'bW' : causa - Por favor ingrese un símbolo local o vencimiento
No puedo ver qué estoy haciendo mal. No puedo encontrar ningún otro campo de Contact() relacionado con el vencimiento.
Gracias
2 votos
Probablemente sea mejor preguntar al soporte técnico de IB.
3 votos
..o en un grupo especializado como este groups.io/g/twsapi