Quantconnect IBController необходимо повторно каждые несколько часов, - PullRequest
0 голосов
/ 20 февраля 2019

Я обновил Райан Кеннеди * Изображение докера IBConnect , получив последние версии от Quantconnect , здесь - это изображение Docker, с которым я закончил.

В основном dockerfile содержит:

FROM ubuntu:18.04
MAINTAINER Ryan Kennedy <hello@ryankennedy.io>

RUN  apt-get update \
  && apt-get install -y wget \
  && apt-get install -y unzip \
  && apt-get install -y xvfb \
  && apt-get install -y libxtst6 \
  && apt-get install -y libxrender1 \
  && apt-get install -y libxi6 \
  && apt-get install -y socat \
  && apt-get install -y software-properties-common

# Setup IB TWS
RUN mkdir -p /opt/TWS
WORKDIR /opt/TWS

ENV ibgateway_version x64-v974.4g
ENV ibgateway_script ibgateway-latest-standalone-linux-${ibgateway_version}.sh
ENV ibcontroller_file IBController-QuantConnect-3.2.0.5.zip

# from https://github.com/QuantConnect/Lean/blob/master/DockerfileLeanFoundation
RUN wget http://cdn.quantconnect.com/interactive/${ibgateway_script} && \
    chmod 777 ${ibgateway_script} && \
    ./${ibgateway_script} -q && \
    wget -O ~/Jts/jts.ini http://cdn.quantconnect.com/interactive/ibgateway-latest-standalone-linux-${ibgateway_version}.jts.ini && \
    rm ${ibgateway_script}

# Install IB Controller: Installs to /opt/IBController
RUN wget http://cdn.quantconnect.com/interactive/${ibcontroller_file} && \
    unzip ${ibcontroller_file} -d /opt/IBController && \
    chmod -R 777 /opt/IBController && \
    rm ${ibcontroller_file}

# Install Java 8
RUN \
  echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
  add-apt-repository -y ppa:webupd8team/java && \
  apt-get update && \
  apt-get install -y oracle-java8-installer && \
  rm -rf /var/lib/apt/lists/* && \
  rm -rf /var/cache/oracle-jdk8-installer

WORKDIR /

#CMD yes

# Launch a virtual screen
RUN Xvfb :1 -screen 0 1024x768x24 2>&1 >/dev/null &
RUN export DISPLAY=:1

ADD runscript.sh runscript.sh
CMD bash runscript.sh

Все работает хорошо, за исключением того, что каждые несколько часов начинает регистрироваться:

05:48:36:462 IBController: detected frame entitled: Connecting to server...; event=Activated
05:51:19:741 IBController: detected dialog entitled: Re-login is required; event=Opened
05:51:19:743 IBController: Let user choose whether to re-login
05:51:19:751 IBController: detected dialog entitled: Re-login is required; event=Activated
05:54:20:608 IBController: detected dialog entitled: Re-login is required; event=Closed
05:54:21:191 IBController: detected dialog entitled: Re-login is required; event=Opened
05:54:21:191 IBController: Let user choose whether to re-login

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

1 Ответ

0 голосов
/ 21 февраля 2019

IBGateway, IB API C # и версии проекта IBController все довольно тесно связаны.Вероятно, их не следует использовать изолированно, иначе у вас будут проблемы с совместимостью версий, подобные этой.

LEAN (проект с открытым исходным кодом, с которого вы расширяетесь) поставляется с версиямиэти программы, которые мы создали, прекрасно работают вместе.В общей сложности LEAN развернул и управлял более чем 50 000 живых алгоритмов, так что его довольно хорошо проверено в бою!Мы также разбудили IBController и поддерживаем готовую к работе ошибку, бесплатную версию.

Я бы порекомендовал использовать оригинальную LEAN Foundation, если можете.Это сэкономит вам месяцы головной боли.У нас есть штатные инженеры, которые поддерживают и вносят свой вклад в кодовую базу, гарантируя, что эти компоненты остаются надежными для 70000 клиентов в сообществе QuantConnect.

- я основатель @ QC.

...