更新Readme.md

This commit is contained in:
vn.py 2017-08-28 15:22:24 +08:00
parent f6ca3eb95b
commit d3ca595191
2 changed files with 48 additions and 17 deletions

View File

@ -9,13 +9,19 @@ vn.py是一套基于Python的开源量化交易程序开发框架起源于国
--- ---
### 环境准备 ### 环境准备
**Windows**
1. 支持的操作系统Windows 7/8/10/Server 2008 1. 支持的操作系统Windows 7/8/10/Server 2008
2. 安装[MongoDB](https://www.mongodb.org/downloads#production),并[将MongoDB配置为系统服务](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition) 2. 安装[MongoDB](https://www.mongodb.org/downloads#production),并[将MongoDB配置为系统服务](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition)
3. 安装[Anaconda](http://www.continuum.io/downloads)**注意必须是Python 2.7 32位版本** 3. 安装[Anaconda](http://www.continuum.io/downloads)**注意必须是Python 2.7 32位版本**
4. 安装[Visual C++ Redistributable Packages for VS2013 x86版本](https://support.microsoft.com/en-us/help/3138367/update-for-visual-c-2013-and-visual-c-redistributable-package) 4. 安装[Visual C++ Redistributable Packages for VS2013 x86版本](https://support.microsoft.com/en-us/help/3138367/update-for-visual-c-2013-and-visual-c-redistributable-package)
**Ubuntu**
请参考项目wiki中的[教程](https://github.com/vnpy/vnpy/wiki/Ubuntu%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85)。
--- ---
### 安装 ### 项目安装
**方法1** **方法1**
@ -61,6 +67,10 @@ import sys
reload(sys) reload(sys)
sys.setdefaultencoding('utf8') sys.setdefaultencoding('utf8')
# 判断操作系统
import platform
system = platform.system()
# vn.trader模块 # vn.trader模块
from vnpy.event import EventEngine from vnpy.event import EventEngine
from vnpy.trader.vtEngine import MainEngine from vnpy.trader.vtEngine import MainEngine
@ -68,10 +78,15 @@ from vnpy.trader.uiQt import createQApp
from vnpy.trader.uiMainWindow import MainWindow from vnpy.trader.uiMainWindow import MainWindow
# 加载底层接口 # 加载底层接口
from vnpy.trader.gateway import ctpGateway from vnpy.trader.gateway import (ctpGateway, oandaGateway, ibGateway,
huobiGateway, okcoinGateway)
if system == 'Windows':
from vnpy.trader.gateway import (femasGateway, xspeedGateway,
sgitGateway, shzdGateway)
# 加载上层应用 # 加载上层应用
from vnpy.trader.app import riskManager, ctaStrategy from vnpy.trader.app import (riskManager, ctaStrategy, spreadTrading)
#---------------------------------------------------------------------- #----------------------------------------------------------------------
@ -88,10 +103,21 @@ def main():
# 添加交易接口 # 添加交易接口
me.addGateway(ctpGateway) me.addGateway(ctpGateway)
me.addGateway(oandaGateway)
me.addGateway(ibGateway)
me.addGateway(huobiGateway)
me.addGateway(okcoinGateway)
if system == 'Windows':
me.addGateway(femasGateway)
me.addGateway(xspeedGateway)
me.addGateway(sgitGateway)
me.addGateway(shzdGateway)
# 添加上层应用 # 添加上层应用
me.addApp(riskManager) me.addApp(riskManager)
me.addApp(ctaStrategy) me.addApp(ctaStrategy)
me.addApp(spreadTrading)
# 创建主窗口 # 创建主窗口
mw = MainWindow(me, ee) mw = MainWindow(me, ee)
@ -105,13 +131,15 @@ if __name__ == '__main__':
main() main()
``` ```
更多使用方法方法请参考examples下的目录。 以上run.py脚本位于examples\VnTrader目录下更多使用方法方法请参考examples下的其他目录。
--- ---
### 用户文档 ### 用户文档
[https://github.com/vnpy/vnpy/wiki](https://github.com/vnpy/vnpy/wiki)
项目的最新文档请查看[Github Wiki](https://github.com/vnpy/vnpy/wiki),知乎专栏和官网文档已经落后于项目开发版本,建议只作为额外的参考资料。
---
### 开发工具推荐 ### 开发工具推荐
@ -126,7 +154,6 @@ if __name__ == '__main__':
* [Visual Studio 2013](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx)这个就不多说了作者编译API封装用的是2013版本 * [Visual Studio 2013](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx)这个就不多说了作者编译API封装用的是2013版本
--- ---
### 项目结构 ### 项目结构
@ -179,6 +206,12 @@ if __name__ == '__main__':
* 实盘行情记录支持Tick和K线数据的落地用于策略开发回测以及实盘运行初始化 * 实盘行情记录支持Tick和K线数据的落地用于策略开发回测以及实盘运行初始化
5. 数据相关的API接口vnpy.data用于构建和更新历史行情数据库目前包括
* 上海中期历史行情服务shcifco
* 通联数据API下载服务datayes
5. 关于vn.py项目的应用演示examples对于新手而言可以从这里开始学习vn.py项目的使用方式 5. 关于vn.py项目的应用演示examples对于新手而言可以从这里开始学习vn.py项目的使用方式
5. 关于项目在实盘交易中的一些使用指南tutorial 5. 关于项目在实盘交易中的一些使用指南tutorial
@ -197,18 +230,18 @@ vn.py使用github托管其源代码如果希望贡献代码请使用github的
1. [创建 Issue](https://github.com/vnpy/vnpy/issues/new) - 对于较大的改动(如新功能,大型重构等)最好先开issue讨论一下较小的improvement(如文档改进bugfix等)直接发PR即可 1. [创建 Issue](https://github.com/vnpy/vnpy/issues/new) - 对于较大的改动(如新功能,大型重构等)最好先开issue讨论一下较小的improvement(如文档改进bugfix等)直接发PR即可
1. Fork [vn.py](https://github.com/vnpy/vnpy) - 点击右上角**Fork**按钮 2. Fork [vn.py](https://github.com/vnpy/vnpy) - 点击右上角**Fork**按钮
1. Clone你自己的fork: ```git clone https://github.com/$userid/vnpy.git``` 3. Clone你自己的fork: ```git clone https://github.com/$userid/vnpy.git```
* 如果你的fork已经过时需要手动sync[https://help.github.com/articles/syncing-a-fork/](https://help.github.com/articles/syncing-a-fork/) * 如果你的fork已经过时需要手动sync[https://help.github.com/articles/syncing-a-fork/](https://help.github.com/articles/syncing-a-fork/)
1. 从**dev**创建你自己的feature branch: ```git checkout -b $my_feature_branch dev``` 4. 从**dev**创建你自己的feature branch: ```git checkout -b $my_feature_branch dev```
1. 在$my_feature_branch上修改并将修改push到你的fork上 5. 在$my_feature_branch上修改并将修改push到你的fork上
1. 创建从你的fork的$my_feature_branch分支到主项目的**dev**分支的[Pull Request] - [在此](https://github.com/vnpy/vnpy/compare?expand=1)点击**compare across forks**选择需要的fork和branch创建PR 6. 创建从你的fork的$my_feature_branch分支到主项目的**dev**分支的[Pull Request] - [在此](https://github.com/vnpy/vnpy/compare?expand=1)点击**compare across forks**选择需要的fork和branch创建PR
1. 等待review, 需要继续改进或者被Merge! 7. 等待review, 需要继续改进或者被Merge!
--- ---
### 项目捐赠 ### 项目捐赠

View File

@ -4,7 +4,8 @@
本文件中包含了CTA模块中用到的一些基础设置类和常量等 本文件中包含了CTA模块中用到的一些基础设置类和常量等
''' '''
from __future__ import division # CTA引擎中涉及的数据类定义
from vnpy.trader.vtConstant import EMPTY_UNICODE, EMPTY_STRING, EMPTY_FLOAT, EMPTY_INT
# 常量定义 # 常量定义
# CTA引擎中涉及到的交易方向类型 # CTA引擎中涉及到的交易方向类型
@ -37,9 +38,6 @@ ENGINETYPE_TRADING = 'trading' # 实盘
EVENT_CTA_LOG = 'eCtaLog' # CTA相关的日志事件 EVENT_CTA_LOG = 'eCtaLog' # CTA相关的日志事件
EVENT_CTA_STRATEGY = 'eCtaStrategy.' # CTA策略状态变化事件 EVENT_CTA_STRATEGY = 'eCtaStrategy.' # CTA策略状态变化事件
# CTA引擎中涉及的数据类定义
from vnpy.trader.vtConstant import EMPTY_UNICODE, EMPTY_STRING, EMPTY_FLOAT, EMPTY_INT
######################################################################## ########################################################################
class StopOrder(object): class StopOrder(object):