You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法连接TWS求助:已启用Socket客户端且端口匹配仍失败

无法连接TWS的排查与解决方案

一、代码问题修正

你的Bot类中,ib是初始化方法内的局部变量,未绑定到类实例属性上,可能导致连接逻辑异常。修改后的代码如下:

import ibapi
from ibapi.client import EClient
from ibapi.wrapper import EWrapper

class IBApi(EWrapper, EClient):
    def __init__(self):
        EClient.__init__(self, self)
        
class Bot:
    def __init__(self):
        self.ib = IBApi()
        # 注意:TWS实盘默认端口为7496,模拟盘为7497,请匹配你的运行模式
        self.ib.connect("127.0.0.1", 7497, 1)
        self.ib.run()

bot = Bot()

二、TWS端口修改操作步骤

若需调整端口,按以下步骤操作:

  • 打开TWS客户端,点击顶部菜单栏的编辑→全局配置
  • 在左侧导航栏选择API→设置
  • 找到Socket端口输入框,填入目标端口号,确保Enable ActiveX and Socket Clients选项处于勾选状态
  • 点击应用→确定,重启TWS使设置生效

三、额外排查项

  • 确认TWS已完成登录,未登录状态下API端口不会对外开放
  • 检查系统防火墙或杀毒软件是否拦截了Python程序与TWS的端口通信
  • 验证目标端口是否被其他程序占用:Windows可执行netstat -ano | findstr :7497,Mac/Linux可执行lsof -i :7497查看占用情况
  • 尝试更换API客户端ID(connect方法的第三个参数),避免与其他已建立的API连接冲突

内容的提问来源于stack exchange,提问作者hrishikesh_bappu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:22:07