以前发过一篇关于如何搭建WonderTrader开发环境的文章《从零搭建WonderTrader的开发环境》,帮助很多用户解决了一些编译源码的问题。由于笔者是在Ubuntu 18.04 LTS
上开发的,而有很多用户在CentOS
上搭建开发环境之后,反馈编译出错。为此笔者特意的在CentOS7
和CentOS8
上进行了一番测试,最后得出的结论是:因为CentOS7
和CentOS8
的gcc
版本和Ubuntu 18.04 LTS
上的gcc
版本不一致,因此致使笔者共享的预编译库没法正常连接成功。
因而本文就针对CentOS
下搭建开发环境,专门整理了一些细节,但愿能帮到有须要的人。本文末尾,还介绍了12月25日发布的最新版本v0.5.4
,欢迎你们尝试、拍砖。python
编译源码所需的共享资源已经上传到百度云盘,其中包括了Ubuntu 18.04 LTS
、CentOS7
和CentOS8
三个操做系统的预编译依赖库,须要的朋友能够自行下载
下载链接:https://pan.baidu.com/s/1Bdxh...
提取码: d6bhlinux
CentOS
开发环境搭建安装系统:CentOS7(2009)
或者CentOS8(2011)
网络上虚拟机安装CentOS
的教程不少,这里就不作赘述了。c++
$ yum install -y gcc gcc-c++ make automake
使用gcc --version
查看gcc
的版本号CentOS7
下gcc
版本号为4.8.5
CentOS8
下gcc
版本号为8.3.1
git
安装cmake
github
$ yum install cmake
使用cmake --version
查看cmake
的版本号CentOS7
下cmake
版本号为2.8.12
docker
$ cmake --version cmake version 2.8.12.2
CentOS8
下cmake
版本号为3.11.4
shell
$ cmake --version cmake version 3.11.4 CMake suite maintained and supported by Kitware (kitware.com/cmake).
由于CentOS7
下cmake
版本是2.8.12
,而WonderTrader
的CMakeLists.txt
要求cmake
最低版本是3.0.0
。数据库
cmake_minimum_required(VERSION 3.0.0)
可是CentOS7
下须要启用epel
源才能经过yum
安装cmake3
,否则就须要本身下载源码编译cmake3
。此外,由于共享资源基本都是7z
压缩包,因此还须要安装p7zip
,而p7zip
也依赖于epel
源,因此CentOS8下
也须要启用epel
源。固然也能够直接下载rpm
包安装,读者能够自行选择安装方式。epel
源的启用,须要下载epel
的安装包,官方下载地址为http://mirrors.kernel.org/fed...
读者根据系统版本下载对应的rpm
文件便可,下载完之后经过rpm
安装。vim
$ wget -c http://mirrors.kernel.org/fedora-epel/epel-release-latest-7.noarch.rpm $ rpm -ivh epel-release-latest-7.noarch.rpm
cmake3
(CentOS7
)$ yum install cmake3
p7zip
$ yum install p7zip
git
$ yum install git
共享资源
中下载预编译依赖库mydeps_centos7.7z
/mydeps_centos8.7z
并上传到CentOS
可使用使用SecureFX
(共享资源中的SecureCRT
自带SecureFX
)上传到虚拟机,以下图:segmentfault
/home
下$ 7za x mydeps_centos7.7z /home
WonderTrader
的源码$ git clone https://github.com/wondertrader/wondertrader.git
src
目录,修改build_release.sh
中的cmake
指令为cmake3
(CentOS7
)$ vim build_release.sh
$ ./build_release.sh
12月25号发布了最新的v0.5.4版本,wtpy同步升级
WonderTrader
在v0.5.4
中作了以下修改:WtBtPorter
、WtPorter
、WtExecMon
的初始化接口,所有改为支持传文件名和文件内容两种方式CTA
实盘引擎中,策略发出信号的时候,新增了一个订阅tick
的操做,主要针对策略交易未订阅K线的品种
的需求Windows
下dmp
文件生成的路径,方便调试bug
BarNumber
的字段,主要用于统计每一个交易回合的周期数,BarNumber
指的是主K线的BarNumber
,而且是一个相对开始回测的第一条K线的编号。CTA
策略交易未订阅K线的品种
的需求作了一些优化boost
库改为std
的库,减小对boost
的依赖WtDtHelper
模块,主要提供数据辅助功能,目前主要是提供csv
和二进制文件的互转,后面还会加入数据库、二进制、csv
的互转接口WTSMarcos.h
迁移到WTSVersion.h
中,减小修改版本号引发的重编译wtpy
在v0.5.4
中作了以下修改:C++
底层接口针对传递配置文件内容的支持作了修改,同步修改了wtpy
中的部分关联代码WatchDog
模块在linux
下的启动参数的bug
,解决了linux
下没法启动的问题bug
WebUI
的一些展现细节wrapper
下新增一个WtDtHelper
模块,用于对接C++
底层的WtDtHelpe
r模块,给python
调用处理数据转换的任务WtBtAnalyst
模块迁移到wtpy.apps
下WtOptimizer
,用于遍历优化策略参数本文的主要内容就结束了,但愿能帮到须要的人。
为了更加方便地让不一样平台的用户编译源码,后续笔者会发布docker
版本的开发环境。最后,若是各位读者以为WonderTrader还不错的,能够向身边正在作平台选型的朋友同事介绍一下,笔者将不胜感激!笔者也将尽可能将WonderTrader完善并丰富起来,以知足不一样用户的需求!
最后再来一波广告
WonderTrader的github
地址:https://github.com/wondertrad...
WonderTrader官网地址:https://wondertrader.github.io
wtpy的github
地址:https://github.com/wondertrad...