我已经更新了瑞安肯尼迪的IBConnect码头形象,从Quantconnect获得最新版本,这里是码头的形象,我结束了。
基本上,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我猜它由于任何原因而失去了连接,然后有一个未处理的重新连接对话框,我不知道如何修复这个问题。
发布于 2019-02-21 19:33:55
IBGateway、IB C#和IBController项目版本都是紧密耦合的。它们可能不应该单独使用,否则会出现类似于此的版本兼容性问题。
精益 (您正在扩展的开源算法交易项目)附带了这些程序的版本,我们构建的这些程序完美地一起工作。总之,精益的部署和管理超过50,000活算法,所以它相当好的战斗测试!我们还对IBController进行了分叉,并维护了一个可生产的、免费版本的bug。
如果可以的话,我建议您使用原始的精益基金会。这会让你省去几个月的头痛。我们有全职工程师维护和贡献代码库,确保这些组件对于QuantConnect社区中的70000个量化者来说仍然是可靠的。
-我是创始人@ QC
https://stackoverflow.com/questions/54781849
复制相似问题