CentOS搭建WonderTrader开发环境及v0.5.4版本发布

image

前言


以前发过一篇关于如何搭建WonderTrader开发环境的文章《从零搭建WonderTrader的开发环境》,帮助很多用户解决了一些编译源码的问题。由于笔者是在Ubuntu 18.04 LTS上开发的,而有很多用户在CentOS上搭建开发环境之后,反馈编译出错。为此笔者特意的在CentOS7CentOS8上进行了一番测试,最后得出的结论是:因为CentOS7CentOS8gcc版本和Ubuntu 18.04 LTS上的gcc版本不一致,因此致使笔者共享的预编译库没法正常连接成功。
因而本文就针对CentOS下搭建开发环境,专门整理了一些细节,但愿能帮到有须要的人。本文末尾,还介绍了12月25日发布的最新版本v0.5.4,欢迎你们尝试、拍砖。python

共享资源


编译源码所需的共享资源已经上传到百度云盘,其中包括了Ubuntu 18.04 LTSCentOS7CentOS8三个操做系统的预编译依赖库,须要的朋友能够自行下载
下载链接:https://pan.baidu.com/s/1Bdxh...
提取码: d6bh
image.pnglinux

CentOS开发环境搭建


安装系统:CentOS7(2009)或者CentOS8(2011)
网络上虚拟机安装CentOS的教程不少,这里就不作赘述了。c++

一、安装开发环境

$ yum install -y gcc gcc-c++ make automake

image.png

使用gcc --version查看gcc的版本号
CentOS7gcc版本号为4.8.5
image.png
CentOS8gcc版本号为8.3.1
image.pnggit

安装cmakegithub

$ yum install cmake

使用cmake --version查看cmake的版本号
CentOS7cmake版本号为2.8.12docker

$ cmake --version
cmake version 2.8.12.2

CentOS8cmake版本号为3.11.4shell

$ cmake --version
cmake version 3.11.4

CMake suite maintained and supported by Kitware (kitware.com/cmake).

二、启用epel源

由于CentOS7cmake版本是2.8.12,而WonderTraderCMakeLists.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...
image.png
读者根据系统版本下载对应的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

image.png

三、安装cmake3(CentOS7)

$ yum install cmake3

image.png

四、安装p7zip

$ yum install p7zip

image.png

五、安装git

$ yum install git

image.png

六、从共享资源中下载预编译依赖库mydeps_centos7.7z/mydeps_centos8.7z并上传到CentOS

可使用使用SecureFX共享资源中的SecureCRT自带SecureFX)上传到虚拟机,以下图:
image.pngsegmentfault

七、将预编译依赖库解压到/home

$ 7za x mydeps_centos7.7z /home

八、拉取WonderTrader的源码

$ git clone https://github.com/wondertrader/wondertrader.git

image.png

九、进入src目录,修改build_release.sh中的cmake指令为cmake3(CentOS7)

$ vim build_release.sh

image.png

十、执行编译脚本

$ ./build_release.sh

image.png

新版本v0.5.4发布

12月25号发布了最新的v0.5.4版本,wtpy同步升级

WonderTraderv0.5.4中作了以下修改:

  • WtBtPorterWtPorterWtExecMon的初始化接口,所有改为支持传文件名和文件内容两种方式
  • CTA实盘引擎中,策略发出信号的时候,新增了一个订阅tick的操做,主要针对策略交易未订阅K线的品种的需求
  • 优化了Windowsdmp文件生成的路径,方便调试bug
  • 回测引擎中,成交明细和平仓明细,新增了一个BarNumber的字段,主要用于统计每一个交易回合的周期数,BarNumber指的是主K线的BarNumber,而且是一个相对开始回测的第一条K线的编号。
  • 回测引擎中,针对CTA策略交易未订阅K线的品种的需求作了一些优化
  • 全平台中,将能部分boost库改为std的库,减小对boost的依赖
  • 新增一个WtDtHelper模块,主要提供数据辅助功能,目前主要是提供csv和二进制文件的互转,后面还会加入数据库、二进制、csv的互转接口
  • 将平台版本号从WTSMarcos.h迁移到WTSVersion.h中,减小修改版本号引发的重编译

wtpyv0.5.4中作了以下修改:

  • C++底层更新到2020/12/25发布的v0.5.4版本
  • C++底层接口针对传递配置文件内容的支持作了修改,同步修改了wtpy中的部分关联代码
  • 修正了监控服务中的WatchDog模块在linux下的启动参数的bug,解决了linux下没法启动的问题
  • 修正了监控服务的自动调度任务没有检查是否启用标记,从而致使重复启动的bug
  • 修改了监控服务的WebUI的一些展现细节
  • wrapper下新增一个WtDtHelper模块,用于对接C++底层的WtDtHelper模块,给python调用处理数据转换的任务
  • WtBtAnalyst模块迁移到wtpy.apps
  • 新增一个WtOptimizer,用于遍历优化策略参数

结束语


本文的主要内容就结束了,但愿能帮到须要的人。
为了更加方便地让不一样平台的用户编译源码,后续笔者会发布docker版本的开发环境。最后,若是各位读者以为WonderTrader还不错的,能够向身边正在作平台选型的朋友同事介绍一下,笔者将不胜感激!笔者也将尽可能将WonderTrader完善并丰富起来,以知足不一样用户的需求!
最后再来一波广告
WonderTradergithub地址:https://github.com/wondertrad...
WonderTrader官网地址:https://wondertrader.github.io
wtpygithub地址:https://github.com/wondertrad...
logo_qcode_ad.jpg

相关文章
相关标签/搜索