以前發過一篇關於如何搭建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...
提取碼: d6bh
linux
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...