IBpy2和IBGateway之间没有数据交换

时间:2019-03-28 10:38:40

标签: docker docker-compose interactive-brokers ibpy

我正在将backtrader用作IBpy2的客户端,以访问在Docker上运行的由IBC控制的IBGateway。

我面临的问题是我的系统启动并挂在那里,没有错误或打印的调试信息。

我已经调试到this line的位置,阅读:

self.m_serverVersion = self.m_reader.readInt()

正在等待通过连接接收服务器版本,该版本永远不会到达。

仅当IBGateway通过docker运行时,我才明白这一点,我不明白IBpy可能建立连接但无法交换数据的可能性。

我无法查明问题可能出在哪里,只有在IBC位于docker compose时才会发生,这表明这取决于Docker compose,这是我的docker-compose.yml文件

---更新:---

version: '3.7'
services:
  trader:
    build: ./
    image: mytrader
    container_name: mytrader
    networks: 
      - trading
    depends_on: 
      - tws  

  tws:
    build: ./ib-docker
    image: ibconnect
    container_name: ibconnect
    ports:
      # - "4001:4001"
      - "4003:4003"
      - "5901:5901"
    volumes:
      - ./ib-docker/config.ini:/root/ibc/config.ini
      # - ./ib-docker/twsstart.sh:/opt/ibc/twsstart.sh
      - ./ib-docker/gatewaystart.sh:/opt/ibc/gatewaystart.sh
    environment:
      - TZ=UTC
      # Variables pulled from /root/IBController/IBControllerGatewayStart.sh
      - VNC_PASSWORD=password
      - IBC_PATH=/opt/ibc
      - LOG_PATH=/root/ibc/logs
    env_file:
      - tws_credentials.env
    networks: 
      - trading

networks: 
  trading: 
    driver: bridge

和网络列表

% docker network ls
NETWORK ID          NAME                    DRIVER              SCOPE
4ad25f1cf0f4        bridge                  bridge              local
9ca6f0e3f509        giuliotrader_default    bridge              local
3afbca83e020        giuliotrader_trading    bridge              local
73c2590a3a11        host                    host                local
34e58c19f5e3        none                    null                local

很乐意根据需要发布任何其他文件或信息。

谢谢

1 个答案:

答案 0 :(得分:0)

下午好,也许您应该使用交易员到tws的链接

services:
  trader:
    links:
      - tws
    build: ./
    image: mytrader
    container_name: mytrader