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

相關文章
相關標籤/搜索