Can';t使用python连接到交互式代理API显示错误502504

Can';t使用python连接到交互式代理API显示错误502504,python,api,interactive-brokers,Python,Api,Interactive Brokers,我无法使用python连接到InteractiveBrokerAPI,它在运行代码时始终显示错误502、504 我已经检查了全局配置中的所有参数,它是正确的。 -选中“启用活动和套接字客户端” -套接字端口和客户端ID,API应用程序和TWS之间是相同的 我不能连接API,因为这个星期,但在此之前,我可以连接API 当我运行我的API时,它始终显示如下错误 错误:-1 502无法连接到TWS。确认“启用ActiveX和套接字电子客户端” 已启用,并且连接端口与上的“套接字端口”相同 TWS“编辑

我无法使用python连接到InteractiveBrokerAPI,它在运行代码时始终显示错误502、504

我已经检查了全局配置中的所有参数,它是正确的。 -选中“启用活动和套接字客户端” -套接字端口和客户端ID,API应用程序和TWS之间是相同的

我不能连接API,因为这个星期,但在此之前,我可以连接API

当我运行我的API时,它始终显示如下错误

错误:-1 502无法连接到TWS。确认“启用ActiveX和套接字电子客户端” 已启用,并且连接端口与上的“套接字端口”相同 TWS“编辑->全局配置…->API->设置”菜单。实时交易港口: TWS:7496;IB网关:4001。新设施的模拟贸易港 954.1或更新版本:TWS:7497;IB网关:4002 错误:-1504未连接

我试着从我的笔记本电脑上运行,但它是一样的,也改变了我的互联网服务

这是我的密码

from ibapi.client import EClient
from ibapi.wrapper import EWrapper
from ibapi.contract import Contract
from ibapi.ticktype import TickTypeEnum


class TestApp(EWrapper, EClient):
   def __init__(self):
   EClient.__init__(self, self)

 def error(self, reqId, errorCode, errorString):
   print("Error: ", reqId, " ", errorCode, " ", errorString)

 def contractDetails(self, reqId, contractDetails):
   print("contractDetails: ", reqId, " ", contractDetails)

def main():
  app = TestApp()
  app.connect(host="192.168.1.107",port=7498,clientId=0)

  contract = Contract()
  contract.symbol = "TNA"
  contract.secType = "STK"
  contract.exchange = "SMART"
  contract.currency = "USD"
  contract.primaryExchange = "ARCA"

  app.reqContractDetails(1,contract)

  app.run()
  app.disconnect()
if __name__ == "__main__":
   main()

如何解决此问题?

问题在于全局配置中的主ID。如果设置为无或0,则会出现错误504:未连接。尝试不同的主id,例如999。然后将其设置为您的代码。

您是否尝试过使用localhost进行连接?否则这是一个与TWS无关的网络问题。谢谢你的回答。我尝试过使用localhost进行连接,但仍然存在相同的问题。在API设置中,“仅允许来自localhost的连接”,启用或禁用该设置,并将localhost添加为受信任的。