Skip to content

Commit

Permalink
Merge pull request #13 from long1024/master
Browse files Browse the repository at this point in the history
① 取消测试环境 ② 修复通信库异步写异常问题
  • Loading branch information
muaji authored Mar 22, 2019
2 parents 373f244 + 5bb335a commit 433dd01
Show file tree
Hide file tree
Showing 15 changed files with 179 additions and 179 deletions.
Binary file modified bin/lib-x64-msvc-12.0-Debug.zip
Binary file not shown.
Binary file modified bin/lib-x64-msvc-12.0-Release.zip
Binary file not shown.
Binary file modified bin/linux-gcc4.8.zip
Binary file not shown.
Binary file modified bin/linux-gcc5.4.zip
Binary file not shown.
8 changes: 4 additions & 4 deletions doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@

结合流程图以及示例代码方便用户更快的熟悉Api接口,如上述流程示例仍无法满足需求解决问题,请联系研发客服协助解决。

**示例代码中提供的账户test1的权限包含**
**示例代码中提供的账户DevTest1的权限包含**

1. 2017-10和2017-11的历史行情以及请求当日的实时行情
2. 测试交易环境(该环境提供了几只股票测试交易程序)
3. 模拟交易环境(该环境提供了一个id为2的模拟资金账号作为回测账号,内置100w资金以及部分底仓;底仓具体祥看onRtnSimulationAccount接口回调)
1. 历史行情以及请求当日的实时行情
2. 实盘环境测试使用(该环境提供了几只股票测试交易程序)
3. 模拟交易环境(该环境提供了一个id为9的模拟资金账号作为回测账号,内置100w资金以及部分底仓;底仓具体祥看onRtnSimulationAccount接口回调)

## 功能流程图

Expand Down
4 changes: 2 additions & 2 deletions doc/demo/下单.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,9 +215,9 @@ int main()
//初始化api
PT_QuantApi::Init();
//创建api实例 参数说明请查看文档
PT_QuantApi* api = PT_QuantApi::createApi(spi, true, PT_QuantTdAppEType_Test, true, PT_QuantMdAppEType_Real, true, false);
PT_QuantApi* api = PT_QuantApi::createApi(spi, true, PT_QuantTdAppEType_Real, true, PT_QuantMdAppEType_Real, true, false);

int err = api->Login("test1", "abcd1234");
int err = api->Login("DevTest1", "abcd1234");

if(!err)
cout << "login failed" << endl;
Expand Down
4 changes: 2 additions & 2 deletions doc/demo/使用模拟引擎.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,14 +208,14 @@ int main()
{
MySpi* spi = new MySpi();
int err = spi->GetApi()->Login("test1", "abcd1234");
int err = spi->GetApi()->Login("DevTest1", "abcd1234");
if(!err)
cout << "login failed" << endl;
else
{
cout << "login success!" << endl;
TestSetNewBackTest(spi->GetApi(), 2);
TestSetNewBackTest(spi->GetApi(), 9);
}
while(1) // 阻塞
Expand Down
4 changes: 2 additions & 2 deletions doc/demo/撤单.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,9 +168,9 @@ int main()
//初始化api
PT_QuantApi::Init();
//创建api实例 参数说明请查看文档
PT_QuantApi* api = PT_QuantApi::createApi(spi, true, PT_QuantTdAppEType_Test, true, PT_QuantMdAppEType_Real, true, false);
PT_QuantApi* api = PT_QuantApi::createApi(spi, true, PT_QuantTdAppEType_Real, true, PT_QuantMdAppEType_Real, true, false);

int err = api->Login("test1", "abcd1234");
int err = api->Login("DevTest1", "abcd1234");

if(!err)
cout << "login failed" << endl;
Expand Down
6 changes: 3 additions & 3 deletions doc/demo/查询委托.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,9 +175,9 @@ int main()
//初始化api
PT_QuantApi::Init();
//创建api实例 参数说明请查看文档
PT_QuantApi* api = PT_QuantApi::createApi(spi, true, PT_QuantTdAppEType_Test, true, PT_QuantMdAppEType_Real, true, false);
PT_QuantApi* api = PT_QuantApi::createApi(spi, true, PT_QuantTdAppEType_Real, true, PT_QuantMdAppEType_Real, true, false);

int err = api->Login("test1", "abcd1234");
int err = api->Login("DevTest1", "abcd1234");

if(!err)
cout << "login failed" << endl;
Expand All @@ -196,4 +196,4 @@ int main()
}
```
其它查询接口参照此demo!不在实现
其它查询接口可以参照此demo!
4 changes: 2 additions & 2 deletions doc/demo/登陆.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,9 @@ int main()
//初始化api
PT_QuantApi::Init();
//创建api实例 参数说明请查看文档
PT_QuantApi* api = PT_QuantApi::createApi(spi, true, PT_QuantTdAppEType_Test, true, PT_QuantMdAppEType_Real, true, false);
PT_QuantApi* api = PT_QuantApi::createApi(spi, true, PT_QuantTdAppEType_Real, true, PT_QuantMdAppEType_Real, true, false);

int err = api->Login("test1", "abcd1234");
int err = api->Login("DevTest1", "abcd1234");

if(!err)
cout << "登录请求失败" << endl;
Expand Down
4 changes: 2 additions & 2 deletions doc/demo/订阅行情.md
Original file line number Diff line number Diff line change
Expand Up @@ -289,9 +289,9 @@ int main()
//初始化api
PT_QuantApi::Init();
//创建api实例 参数说明请查看文档
PT_QuantApi* api = PT_QuantApi::createApi(spi, true, PT_QuantTdAppEType_Test, true, PT_QuantMdAppEType_Real, true, false);
PT_QuantApi* api = PT_QuantApi::createApi(spi, true, PT_QuantTdAppEType_Real, true, PT_QuantMdAppEType_Real, true, false);

int err = api->Login("test1", "abcd1234");
int err = api->Login("DevTest1", "abcd1234");

if(!err)
cout << "login failed" << endl;
Expand Down
192 changes: 96 additions & 96 deletions doc/数据字典.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion include/PT_QuantApi.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifndef _PT_StrategyApi_H_
#ifndef _PT_StrategyApi_H_
#define _PT_StrategyApi_H_

#ifdef WIN32
Expand Down
110 changes: 55 additions & 55 deletions include/PT_QuantBaseErr.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifndef __PT_QUANT_BASE_ERR_H__
#ifndef __PT_QUANT_BASE_ERR_H__
#define __PT_QUANT_BASE_ERR_H__

#ifndef PT_QUANTBASEAPI_NAMESPACE
Expand All @@ -12,69 +12,69 @@

PT_QUANTBASEAPI_NAMESPACE_BEGIN

/* 量化交易接口公共错误码 */
/* 量化交易接口公共错误码 */
typedef long TQuantErrorType;
typedef enum
{
/* 默认错误 */
/* 通信层面错误: (-100) - (-1) */

EQuantErrorType_None = 0, /* 执行正常, 没有错误 */

/* quantplus系统平台错误: 1-99 */
EQuantErrorType_NotConnect = 1, /* 网络尚未连通 */
EQuantErrorType_ParamInvalid = 2, /* 指定参数无效 */
EQuantErrorType_LimitFunction = 3, /* 指定功能受限 */
EQuantErrorType_HttpServerConnectError, /* http服务器连接失败*/
EQuantErrorType_HttpRequestError, /* http请求失败 */
EQuantErrorType_ParseError, /* 通信包解析失败 */
EQuantErrorType_SerializeError, /* 通信包打包失败 */
EQuantErrorType_NoTavailableFuction, //暂不支持此函数
EQuantErrorType_Logout, //未登录
EQuantErrorType_AppServerDisconnect, //业务服务器已断开


/* 行情错误: 100-199 */

/* 交易错误: 200-299 */
EQuantErrorType_TooHighFrequency = 200, //指令太频繁
EQuantErrorType_OrderNotFound, //无此订单
EQuantErrorType_NotTradingTime, //非交易时间
EQuantErrorType_OverHighOrLow, //超过涨跌停价
EQuantErrorType_InvalidVol, //非法委托量
EQuantErrorType_Cannotselfdeal, //无法自成交
EQuantErrorType_CannotWithDrawn, //无法撤单(订单已经处于终结状态)
EQuantErrorType_NotEnoughLendingAmoutOrCaptial, //没有足够的券或钱
EQuantErrorType_StopTrade, //停机
EQuantErrorType_NoSuchTradeType, //无此交易类型
EQuantErrorType_RiskCantTrade, //风控无法开仓交易
EQuantErrorType_StrategyRiskCantWithDrawn, //策略强平无法撤单
EQuantErrorType_WithoutthisAuthority, //无此权限
EQuantErrorType_InvalidCode, //非法证券代码
EQuantErrorType_NoPisitionToClose, //风控强平时,无仓可以平
EQuantErrorType_InvalidAction, //异常操作
EQuantErrorType_NotSetTestBack, //未设置回测资金账号,不能正常下单
EQuantErrorType_NotAvailableAccount, //不可用的资金账号
EQuantErrorType_CenterServerError, //权限服务器异常,暂时无法修改权限
EQuantErrorType_NoPriority, //用户优先级异常
EQuantErrorType_NoAccountAvaliable, //资金通道异常
EQuantErrorType_NotEnoughVolumeTobeUsed, //资金账户可用券不够
/* 默认错误 */
/* 通信层面错误: (-100) - (-1) */

EQuantErrorType_None = 0, /* 执行正常, 没有错误 */

/* quantplus系统平台错误: 1-99 */
EQuantErrorType_NotConnect = 1, /* 网络尚未连通 */
EQuantErrorType_ParamInvalid = 2, /* 指定参数无效 */
EQuantErrorType_LimitFunction = 3, /* 指定功能受限 */
EQuantErrorType_HttpServerConnectError, /* http服务器连接失败*/
EQuantErrorType_HttpRequestError, /* http请求失败 */
EQuantErrorType_ParseError, /* 通信包解析失败 */
EQuantErrorType_SerializeError, /* 通信包打包失败 */
EQuantErrorType_NoTavailableFuction, //暂不支持此函数
EQuantErrorType_Logout, //未登录
EQuantErrorType_AppServerDisconnect, //业务服务器已断开


/* 行情错误: 100-199 */

/* 交易错误: 200-299 */
EQuantErrorType_TooHighFrequency = 200, //指令太频繁
EQuantErrorType_OrderNotFound, //无此订单
EQuantErrorType_NotTradingTime, //非交易时间
EQuantErrorType_OverHighOrLow, //超过涨跌停价
EQuantErrorType_InvalidVol, //非法委托量
EQuantErrorType_Cannotselfdeal, //无法自成交
EQuantErrorType_CannotWithDrawn, //无法撤单(订单已经处于终结状态)
EQuantErrorType_NotEnoughLendingAmoutOrCaptial, //没有足够的券或钱
EQuantErrorType_StopTrade, //停机
EQuantErrorType_NoSuchTradeType, //无此交易类型
EQuantErrorType_RiskCantTrade, //风控无法开仓交易
EQuantErrorType_StrategyRiskCantWithDrawn, //策略强平无法撤单
EQuantErrorType_WithoutthisAuthority, //无此权限
EQuantErrorType_InvalidCode, //非法证券代码
EQuantErrorType_NoPisitionToClose, //风控强平时,无仓可以平
EQuantErrorType_InvalidAction, //异常操作
EQuantErrorType_NotSetTestBack, //未设置回测资金账号,不能正常下单
EQuantErrorType_NotAvailableAccount, //不可用的资金账号
EQuantErrorType_CenterServerError, //权限服务器异常,暂时无法修改权限
EQuantErrorType_NoPriority, //用户优先级异常
EQuantErrorType_NoAccountAvaliable, //资金通道异常
EQuantErrorType_NotEnoughVolumeTobeUsed, //资金账户可用券不够

// QuantApi: 600-800
EQuantErrorType_MDNotConnect = 600, // 尚未连接行情服务器
EQuantErrorType_TDNotConnect, // 尚未连接交易服务器
EQuantErrorType_MDNotAvaliable, // 无法正常使用行情
EQuantErrorType_TDNotAvaliable, // 无法正常使用交易
EQuantErrorType_MDNotConnect = 600, // 尚未连接行情服务器
EQuantErrorType_TDNotConnect, // 尚未连接交易服务器
EQuantErrorType_MDNotAvaliable, // 无法正常使用行情
EQuantErrorType_TDNotAvaliable, // 无法正常使用交易


// LoginErrorCode : 900
EQuantErrorType_ErrorLoginInfo = 900, //用户名密码不匹配
EQuantErrorType_ErrorLoginInfo = 900, //用户名密码不匹配

// LoginWarnType: 登录警告
EQuantErrorType_TDErrorVersion = 910, //当前环境交易服务器版本不兼容
EQuantErrorType_NoAuthorityConnTD, //当前环境交易服务器无权限
EQuantErrorType_MDErrorVersion, //当前环境行情服务器版本不兼容
EQuantErrorType_NoAuthorityConnMD, //当前环境行情服务器无权限
// LoginWarnType: 登录警告
EQuantErrorType_TDErrorVersion = 910, //当前环境交易服务器版本不兼容
EQuantErrorType_NoAuthorityConnTD, //当前环境交易服务器无权限
EQuantErrorType_MDErrorVersion, //当前环境行情服务器版本不兼容
EQuantErrorType_NoAuthorityConnMD, //当前环境行情服务器无权限


} EQuantErrorType;
Expand Down
20 changes: 10 additions & 10 deletions include/PT_QuantDef.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifndef _QuantDef_H_
#ifndef _QuantDef_H_
#define _QuantDef_H_
#include <stdint.h>
#include <string.h>
Expand All @@ -13,15 +13,15 @@ namespace QuantPlus
// 行情环境
enum PT_QuantMdAppEType
{
PT_QuantMdAppEType_Test = 0, // 测试环境
PT_QuantMdAppEType_Test = 0, // 测试环境(注:该环境已停止使用!!!)
PT_QuantMdAppEType_Real, // 生产环境
};

// 交易环境
enum PT_QuantTdAppEType
{
PT_QuantTdAppEType_Real, // 生产环境
PT_QuantTdAppEType_Test, // 测试环境
PT_QuantTdAppEType_Test, // 测试环境 (注:该环境已停止使用!!!)
PT_QuantTdAppEType_Simulation // 模拟环境
};

Expand Down Expand Up @@ -175,22 +175,22 @@ namespace QuantPlus
/// </summary>
#pragma pack(push)
#pragma pack(1)
typedef long MD_ReqID;
typedef int MD_ReqID;
typedef char MD_CodeType[32];
typedef char MD_CodeName[32];
typedef char MD_ISODateTimeType[21]; //日期和时间类型(格式 yyyy-MM-dd hh:mm:ss)
typedef char MD_ShortText[128];
typedef char MD_Text[1024];

// 服务器类型
typedef long MD_SrvType;
typedef int MD_SrvType;
#define MD_SrvType_none 0x0000 // 未知类型
#define MD_SrvType_history 0x0001 // 历史缓存行情服务器
#define MD_SrvType_cache 0x0002 // 实时缓存行情服务器
#define MD_SrvType_realtime 0x0004 // 实时推送行情服务器

// 周期类型
typedef long MD_CycType;
typedef int MD_CycType;
#define MD_CycType_none 0x0000 // 未知类型
#define MD_CycType_second_10 0x0001 // 10秒
#define MD_CycType_minute 0x0002 //
Expand All @@ -201,7 +201,7 @@ namespace QuantPlus
#define MD_CycType_day 0x0040 //

// 订阅类型
typedef long MD_SubType;
typedef int MD_SubType;
#define MD_SubType_none 0x0000 // 未知类型
#define MD_SubType_market 0x0001 // 个股行情
#define MD_SubType_index 0x0002 // 指数行情
Expand Down Expand Up @@ -439,7 +439,7 @@ namespace QuantPlus
int nOrderVol; // 如需指定资金账号下单,此字段在下单的时候需要填写

///成交均价 * 10000
int nDealedPrice;
int64_t nDealedPrice;
///成交量
int nDealedVol;

Expand Down Expand Up @@ -642,7 +642,7 @@ namespace QuantPlus
//开平仓类型
TD_OffsetType nOffsetType;
///委托价 *10000
int nOrderPrice;
int64_t nOrderPrice;
///委托量
int nOrderVol;
/// 订单分笔数
Expand Down Expand Up @@ -684,7 +684,7 @@ namespace QuantPlus
///提交申报量
int nSubmitVol;
///成交均价 * 10000
int nDealedPrice;
int64_t nDealedPrice;
///成交总量
int nDealedVol;

Expand Down

0 comments on commit 433dd01

Please sign in to comment.