обмен данными между IBpy2 и IBGateway отсутствует - PullRequest
0 голосов
/ 28 марта 2019

Я использую backtrader в качестве клиента с IBpy2 для доступа к IBGateway, контролируемому IBC, работающему в Docker.

Я столкнулся с проблемой, что моя система запускается и просто зависает там, без ошибок или печатной отладочной информации.

Я отладил свой путь до этой строки , читая:

self.m_serverVersion = self.m_reader.readInt()

Который ожидает получения версии сервера через соединение, которое никогда не приходит.

Я получаю это только тогда, когда IBGateway проходит через докер, я не понимаю, как возможно, что IBpy может установить соединение, но не может обмениваться данными.

Я не могу точно определить, где может быть проблема, тот факт, что это происходит только тогда, когда IBC находится на компоновке Docker, предполагает, что это зависит от компоновки Docker, вот мой 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 голосов
/ 28 марта 2019

Добрый день, возможно, вам следует использовать ссылку от трейдера до tws

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