CTP-API接口说明

介绍

本接口说明旨在帮助开发者快速查阅综合交易平台API（CTP-API）的使用方法、参数说明及注意事项。文中汇集了CTP-API使用过程中常见的问题、重要参数说明及接口调用示例。

版本

期货期权API接口基于v6.3.11_20180109版本。

接口文件列表

文件名 | 详情
ThostFtdcTraderApi.h | 交易接口C++头文件 包含交易相关的指令，如报单。
ThostFtdcMdApi.h | 交易接口C++头文件 包含获取行情相关的指令。
ThostFtdcUserApiStruct.h | 包含了所有用到的数据结构的头文件。
ThostFtdcUserApiDataType.h | 包含了所有用到的数据类型的头文件。
thosttraderapi.dll | 交易部分的动态链接库和静态链接库。
thosttraderapi.lib
thostmduserapi.dll | 行情部分的动态链接库和静态链接库。
thostmduserapi.lib
error.dtd | 包含所有可能的错误信息。
error.xml

命名规则

消息 | 格式 | 示例
请求 | Req------ | ReqUserLogin
响应 | OnRsp------ | OnRspUserLogin
查询 | ReqQry------ | ReqQryInstrument
查询请求的响应 | OnRspQry------ | OnRspQryInstrument
回报 | OnRtn------ | OnRtnOrder
错误回报 | OnErrRtn------ | OnErrRtnOrderInsert

官方网站

开发者可以通过上期技术官网http://www.sfit.com.cn/下载API接口及说明文档。

模拟账号

开发者可以向上期技术SIMNOW官网http://www.simnow.com.cn/申请账号并接入测试；也可以向期货公司申请仿真账号，并接入期货公司的仿真环境测试。

综合交易平台API技术服务群

QQ群：615403410 （需通过期货公司向上期技术提交入群申请）

更多

更多信息请关注上期技术官方微信公众号。如有意见或建议请联系CTP-API技术支持。

说明: 说明: 说明: 说明: 说明: 说明: 说明: 说明: 说明: 说明: image002

Copyright © 2018 SFIT All Rights Reserved.


CTP-API接口说明

行情接口

说明

行情API提供了两个接口，分别为CThostFtdcMdApi和CThostFtdcMdSpi。这两个接口对FTD协议进行了封装，方便客户端应用程序的开发。 客户端应用程序可以通过CThostFtdcMdApi发出操作请求，通过继承CThostFtdcMdSpi并重载回调函数来处理后台服务的响应。

代码示例

// mduserhandle.h

#include "ThostFtdcMdApi.h"

#include <stdio.h>

#include <Windows.h>

class CMduserHandler : public CThostFtdcMdSpi

{

private:

CThostFtdcMdApi *m_mdApi;

public:

void connect()

{

//创建并初始化API

m_mdApi = CThostFtdcMdApi::CreateFtdcMdApi("", true, true);

m_mdApi->RegisterSpi(this);

m_mdApi->RegisterFront("tcp://218.28.130.102:41413");

m_mdApi->Init();

}

//登陆

void login()

{

CThostFtdcReqUserLoginField t = {0};

while (m_mdApi->ReqUserLogin(&t, 1)!=0) Sleep(1000);

}

// 订阅行情

void subscribe()

{

char **ppInstrument=new char * [50];

ppInstrument[0] = "IF1809";

while (m_mdApi->SubscribeMarketData(ppInstrument, 1)!=0) Sleep(1000);

}

//接收行情

void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData)

{

printf("OnRtnDepthMarketData\n");

}

};

// main.cpp

#include "mduserhandle.h"

int main(int argc, char* argv[])

{

CMduserHandler *mduser = new CMduserHandler;

mduser->connect();

mduser->login();

mduser->subscribe();

Sleep(INFINITE);

}


行情接口

CThostFtdcMdApi

说明

CthostFtdcMdApi类提供了行情api的初始化、登录、订阅等功能。

接口

///创建MdApi

///@param pszFlowPath 存贮订阅信息文件的目录，默认为当前目录

///@return 创建出的UserApi

///modify for udp marketdata

static CThostFtdcMdApi *CreateFtdcMdApi(const char *pszFlowPath = "", const bool bIsUsingUdp=false, const bool bIsMulticast=false);

///获取API的版本信息

///@retrun 获取到的版本号

static const char *GetApiVersion();

///删除接口对象本身

///@remark 不再使用本接口对象时,调用该函数删除接口对象

virtual void Release() = 0;

///初始化

///@remark 初始化运行环境,只有调用后,接口才开始工作

virtual void Init() = 0;

///等待接口线程结束运行

///@return 线程退出代码

virtual int Join() = 0;

///获取当前交易日

///@retrun 获取到的交易日

///@remark 只有登录成功后,才能得到正确的交易日

virtual const char *GetTradingDay() = 0;

///注册前置机网络地址

///@param pszFrontAddress：前置机网络地址。

///@remark 网络地址的格式为：“protocol://ipaddress:port”，如：”tcp://127.0.0.1:17001”。

///@remark “tcp”代表传输协议，“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。

virtual void RegisterFront(char *pszFrontAddress) = 0;

///注册名字服务器网络地址

///@param pszNsAddress：名字服务器网络地址。

///@remark 网络地址的格式为：“protocol://ipaddress:port”，如：”tcp://127.0.0.1:12001”。

///@remark “tcp”代表传输协议，“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。

///@remark RegisterNameServer优先于RegisterFront

virtual void RegisterNameServer(char *pszNsAddress) = 0;

///注册名字服务器用户信息

///@param pFensUserInfo：用户信息。

virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0;

///注册回调接口

///@param pSpi 派生自回调接口类的实例

virtual void RegisterSpi(CThostFtdcMdSpi *pSpi) = 0;

///订阅行情。

///@param ppInstrumentID 合约ID

///@param nCount 要订阅/退订行情的合约个数

///@remark

virtual int SubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;

///退订行情。

///@param ppInstrumentID 合约ID

///@param nCount 要订阅/退订行情的合约个数

///@remark

virtual int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;

///订阅询价。

///@param ppInstrumentID 合约ID

///@param nCount 要订阅/退订行情的合约个数

///@remark

virtual int SubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;

///退订询价。

///@param ppInstrumentID 合约ID

///@param nCount 要订阅/退订行情的合约个数

///@remark

virtual int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;

///用户登录请求

virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;

///登出请求

virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0;

示例代码

class CMduserHandler : public CThostFtdcMdSpi

{

private:

CThostFtdcMdApi *m_mdApi;

public:

void connect()

{

//创建并初始化API，按照以下顺序

m_mdApi = CThostFtdcMdApi::CreateFtdcMdApi("", true, true);

m_mdApi->RegisterSpi(this);

m_mdApi->RegisterFront("tcp://127.0.0.1:41413");

m_mdApi->Init();

}

}

FAQ

无


CThostFtdcMdApi

CreateFtdcMdApi

说明

创建CThostFtdcMdApi实例。

函数原型

static CThostFtdcMdApi *CreateFtdcMdApi(const char *pszFlowPath = "", const bool bIsUsingUdp=false, const bool bIsMulticast=false);

参数

l pszFlowPath：常量字符指针，用于指定一个文件目录来存贮交易托管系统发布消息的状态。默认值代表当前目录。

l bIsMulticast：组播行情只能在内网中使用。

 | bIsUsingUdp | bIsMulticast
TCP行情前置 | false | false
UDP行情前置 | true | false
组播行情前置 | true | true

返回

无

调用示例

CThostFtdcMdApi *pUserMdApi = CThostFtdcMdApi::CreateFtdcMdApi();

CSimpleMdHandler ash(pUserMdApi);

pUserMdApi->RegisterSpi(&ash);

pUserMdApi->RegisterFront(“tcp://127.0.0.1:41205”);

pUserMdApi->Init();

FAQ

程序运行之前，flow目录必须提前创建好，否则会报错“RuntimeError:can not open CFlow file in line 279 of file ..\..\source\userapi\ThostFtdcUserApiImplBase.cpp”。


CThostFtdcMdApi

GetApiVersion

说明

获取API的版本信息

函数原型

virtual const char * GetApiVersion () = 0;

返回

const char * 返回一个指向版本字符串的指针

调用示例

CThostFtdcMdApi *pUserMdApi = CThostFtdcMdApi::CreateFtdcMdApi();

printf("版本号为:%s\n", pUserMdApi->GetApiVersion());

CSimpleMdHandler ash(pUserMdApi);

pUserMdApi->RegisterSpi(&ash);

pUserMdApi->RegisterFront(“tcp://127.0.0.1:41205”);

pUserMdApi->Init();


CThostFtdcMdApi

Release

说明

不再使用本接口对象时,调用该函数删除接口对象

函数原型

virtual void Release() = 0;

参数

无

返回


CThostFtdcMdApi

Init

说明

初始化运行环境,只有调用后,接口才开始发起前置的连接请求。

函数原型

virtual void Init() = 0;

参数

无

返回

无

调用示例

CThostFtdcMdApi *pUserMdApi = CThostFtdcMdApi::CreateFtdcMdApi();

CSimpleMdHandler ash(pUserMdApi);

pUserMdApi->RegisterSpi(&ash);

pUserMdApi->RegisterFront(“tcp://127.0.0.1:41205”);

pUserMdApi->Init();


CThostFtdcMdApi

Join

说明

客户端等待接口线程结束运行。

函数原型

virtual int Join() = 0;

参数

无


CThostFtdcMdApi

GetTradingDay

说明

获得当前交易日。只有当与交易托管系统连接建立后才会取到正确的值。

函数原型

virtual const char *GetTradingDay() = 0;

返回

返回一个指向日期信息字符串的常量指针。

调用示例

CThostFtdcMdApi *pUserMdApi = CThostFtdcMdApi::CreateFtdcMdApi();

CSimpleMdHandler ash(pUserMdApi);

pUserMdApi->RegisterSpi(&ash);

printf("获取交易日期:%s\n", pUserMdApi->GetTradingDay());

pUserMdApi->RegisterFront(“127.0.0.1:41205”);

pUserMdApi->Init();


CThostFtdcMdApi

RegisterFront

说明

设置交易托管系统的网络通讯地址，交易托管系统拥有多个通信地址，用户可以注册一个或多个地址。如果注册多个地址会随机选择一个尝试连接。

函数原型

virtual void RegisterFront(char *pszFrontAddress) = 0;

参数

pszFrontAddress：指向后台服务器地址的指针。服务器地址的格式为：“protocol://ipaddress:port”，如：”tcp://127.0.0.1:17001”。“tcp”代表传输协议，“127.0.0.1”代表服务器地址。”17001”代表行情端口号。

SSL前置格式：ssl://192.168.0.1:41205

TCP前置格式：tcp://192.168.0.1:41205

返回

无

调用示例

CThostFtdcMdApi *pUserMdApi = CThostFtdcMdApi::CreateFtdcMdApi();

CSimpleMdHandler ash(pUserMdApi);

pUserMdApi->RegisterSpi(&ash);

//此处注册多个前置，连接的时候会随机选择一个

pUserMdApi->RegisterFront(“tcp://192.168.0.1:41213”);

pUserMdApi->RegisterFront(“tcp://192.168.0.2:41213”);

pUserMdApi->Init();


CThostFtdcMdApi

RegisterNameServer

说明

设置名字服务器网络地址。RegisterNameServer优先于RegisterFront。

调用前需要先使用RegisterFensUserInfo设置登录模式。

函数原型

virtual void RegisterNameServer(char *pszNsAddress) = 0;

参数

pszNsAddress:指向后台服务器地址的指针。服务器地址的格式为：“protocol://ipaddress:port”。

如：“tcp://127.0.0.1:17001”。“tcp”代表传输协议，“127.0.0.1”代表服务器地址。“17001”代表服务器端口号。

返回

无

调用示例

CThostFtdcMdApi *pUserMdApi = CThostFtdcMdApi::CreateFtdcMdApi();

CSimpleMdHandler ash(pUserMdApi);

pUserMdApi->RegisterSpi(&ash);

CThostFtdcFensUserInfoField pFensUserInfo = { 0 };

strcpy_s(pFensUserInfo.BrokerID, g_chBrokerID);

strcpy_s(pFensUserInfo.UserID, g_chUserID);

pFensUserInfo.LoginMode = THOST_FTDC_LM_Trade;

m_pUserApi->RegisterFensUserInfo(&pFensUserInfo, nRequestID++);

pUserMdApi->RegisterNameServer (“tcp://127.0.0.1:41205”);

pUserMdApi->Init();


CThostFtdcMdApi

RegisterFensUserInfo

说明

注册名字服务器用户信息，调用RegisterNameServer前需要先使用RegisterFensUserInfo设置登录模式。

函数原型

virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0;

参数

///Fens用户信息

struct CThostFtdcFensUserInfoField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///登录模式

TThostFtdcLoginModeType LoginMode;

};

返回

无

调用示例

CThostFtdcMdApi *pUserMdApi = CThostFtdcMdApi::CreateFtdcMdApi();

CSimpleMdHandler ash(pUserMdApi);

pUserMdApi->RegisterSpi(&ash);

CThostFtdcFensUserInfoField pFensUserInfo = { 0 };

strcpy_s(pFensUserInfo.BrokerID, g_chBrokerID);

strcpy_s(pFensUserInfo.UserID, g_chUserID);

pFensUserInfo.LoginMode = THOST_FTDC_LM_Trade;

m_pUserApi->RegisterFensUserInfo(&pFensUserInfo, nRequestID++);

pUserMdApi-> RegisterNameServer (“tcp://127.0.0.1:41213”);

pUserMdApi->Init();


CThostFtdcMdApi

RegisterSpi

说明

注册一个派生自CThostFtdcMdSpi接口类的实例，该实例将完成事件处理。

函数原型

virtual void RegisterSpi(CThostFtdcMdSpi *pSpi) = 0;

参数

pSpi：实现了CThostFtdcMdSpi接口的实例指针。


CThostFtdcMdApi

SubscribeMarketData

说明

订阅行情，对应响应OnRspSubMarketData；订阅成功后，推送OnRtnDepthMarketData。

函数原型

virtual int SubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;

参数

ppInstrumentID：合约数组

nCount：合约数组的数量

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

char **ppInstrumentID = new char*[50];

ppInstrumentID[0] = "T1712";

m_pUserMdApi->SubscribeMarketData(ppInstrumentID, 1);


CThostFtdcMdApi

UnSubscribeMarketData

说明

退订行情，对应响应OnRspUnSubMarketData。

函数原型

virtual int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;

参数

ppInstrumentID：合约ID

nCount：要订阅/退订行情的合约个数

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

char **ppInstrumentID = new char*[50];

ppInstrumentID[0] = "T1712";

m_pUserMdApi->UnSubscribeMarketData(ppInstrumentID, 1);


CThostFtdcMdApi

SubscribeForQuoteRsp

说明

订阅询价，对应响应OnRspSubForQuoteRsp；订阅成功后推送OnRtnForQuoteRsp。

函数原型

virtual int SubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;

参数

ppInstrumentID：合约ID

nCount：要订阅/退订行情的合约个数

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

char **ppInstrumentID = new char*[50];

ppInstrumentID[0] = “sc1801”;

int result = m_pUserMdApi->SubscribeForQuoteRsp(ppInstrumentID, 1);

FAQ

l 普通投资者是否可以通过订阅询价请求来收取上场上的询价申报

目前，中金所和上期所可以，大商所和郑商所不行。


CThostFtdcMdApi

UnSubscribeForQuoteRsp

说明

退订询价，对应响应OnRspUnSubForQuoteRsp

函数原型

virtual int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;

参数

ppInstrumentID：合约ID

nCount：要订阅/退订行情的合约个数

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

char **ppInstrumentID = new char*[50];

ppInstrumentID[0] = “sc1801”;

m_pUserMdApi->SubscribeForQuoteRsp(ppInstrumentID, 1);


CThostFtdcMdApi

ReqUserLogin

说明

用户登录请求，对应响应OnRspUserLogin。目前行情登陆不校验账号密码。

函数原型

virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;

参数

///用户登录请求

struct CThostFtdcReqUserLoginField

{

///交易日

TThostFtdcDateType TradingDay;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///密码

TThostFtdcPasswordType Password;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///接口端产品信息

TThostFtdcProductInfoType InterfaceProductInfo;

///协议信息

TThostFtdcProtocolInfoType ProtocolInfo;

///Mac地址

TThostFtdcMacAddressType MacAddress;

///动态密码

TThostFtdcPasswordType OneTimePassword;

///终端IP地址

TThostFtdcIPAddressType ClientIPAddress;

///登录备注

TThostFtdcLoginRemarkType LoginRemark;

};

l UserID：操作员代码，之后的investorid需要属于该操作员管理下。

l UserProductInfo：客户端的产品信息，如软件开发商、版本号等，例如：SFITTraderV100。

l LoginRemark：可以写登录备注，能够被交易系统的日志查询到。

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcReqUserLoginField reqUserLogin = {0};

m_pUserMdApi->ReqUserLogin(&reqUserLogin, nRequestID++);


CThostFtdcMdApi

ReqUserLogout

说明

登出请求，对应响应OnRspUserLogout。

函数原型

virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0;

参数

///用户登出请求

struct CThostFtdcUserLogoutField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcUserLogoutField a = { 0 };

m_pUserApi->ReqUserLogout(&a, nRequestID++);


行情接口

CThostFtdcMdSpi

说明

CthostFtdcMdSpi类提供了行情相关的回调接口，用户需要继承该类并重载这些接口，以获取响应数据。

接口

///当客户端与交易后台建立起通信连接时（还未登录前），该方法被调用。

virtual void OnFrontConnected(){};

///当客户端与交易后台通信连接断开时，该方法被调用。当发生这个情况后，API会自动重新连接，客户端可不做处理。

///@param nReason 错误原因

/// 0x1001 网络读失败

/// 0x1002 网络写失败

/// 0x2001 接收心跳超时

/// 0x2002 发送心跳失败

/// 0x2003 收到错误报文

virtual void OnFrontDisconnected(int nReason){};

///心跳超时警告。当长时间未收到报文时，该方法被调用。

///@param nTimeLapse 距离上次接收报文的时间

virtual void OnHeartBeatWarning(int nTimeLapse){};

///登录请求响应

virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///登出请求响应

virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///错误应答

virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///订阅行情应答

virtual void OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///取消订阅行情应答

virtual void OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///订阅询价应答

virtual void OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///取消订阅询价应答

virtual void OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///深度行情通知

virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) {};

///询价通知

virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {};

示例代码

// CMduserHandler继承CThostFtdcMdSpi

class CMduserHandler : public CThostFtdcMdSpi

{

public:

//重载，接收行情

void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData)

{

printf("OnRtnDepthMarketData\n");

}

}


CThostFtdcMdSpi

OnFrontConnected

说明

当客户端与交易托管系统建立起通信连接时（还未登录前），该方法被调用。本方法在完成初始化后调用，可以在其中完成用户登录任务。

函数原型

virtual void OnFrontConnected(){};

参数

无


CThostFtdcMdSpi

OnFrontDisconnected

说明

当客户端与交易托管系统通信连接断开时，该方法被调用。当发生这个情况后，API会自动重新连接，客户端可不做处理。自动重连地址，可能是原来注册的地址，也可能是注册的其它可用的通信地址，它由程序自动选择。

函数原型

virtual void OnFrontDisconnected(int nReason){};

参数

///请求编号

int nReason

l nReason：连接断开原因，为10进制值，因此需要转成16进制后再参照下列代码：

0x1001 网络读失败

0x1002 网络写失败

0x2001 接收心跳超时

0x2002 发送心跳失败

0x2003 收到错误报文


CThostFtdcMdSpi

OnHeartBeatWarning

说明

心跳超时警告。当长时间未收到报文时，该方法被调用。目前该方法暂不启用。

函数原型

virtual void OnHeartBeatWarning(int nTimeLapse){};

参数

///请求编号

int nTimeLapse

l nTimeLapse：距离上次接收报文的时间


CThostFtdcMdSpi

OnRspUserLogin

说明

登录请求响应，当ReqUserLogin后，该方法被调用。

函数原型

virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///用户登录应答

struct CThostFtdcRspUserLoginField

{

///交易日

TThostFtdcDateType TradingDay;

///登录成功时间

TThostFtdcTimeType LoginTime;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///交易系统名称

TThostFtdcSystemNameType SystemName;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///最大报单引用

TThostFtdcOrderRefType MaxOrderRef;

///上期所时间

TThostFtdcTimeType SHFETime;

///大商所时间

TThostFtdcTimeType DCETime;

///郑商所时间

TThostFtdcTimeType CZCETime;

///中金所时间

TThostFtdcTimeType FFEXTime;

///能源中心时间

TThostFtdcTimeType INETime;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcMdSpi

OnRspUserLogout

说明

登出请求响应，当ReqUserLogout后，该方法被调用。

函数原型

virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///用户登出请求

struct CThostFtdcUserLogoutField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcMdSpi

OnRspError

说明

针对用户请求的出错通知。

函数原型

virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcMdSpi

OnRspSubMarketData

说明

订阅行情应答，调用SubscribeMarketData后，通过此接口返回。

函数原型

virtual void OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///指定的合约

struct CThostFtdcSpecificInstrumentField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcMdSpi

OnRspUnSubMarketData

说明

取消订阅行情应答，当UnSubscribeMarketData后，调用此接口。

函数原型

virtual void OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///指定的合约

struct CThostFtdcSpecificInstrumentField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcMdSpi

OnRspSubForQuoteRsp

说明

订阅询价应答，当调用SubscribeForQuoteRsp后，通过此接口返回。

函数原型

virtual void OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///指定的合约

struct CThostFtdcSpecificInstrumentField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcMdSpi

OnRspUnSubForQuoteRsp

说明

取消订阅询价应答，当UnSubscribeForQuoteRsp后，调用此接口。

函数原型

virtual void OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///指定的合约

struct CThostFtdcSpecificInstrumentField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcMdSpi

OnRtnDepthMarketData

说明

深度行情通知，当SubscribeMarketData订阅行情后，行情通知由此推送。

函数原型

virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) {};

参数

///深度行情

struct CThostFtdcDepthMarketDataField

{

///交易日

TThostFtdcDateType TradingDay;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///最新价

TThostFtdcPriceType LastPrice;

///上次结算价

TThostFtdcPriceType PreSettlementPrice;

///昨收盘

TThostFtdcPriceType PreClosePrice;

///昨持仓量

TThostFtdcLargeVolumeType PreOpenInterest;

///今开盘

TThostFtdcPriceType OpenPrice;

///最高价

TThostFtdcPriceType HighestPrice;

///最低价

TThostFtdcPriceType LowestPrice;

///数量

TThostFtdcVolumeType Volume;

///成交金额

TThostFtdcMoneyType Turnover;

///持仓量

TThostFtdcLargeVolumeType OpenInterest;

///今收盘

TThostFtdcPriceType ClosePrice;

///本次结算价

TThostFtdcPriceType SettlementPrice;

///涨停板价

TThostFtdcPriceType UpperLimitPrice;

///跌停板价

TThostFtdcPriceType LowerLimitPrice;

///昨虚实度

TThostFtdcRatioType PreDelta;

///今虚实度

TThostFtdcRatioType CurrDelta;

///最后修改时间

TThostFtdcTimeType UpdateTime;

///最后修改毫秒

TThostFtdcMillisecType UpdateMillisec;

///申买价一

TThostFtdcPriceType BidPrice1;

///申买量一

TThostFtdcVolumeType BidVolume1;

///申卖价一

TThostFtdcPriceType AskPrice1;

///申卖量一

TThostFtdcVolumeType AskVolume1;

///申买价二

TThostFtdcPriceType BidPrice2;

///申买量二

TThostFtdcVolumeType BidVolume2;

///申卖价二

TThostFtdcPriceType AskPrice2;

///申卖量二

TThostFtdcVolumeType AskVolume2;

///申买价三

TThostFtdcPriceType BidPrice3;

///申买量三

TThostFtdcVolumeType BidVolume3;

///申卖价三

TThostFtdcPriceType AskPrice3;

///申卖量三

TThostFtdcVolumeType AskVolume3;

///申买价四

TThostFtdcPriceType BidPrice4;

///申买量四

TThostFtdcVolumeType BidVolume4;

///申卖价四

TThostFtdcPriceType AskPrice4;

///申卖量四

TThostFtdcVolumeType AskVolume4;

///申买价五

TThostFtdcPriceType BidPrice5;

///申买量五

TThostFtdcVolumeType BidVolume5;

///申卖价五

TThostFtdcPriceType AskPrice5;

///申卖量五

TThostFtdcVolumeType AskVolume5;

///当日均价

TThostFtdcPriceType AveragePrice;

///业务日期

TThostFtdcDateType ActionDay;

};

返回

无

FAQ

l 行情通知中，例如结算价、收盘价、买卖价出现double极大值，则表示该字段没有值。例如涨停板的时候，因为没有卖价，会给出一个double极大值，同时卖量为0。

l 郑商所的结算价在盘中也会送出，但数值在盘中不会变化，这和盘后推送的结算价怎么区分？

郑商所夜盘收盘后会推送结算价，这也就是早上行情中有可能会收到结算价的原因，盘中行情中推送的结算价数值不会发生变化。无夜盘的合约，盘中不会收到结算价。白盘收盘后郑商所也会推送所有合约最新的结算价，CTP对交易所推送的结算价不做处理，直接转发。

l 郑商所的UDP行情里，Tradingday和AveragePrice字段都是空的，但是TCP行情里有，这是为什么？

UDP行情不推送AveragePrice字段；TCP行情里的Tradingday和AveragePrice是CTP给的。


CThostFtdcMdSpi

OnRtnForQuoteRsp

说明

询价通知，使用SubscribeForQuoteRsp订阅该询价通知。私有流回报。

函数原型

virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {};

参数

///发给做市商的询价请求

struct CThostFtdcForQuoteRspField

{

///交易日

TThostFtdcDateType TradingDay;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///询价编号

TThostFtdcOrderSysIDType ForQuoteSysID;

///询价时间

TThostFtdcTimeType ForQuoteTime;

///业务日期

TThostFtdcDateType ActionDay;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

l ForQuoteSysID：交易所给的一个询价编号，以此定位一笔询价。


CTP-API接口说明

交易接口

说明

交易员API提供了两个接口，分别为CThostFtdcTraderApi和CThostFtdcTraderSpi。这两个接口对FTD协议进行了封装，方便客户端应用程序的开发。客户端应用程序可以通过CThostFtdcTraderApi发出操作请求，通过继承CThostFtdcTraderSpi并重载回调函数来处理后台服务的响应。

交易员客户端应用程序至少由两个线程组成，一个是应用程序主线程，一个是交易员API工作线程。应用程序与交易系统的通讯是由 API工作线程驱动的。CThostFtdcTraderApi提供的接口是线程安全的，可以有多个应用程序线程同时发出请求。CThostFtdcTraderSpi提供的接口回调是由API工作线程驱动，通过实现SPI中的接口方法，可以从交易托管系统收取所需数据。如下图所示：

如果重载的某个回调函数阻塞，则等于阻塞了API工作线程，API与交易系统的通讯会停止。因此，在 CThostFtdcTraderSpi 派生类的回调函数中，通常应迅速返回，可以利用将数据放入缓冲区或通过Windows的消息机制来实现。

交易员 API 在运行过程中，会将一些数据写入本地文件中。调用CreateFtdcTraderApi函数，可以传递一个参数，指明存贮本地文件的路径。该路径必须在运行前已创建好。本地文件的扩展名都是”.con”。

l 在CThostFtdcTraderSpi 派生类的回调函数中应及时返回，不要阻塞。

l API请求的输入参数不能为 NULL。

l API请求的返回参数，0表示正确，其他表示错误，详细错误编码请查error.xml。

调用示例

//tradehandler.h

#include "ThostFtdcTraderApi.h"

#include "traderApi.h"

#include <string.h>

#include <stdio.h>

#include <Windows.h>

class CTraderHandler : public CThostFtdcTraderSpi

{

private:

CThostFtdcTraderApi *m_ptraderapi;

public:

void connect()

{

//创建API实例

m_ptraderapi = CThostFtdcTraderApi::CreateFtdcTraderApi("flow/"); //必须提前创建好flow目录

m_ptraderapi->RegisterSpi(this);

m_ptraderapi->SubscribePublicTopic(THOST_TERT_QUICK);

m_ptraderapi->SubscribePrivateTopic(THOST_TERT_QUICK); //设置私有流订阅模式

m_ptraderapi->RegisterFront("tcp://127.0.0.1:41205");

m_ptraderapi->Init();

//输出API版本信息

printf("%s\n", m_ptraderapi->GetApiVersion());

}

//释放

void release()

{

m_ptraderapi->Release();

}

//登陆

void login()

{

CThostFtdcReqUserLoginField t = {0};

strcpy_s(t.BrokerID, "1701");

strcpy_s(t.UserID, "1701_admin");

strcpy_s(t.Password, "1701_admin");

while (m_ptraderapi->ReqUserLogin(&t, 1)!=0) Sleep(1000);

}

//结算单确认

void settlementinfoConfirm()

{

CThostFtdcSettlementInfoConfirmField t = {0};

strcpy_s(t.BrokerID, "1701");

strcpy_s(t.InvestorID, "00001");

while (m_ptraderapi->ReqSettlementInfoConfirm(&t, 2)!=0) Sleep(1000);

}

//报单

void orderinsert()

{

CThostFtdcInputOrderField t = { 0 };

strcpy_s(t.BrokerID, "9999");

strcpy_s(t.InvestorID, "00001");

strcpy_s(t.UserID, "00001");

t.Direction = THOST_FTDC_D_Buy;

t.CombOffsetFlag[0] = THOST_FTDC_OF_Open;

t.CombHedgeFlag[0] = THOST_FTDC_HF_Speculation;

t.ContingentCondition = THOST_FTDC_CC_Immediately;

strcpy_s(t.InstrumentID, "sc1807");

t.ForceCloseReason = THOST_FTDC_FCC_NotForceClose;

t.LimitPrice = 490;

t.OrderPriceType = THOST_FTDC_OPT_LimitPrice;

t.VolumeCondition = THOST_FTDC_VC_AV;

t.TimeCondition = THOST_FTDC_TC_GFD;

t.VolumeTotalOriginal = 1;

strcpy_s(t.OrderRef, "0000001");

while (m_ptraderapi->ReqOrderInsert(&t, 3) != 0) Sleep(1000);

}

//查询合约

void qryInstrument()

{

CThostFtdcQryInstrumentField t = { 0 };

strcpy_s(t.ExchangeID, "SHFE");

strcpy_s(t.InstrumentID, "zn1803");

while (m_ptraderapi->ReqQryInstrument(&t, 4) != 0) Sleep(1000);

}

//前置连接响应

void OnFrontConnected()

{

printf("OnFrontConnected\n");

}

//登陆请求响应

void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)

{

printf("OnRspUserLogin\n");

}

//结算单确认响应

void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)

{

printf("OnRspSettlementInfoConfirm\n");

}

//查询合约响应

void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)

{

printf("OnRspQryInstrument\n");

}

//报单通知

void OnRtnOrder(CThostFtdcOrderField *pOrder)

{

printf("OnRtnOrder\n");

}

//成交通知

void OnRtnTrade(CThostFtdcTradeField *pTrade)

{

printf("OnRtnTrade\n");

}

//报单录入请求响应

void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)

{

printf("OnRspOrderInsert\n");

}

//错误应答

void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)

{

printf("OnRspError\n");

}

};

#include "tradehandler.h"

int main(int argc, char *argv[])

{

CTraderHandler *trader = new CTraderHandler();

trader->connect();

Sleep(2000);

trader->login();

Sleep(2000);

trader->settlementinfoConfirm();

Sleep(2000);

trader->qryInstrument();

Sleep(2000);

trader->orderinsert();

Sleep(INFINITE);

return 1;

}


交易接口

CThostFtdcTraderApi

说明

CThostFtdcTraderApi类提供了交易api的初始化、登录、报单和查询等功能。

接口

///创建TraderApi

///@param pszFlowPath 存贮订阅信息文件的目录，默认为当前目录

///@return 创建出的UserApi

static CThostFtdcTraderApi *CreateFtdcTraderApi(const char *pszFlowPath = "");

///获取API的版本信息

///@retrun 获取到的版本号

static const char *GetApiVersion();

///删除接口对象本身

///@remark 不再使用本接口对象时,调用该函数删除接口对象

virtual void Release() = 0;

///初始化

///@remark 初始化运行环境,只有调用后,接口才开始工作

virtual void Init() = 0;

///等待接口线程结束运行

///@return 线程退出代码

virtual int Join() = 0;

///获取当前交易日

///@retrun 获取到的交易日

///@remark 只有登录成功后,才能得到正确的交易日

virtual const char *GetTradingDay() = 0;

///注册前置机网络地址

///@param pszFrontAddress：前置机网络地址。

///@remark 网络地址的格式为：“protocol://ipaddress:port”，如：”tcp://127.0.0.1:17001”。

///@remark “tcp”代表传输协议，“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。

virtual void RegisterFront(char *pszFrontAddress) = 0;

///注册名字服务器网络地址

///@param pszNsAddress：名字服务器网络地址。

///@remark 网络地址的格式为：“protocol://ipaddress:port”，如：”tcp://127.0.0.1:12001”。

///@remark “tcp”代表传输协议，“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。

///@remark RegisterNameServer优先于RegisterFront

virtual void RegisterNameServer(char *pszNsAddress) = 0;

///注册名字服务器用户信息

///@param pFensUserInfo：用户信息。

virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0;

///注册回调接口

///@param pSpi 派生自回调接口类的实例

virtual void RegisterSpi(CThostFtdcTraderSpi *pSpi) = 0;

///订阅私有流。

///@param nResumeType 私有流重传方式

/// THOST_TERT_RESTART:从本交易日开始重传

/// THOST_TERT_RESUME:从上次收到的续传

/// THOST_TERT_QUICK:只传送登录后私有流的内容

///@remark 该方法要在Init方法前调用。若不调用则不会收到私有流的数据。

virtual void SubscribePrivateTopic(THOST_TE_RESUME_TYPE nResumeType) = 0;

///订阅公共流。

///@param nResumeType 公共流重传方式

/// THOST_TERT_RESTART:从本交易日开始重传

/// THOST_TERT_RESUME:从上次收到的续传

/// THOST_TERT_QUICK:只传送登录后公共流的内容

///@remark 该方法要在Init方法前调用。若不调用则不会收到公共流的数据。

virtual void SubscribePublicTopic(THOST_TE_RESUME_TYPE nResumeType) = 0;

///客户端认证请求

virtual int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) = 0;

///用户登录请求

virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;

///登出请求

virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0;

///用户口令更新请求

virtual int ReqUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0;

///资金账户口令更新请求

virtual int ReqTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, int nRequestID) = 0;

///登录请求2

virtual int ReqUserLogin2(CThostFtdcReqUserLoginField *pReqUserLogin, int nRequestID) = 0;

///用户口令更新请求2

virtual int ReqUserPasswordUpdate2(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0;

///报单录入请求

virtual int ReqOrderInsert(CThostFtdcInputOrderField *pInputOrder, int nRequestID) = 0;

///预埋单录入请求

virtual int ReqParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, int nRequestID) = 0;

///预埋撤单录入请求

virtual int ReqParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, int nRequestID) = 0;

///报单操作请求

virtual int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID) = 0;

///查询最大报单数量请求

virtual int ReqQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, int nRequestID) = 0;

///投资者结算结果确认

virtual int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) = 0;

///请求删除预埋单

virtual int ReqRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, int nRequestID) = 0;

///请求删除预埋撤单

virtual int ReqRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, int nRequestID) = 0;

///执行宣告录入请求

virtual int ReqExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, int nRequestID) = 0;

///执行宣告操作请求

virtual int ReqExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, int nRequestID) = 0;

///询价录入请求

virtual int ReqForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, int nRequestID) = 0;

///报价录入请求

virtual int ReqQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, int nRequestID) = 0;

///报价操作请求

virtual int ReqQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, int nRequestID) = 0;

///批量报单操作请求

virtual int ReqBatchOrderAction(CThostFtdcInputBatchOrderActionField *pInputBatchOrderAction, int nRequestID) = 0;

///期权自对冲录入请求

virtual int ReqOptionSelfCloseInsert(CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, int nRequestID) = 0;

///期权自对冲操作请求

virtual int ReqOptionSelfCloseAction(CThostFtdcInputOptionSelfCloseActionField *pInputOptionSelfCloseAction, int nRequestID) = 0;

///申请组合录入请求

virtual int ReqCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, int nRequestID) = 0;

///请求查询报单

virtual int ReqQryOrder(CThostFtdcQryOrderField *pQryOrder, int nRequestID) = 0;

///请求查询成交

virtual int ReqQryTrade(CThostFtdcQryTradeField *pQryTrade, int nRequestID) = 0;

///请求查询投资者持仓

virtual int ReqQryInvestorPosition(CThostFtdcQryInvestorPositionField *pQryInvestorPosition, int nRequestID) = 0;

///请求查询资金账户

virtual int ReqQryTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) = 0;

///请求查询投资者

virtual int ReqQryInvestor(CThostFtdcQryInvestorField *pQryInvestor, int nRequestID) = 0;

///请求查询交易编码

virtual int ReqQryTradingCode(CThostFtdcQryTradingCodeField *pQryTradingCode, int nRequestID) = 0;

///请求查询合约保证金率

virtual int ReqQryInstrumentMarginRate(CThostFtdcQryInstrumentMarginRateField *pQryInstrumentMarginRate, int nRequestID) = 0;

///请求查询合约手续费率

virtual int ReqQryInstrumentCommissionRate(CThostFtdcQryInstrumentCommissionRateField *pQryInstrumentCommissionRate, int nRequestID) = 0;

///请求查询交易所

virtual int ReqQryExchange(CThostFtdcQryExchangeField *pQryExchange, int nRequestID) = 0;

///请求查询产品

virtual int ReqQryProduct(CThostFtdcQryProductField *pQryProduct, int nRequestID) = 0;

///请求查询合约

virtual int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID) = 0;

///请求查询行情

virtual int ReqQryDepthMarketData(CThostFtdcQryDepthMarketDataField *pQryDepthMarketData, int nRequestID) = 0;

///请求查询投资者结算结果

virtual int ReqQrySettlementInfo(CThostFtdcQrySettlementInfoField *pQrySettlementInfo, int nRequestID) = 0;

///请求查询转帐银行

virtual int ReqQryTransferBank(CThostFtdcQryTransferBankField *pQryTransferBank, int nRequestID) = 0;

///请求查询投资者持仓明细

virtual int ReqQryInvestorPositionDetail(CThostFtdcQryInvestorPositionDetailField *pQryInvestorPositionDetail, int nRequestID) = 0;

///请求查询客户通知

virtual int ReqQryNotice(CThostFtdcQryNoticeField *pQryNotice, int nRequestID) = 0;

///请求查询结算信息确认

virtual int ReqQrySettlementInfoConfirm(CThostFtdcQrySettlementInfoConfirmField *pQrySettlementInfoConfirm, int nRequestID) = 0;

///请求查询投资者持仓明细

virtual int ReqQryInvestorPositionCombineDetail(CThostFtdcQryInvestorPositionCombineDetailField *pQryInvestorPositionCombineDetail, int nRequestID) = 0;

///请求查询保证金监管系统经纪公司资金账户密钥

virtual int ReqQryCFMMCTradingAccountKey(CThostFtdcQryCFMMCTradingAccountKeyField *pQryCFMMCTradingAccountKey, int nRequestID) = 0;

///请求查询仓单折抵信息

virtual int ReqQryEWarrantOffset(CThostFtdcQryEWarrantOffsetField *pQryEWarrantOffset, int nRequestID) = 0;

///请求查询投资者品种/跨品种保证金

virtual int ReqQryInvestorProductGroupMargin(CThostFtdcQryInvestorProductGroupMarginField *pQryInvestorProductGroupMargin, int nRequestID) = 0;

///请求查询交易所保证金率

virtual int ReqQryExchangeMarginRate(CThostFtdcQryExchangeMarginRateField *pQryExchangeMarginRate, int nRequestID) = 0;

///请求查询交易所调整保证金率

virtual int ReqQryExchangeMarginRateAdjust(CThostFtdcQryExchangeMarginRateAdjustField *pQryExchangeMarginRateAdjust, int nRequestID) = 0;

///请求查询汇率

virtual int ReqQryExchangeRate(CThostFtdcQryExchangeRateField *pQryExchangeRate, int nRequestID) = 0;

///请求查询二级代理操作员银期权限

virtual int ReqQrySecAgentACIDMap(CThostFtdcQrySecAgentACIDMapField *pQrySecAgentACIDMap, int nRequestID) = 0;

///请求查询产品报价汇率

virtual int ReqQryProductExchRate(CThostFtdcQryProductExchRateField *pQryProductExchRate, int nRequestID) = 0;

///请求查询产品组

virtual int ReqQryProductGroup(CThostFtdcQryProductGroupField *pQryProductGroup, int nRequestID) = 0;

///请求查询做市商合约手续费率

virtual int ReqQryMMInstrumentCommissionRate(CThostFtdcQryMMInstrumentCommissionRateField *pQryMMInstrumentCommissionRate, int nRequestID) = 0;

///请求查询做市商期权合约手续费

virtual int ReqQryMMOptionInstrCommRate(CThostFtdcQryMMOptionInstrCommRateField *pQryMMOptionInstrCommRate, int nRequestID) = 0;

///请求查询报单手续费

virtual int ReqQryInstrumentOrderCommRate(CThostFtdcQryInstrumentOrderCommRateField *pQryInstrumentOrderCommRate, int nRequestID) = 0;

///请求查询资金账户

virtual int ReqQrySecAgentTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) = 0;

///请求查询二级代理商资金校验模式

virtual int ReqQrySecAgentCheckMode(CThostFtdcQrySecAgentCheckModeField *pQrySecAgentCheckMode, int nRequestID) = 0;

///请求查询期权交易成本

virtual int ReqQryOptionInstrTradeCost(CThostFtdcQryOptionInstrTradeCostField *pQryOptionInstrTradeCost, int nRequestID) = 0;

///请求查询期权合约手续费

virtual int ReqQryOptionInstrCommRate(CThostFtdcQryOptionInstrCommRateField *pQryOptionInstrCommRate, int nRequestID) = 0;

///请求查询执行宣告

virtual int ReqQryExecOrder(CThostFtdcQryExecOrderField *pQryExecOrder, int nRequestID) = 0;

///请求查询询价

virtual int ReqQryForQuote(CThostFtdcQryForQuoteField *pQryForQuote, int nRequestID) = 0;

///请求查询报价

virtual int ReqQryQuote(CThostFtdcQryQuoteField *pQryQuote, int nRequestID) = 0;

///请求查询期权自对冲

virtual int ReqQryOptionSelfClose(CThostFtdcQryOptionSelfCloseField *pQryOptionSelfClose, int nRequestID) = 0;

///请求查询投资单元

virtual int ReqQryInvestUnit(CThostFtdcQryInvestUnitField *pQryInvestUnit, int nRequestID) = 0;

///请求查询组合合约安全系数

virtual int ReqQryCombInstrumentGuard(CThostFtdcQryCombInstrumentGuardField *pQryCombInstrumentGuard, int nRequestID) = 0;

///请求查询申请组合

virtual int ReqQryCombAction(CThostFtdcQryCombActionField *pQryCombAction, int nRequestID) = 0;

///请求查询转帐流水

virtual int ReqQryTransferSerial(CThostFtdcQryTransferSerialField *pQryTransferSerial, int nRequestID) = 0;

///请求查询银期签约关系

virtual int ReqQryAccountregister(CThostFtdcQryAccountregisterField *pQryAccountregister, int nRequestID) = 0;

///请求查询签约银行

virtual int ReqQryContractBank(CThostFtdcQryContractBankField *pQryContractBank, int nRequestID) = 0;

///请求查询预埋单

virtual int ReqQryParkedOrder(CThostFtdcQryParkedOrderField *pQryParkedOrder, int nRequestID) = 0;

///请求查询预埋撤单

virtual int ReqQryParkedOrderAction(CThostFtdcQryParkedOrderActionField *pQryParkedOrderAction, int nRequestID) = 0;

///请求查询交易通知

virtual int ReqQryTradingNotice(CThostFtdcQryTradingNoticeField *pQryTradingNotice, int nRequestID) = 0;

///请求查询经纪公司交易参数

virtual int ReqQryBrokerTradingParams(CThostFtdcQryBrokerTradingParamsField *pQryBrokerTradingParams, int nRequestID) = 0;

///请求查询经纪公司交易算法

virtual int ReqQryBrokerTradingAlgos(CThostFtdcQryBrokerTradingAlgosField *pQryBrokerTradingAlgos, int nRequestID) = 0;

///请求查询监控中心用户令牌

virtual int ReqQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, int nRequestID) = 0;

///期货发起银行资金转期货请求

virtual int ReqFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0;

///期货发起期货资金转银行请求

virtual int ReqFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0;

///期货发起查询银行余额请求

virtual int ReqQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID) = 0;

示例代码

class CTraderHandler : public CThostFtdcTraderSpi

{

private:

CThostFtdcTraderApi *m_ptraderapi;

public:

void connect()

{

//创建API实例，按照以下顺序初始化

m_ptraderapi = CThostFtdcTraderApi::CreateFtdcTraderApi("flow/"); //必须提前创建好flow目录

m_ptraderapi->RegisterSpi(this);

m_ptraderapi->SubscribePublicTopic(THOST_TERT_QUICK);

m_ptraderapi->SubscribePrivateTopic(THOST_TERT_QUICK); //设置私有流订阅模式

m_ptraderapi->RegisterFront("tcp://127.0.0.1:41205");

m_ptraderapi->Init();

//输出API版本信息

printf("%s\n", m_ptraderapi->GetApiVersion());

}

}

FAQ

l 在程序运行前，必须提前创建好flow目录，否则会报错。


CThostFtdcTraderApi

Release

说明

删除接口对象本身

不再使用本接口对象时,调用该函数删除接口对象

函数原型

virtual void Release() = 0;

参数

无

返回

无

调用示例

template <class TUserApi>

void CUserApiEnv<TUserApi>::UnInitialUserApi()

{

// 释放UserApi

if (m_pUserApi)

{

m_pUserApi->RegisterSpi(NULL);

m_pUserApi->Release();

m_pUserApi = NULL;

}

// 释放UserSpi实例

if (m_pUserSpiImpl)

{

delete m_pUserSpiImpl;

m_pUserSpiImpl = NULL;

}

}


CThostFtdcTraderApi

Init

说明

使客户端开始与交易托管系统建立连接，连接成功后可以进行登陆。

函数原型

virtual void Init() = 0;

参数

无

返回

无

调用示例

CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi("F:\\flow\\");

CSimpleHandler sh(pUserApi);

pUserApi->RegisterSpi(&sh);

pUserApi->SubscribePrivateTopic(THOST_TERT_QUICK);

pUserApi->SubscribePublicTopic(THOST_TERT_QUICK);

pUserApi->RegisterFront(“tcp://127.0.0.1:51205”);

pUserApi->Init();


CThostFtdcTraderApi

Join

说明

客户端等待一个接口实例线程的结束。

函数原型

virtual int Join() = 0;

参数

无


CThostFtdcTraderApi

GetTradingDay

说明

获得当前交易日。只有当登陆成功后才会取到正确的值。

函数原型

virtual const char *GetTradingDay() = 0;

参数

无

返回

返回一个指向日期信息字符串的常量指针。

调用示例

CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi("F:\\flow\\");

CSimpleHandler sh(pUserApi);

pUserApi->RegisterSpi(&sh);

pUserApi->SubscribePrivateTopic(THOST_TERT_QUICK);

pUserApi->SubscribePublicTopic(THOST_TERT_QUICK);

pUserApi->RegisterFront(“tcp://127.0.0.1:51205”);

pUserApi->Init();

WaitForSingleObject(g_LoginSig, INFINITE); //等待登陆成功后

printf(pUserApi->GetTradingDay()); //获取交易日


CThostFtdcTraderApi

RegisterFront

说明

设置交易托管系统的网络通讯地址，交易托管系统拥有多个通信地址，但用户只需要选择一个通信地址。

也可以通过多次调用的方式注册不同的前置地址实现冗余。当交易系统断开连接时会自动从注册的地址池中随机选择一个尝试连接。

函数原型

virtual void RegisterFront(char *pszFrontAddress) = 0;

参数

pszFrontAddress：指向后台服务器地址的指针。服务器地址的格式为：“protocol://ipaddress:port”，如：”tcp://127.0.0.1:17001”。“tcp”代表传输协议，“127.0.0.1”代表服务器地址。”17001”代表交易端口号。

SSL前置格式：ssl://192.168.0.1:41205

TCP前置格式：tcp://192.168.0.1:41205

返回

无

调用示例

CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi("F:\\flow \\");

CSimpleHandler sh(pUserApi);

pUserApi->RegisterSpi(&sh);

pUserApi->SubscribePrivateTopic(THOST_TERT_RESUME);

pUserApi->SubscribePublicTopic(THOST_TERT_RESUME);

//注册多个前置地址

pUserApi->RegisterFront(“tcp://192.168.1.10:51205”);

pUserApi->RegisterFront(“tcp://192.168.1.11:51205”);

pUserApi->RegisterFront(“tcp://192.168.1.12:51205”);

pUserApi->Init();

FAQ

l 如果需要建立加密的SSL连接，则要求期货公司有相应的SSL前置，在填写地址的时候格式为“ssl://xxx.xxx.xxx.xxx:port”。

l 端口如果填写错误，例如交易和行情写反，则会报“CTP:无此功能”。


CThostFtdcTraderApi

RegisterNameServer

说明

设置名字服务器网络地址。RegisterNameServer优先于RegisterFront。

调用前需要先使用RegisterFensUserInfo设置登录模式。

函数原型

virtual void RegisterNameServer(char *pszNsAddress) = 0;

参数

pszNsAddress:指向后台服务器地址的指针。服务器地址的格式为：“protocol://ipaddress:port”，如：”tcp://127.0.0.1:17001”。“tcp”代表传输协议，“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。

返回

无

调用示例

CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi("F:\\flow\\");

CSimpleHandler sh(pUserApi);

pUserApi->RegisterSpi(&sh);

printf(pUserApi->GetApiVersion());

pUserApi->SubscribePrivateTopic(THOST_TERT_QUICK);

pUserApi->SubscribePublicTopic(THOST_TERT_QUICK);

CThostFtdcFensUserInfoField pFensUserInfo = { 0 };

strcpy_s(pFensUserInfo.BrokerID, "9999");

strcpy_s(pFensUserInfo.UserID, "1000001");

pFensUserInfo.LoginMode = THOST_FTDC_LM_Trade;

pUserMdApi->RegisterFensUserInfo(&pFensUserInfo);

pUserMdApi-> RegisterNameServer (“tcp://127.0.0.1:41205”);

pUserApi->Init();


CThostFtdcTraderApi

RegisterFensUserInfo

说明

注册名字服务器用户信息，调用RegisterNameServer前需要先使用RegisterFensUserInfo设置登录模式。

函数原型

virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0;

参数

///Fens用户信息

struct CThostFtdcFensUserInfoField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///登录模式

TThostFtdcLoginModeType LoginMode;

};

l LoginMode：填写THOST_FTDC_LM_Trade

返回

无

调用示例

CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi("F:\\flow\\");

CSimpleHandler sh(pUserApi);

pUserApi->RegisterSpi(&sh);

printf(pUserApi->GetApiVersion());

pUserApi->SubscribePrivateTopic(THOST_TERT_QUICK);

pUserApi->SubscribePublicTopic(THOST_TERT_QUICK);

CThostFtdcFensUserInfoField pFensUserInfo = { 0 };

strcpy_s(pFensUserInfo.BrokerID, "9999");

strcpy_s(pFensUserInfo.UserID, "1000001");

pFensUserInfo.LoginMode = THOST_FTDC_LM_Trade;

pUserMdApi->RegisterFensUserInfo(&pFensUserInfo);

pUserMdApi-> RegisterNameServer(“tcp://127.0.0.1:41205”);

pUserApi->Init();


CThostFtdcTraderApi

RegisterSpi

说明

注册一个派生自CThostFtdcTraderSpi 接口类的实例，该实例将完成事件处理。

函数原型

virtual void RegisterSpi(CThostFtdcTraderSpi *pSpi) = 0;

参数

pSpi：实现了CThostFtdcTraderSpi接口的实例指针。

返回

无

调用示例

CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi("F:\\api_liu\\");

CSimpleHandler sh(pUserApi);

pUserApi->RegisterSpi(&sh);

pUserApi->SubscribePrivateTopic(THOST_TERT_QUICK);

pUserApi->SubscribePublicTopic(THOST_TERT_QUICK);

pUserApi->RegisterFront(“tcp://127.0.0.1:51205”);

pUserApi->Init();


CThostFtdcTraderApi

SubscribePrivateTopic

说明

订阅私有流。该方法要在Init 方法前调用。若不调用则不会收到私有流的数据。推荐使用THOST_TERT_RESTART方式订阅私有流。

函数原型

virtual void SubscribePrivateTopic(THOST_TE_RESUME_TYPE nResumeType) = 0;

参数

nResumeType： 私有流重传方式

THOST_TERT_RESTART:从本交易日开始重传（推荐）

THOST_TERT_RESUME:从上次收到的续传（序号保存在本地流水文件里，若遇到CTP交易系统清流重启，则可能收不到私有流回报）

THOST_TERT_QUICK:只传送登录后私有流的内容

返回

无

调用示例

CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi("F:\\flow\\");

CSimpleHandler sh(pUserApi);

pUserApi->RegisterSpi(&sh);

pUserApi->SubscribePrivateTopic(THOST_TERT_RESTART);

pUserApi->SubscribePublicTopic(THOST_TERT_RESTART);

pUserApi->RegisterFront(“tcp://127.0.0.1:51205”);

pUserApi->Init();


CThostFtdcTraderApi

CreateFtdcTraderApi

说明

创建TraderApi实例。如果创建多个api实例，则每个实例的flow目录都要区分开，否则可能会导致报单回报丢失。

函数原型

static CThostFtdcTraderApi *CreateFtdcTraderApi(const char *pszFlowPath = "");

参数

pszFlowPath：常量字符指针，用于指定一个文件目录来存贮交易托管系统发布消息的状态。默认值代表当前目录。

返回

无

调用示例

//初始化api

CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi("flow\\01\\");

CSimpleHandler sh(pUserApi);

pUserApi->RegisterSpi(&sh);

pUserApi->SubscribePrivateTopic(THOST_TERT_QUICK);

pUserApi->SubscribePublicTopic(THOST_TERT_QUICK);

pUserApi->RegisterFront("tcp://127.0.0.1:41205");

pUserApi->Init();

//创建第二个api实例，要区分开flow目录

CThostFtdcTraderApi *pUserApi2 = CThostFtdcTraderApi::CreateFtdcTraderApi("flow\\02\\");

FAQ

l 程序运行之前，flow目录必须提前创建好，否则会报错“RuntimeError:can not open CFlow file in line 279 of file ..\..\source\userapi\ThostFtdcUserApiImplBase.cpp”。


CThostFtdcTraderApi

GetApiVersion

说明

获取API的版本信息

函数原型

virtual const char *GetTradingDay() = 0;

参数

无

返回

返回具体的版本号，如（v6.3.11_20180109 14:59:39）

调用示例

CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi("F:\\flow\\");

CSimpleHandler sh(pUserApi);

pUserApi->RegisterSpi(&sh);

LOG(pUserApi->GetApiVersion());

pUserApi->SubscribePrivateTopic(THOST_TERT_QUICK);

pUserApi->SubscribePublicTopic(THOST_TERT_QUICK);

pUserApi->RegisterFront(“tcp://127.0.0.1:51205”);

pUserApi->Init();


CThostFtdcTraderApi

SubscribePublicTopic

说明

订阅公共流。该方法要在Init 方法前调用。若不调用则不会收到公共流的数据。

函数原型

virtual void SubscribePublicTopic(THOST_TE_RESUME_TYPE nResumeType) = 0;

参数

nResumeType：私有流重传方式，有三种如下

THOST_TERT_RESTART：从本交易日开始重传

THOST_TERT_RESUME：从上次收到的续传

THOST_TERT_QUICK：只传送登录后私有流的内容

返回

无

调用示例

CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi("F:\\flow\\");

CSimpleHandler sh(pUserApi);

pUserApi->RegisterSpi(&sh);

pUserApi->SubscribePrivateTopic(THOST_TERT_RESUME);

pUserApi->SubscribePublicTopic(THOST_TERT_RESUME);

pUserApi->RegisterFront("tcp://127.0.0.1:51205");

pUserApi->Init();


CThostFtdcTraderApi

ReqAuthenticate

说明

客户端认证请求，对应响应OnRspAuthenticate。如果交易系统开启了强制终端认证，则必须认证通过后才能发起登陆；如果未开启，则不需要认证即可登陆，此时如果主动去认证，不管成功或失败，也不影响后续登陆。

函数原型

virtual int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) = 0;

参数

///客户端认证请求

struct CThostFtdcReqAuthenticateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///认证码

TThostFtdcAuthCodeType AuthCode;

};

l UserProductInfo：客户端的产品信息，如软件开发商、版本号等，例如：SFITTraderV100。

l AuthCode：认证码需要向期货公司询问得到

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcReqAuthenticateField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.UserID, "1000001");

strcpy_s(a.UserProductInfo, "mytest");

strcpy_s(a.AuthCode, "MLX0LEA4L4UPUCBF");

m_pUserApi->ReqAuthenticate(&a, nRequestID++);


CThostFtdcTraderApi

ReqUserLogin

说明

用户登录请求，对应响应OnRspUserLogin。

柜台系统V6.3.8P20170915补丁及以上版本的front建议使用“ReqUserLogin2”及“ReqUserPasswordUpdate2”接口。

函数原型

virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;

参数

///用户登录请求

struct CThostFtdcReqUserLoginField

{

///交易日

TThostFtdcDateType TradingDay;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///密码

TThostFtdcPasswordType Password;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///接口端产品信息

TThostFtdcProductInfoType InterfaceProductInfo;

///协议信息

TThostFtdcProtocolInfoType ProtocolInfo;

///Mac地址

TThostFtdcMacAddressType MacAddress;

///动态密码

TThostFtdcPasswordType OneTimePassword;

///终端IP地址

TThostFtdcIPAddressType ClientIPAddress;

///登录备注

TThostFtdcLoginRemarkType LoginRemark;

};

l UserID：操作员代码，之后的investorid需要属于该操作员管理下。

l UserProductInfo：客户端的产品信息，如软件开发商、版本号等，例如：SFITTraderV100。

l LoginRemark：可以写登录备注，能够被交易系统的日志查询到。

l OneTimePassword：如果期货公司启用了动态口令，客户会有一个电子口令牌，把生成的值，输入到登录报文里的OneTimePassword(动态密码)这个字段中去即可

l ClientIPAddress：CTP前置主动获取，填写无效。

l MacAddress：CTP前置主动获取，填写无效。

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcReqUserLoginField reqUserLogin = { 0 };

strcpy_s(reqUserLogin.BrokerID, “0000”);

strcpy_s(reqUserLogin.UserID, “00001”);

strcpy_s(reqUserLogin.Password, “123456”);

m_pUserApi->ReqUserLogin(&reqUserLogin, nRequestID++);

FAQ

l 现在投资者登录的时候，有时候会被锁定，请问会有什么原因？

CTP有单独锁IP的功能。被锁定的情况下继续登录会报“CTP：登录失败次数超限，IP被禁止”。目前这个阈值一般设置为5000，单个交易日内累积计算。

CTP有锁IP+账号的功能。被锁定的情况下继续登录会报“CTP：连续登录失败次数超限，登录被禁止”。目前这个阈值一般设置为6-10，注意这里的登录错误次数CTP是连续计算的。

具体的阈值以期货公司设置的为准。

l 首次登陆如果提示修改密码，则必须在当前会话调用ReqUserPasswordUpdate来修改密码。

l “CTP:用户在线会话超出上限”，表示该UserID的同时在线会话数超出了期货公司设置的阈值，具体阈值咨询期货公司柜台设置。

l 登录报“CTP：重复的登录”，是什么原因？

正常情况下，收到登录成功的响应后再发起登录，是没有响应的，这是因为如果前置收到登陆成功的响应，则会过滤后续的相同Session的登陆请求。

极端情况下，当前置还没收到核心返回的登录成功响应，而此时又再次收到来自客户端的登录请求，就不会过滤，核心收到重复的登录请求后就会返回“CTP：重复的登录”的错误响应。


CThostFtdcTraderApi

ReqUserLogout

说明

登出请求，对应响应OnRspUserLogout。

函数原型

virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0;

参数

///用户登出请求

struct CThostFtdcUserLogoutField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcUserLogoutField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.UserID, "1000001");

m_pUserApi->ReqUserLogout(&a, nRequestID++);


CThostFtdcTraderApi

ReqUserPasswordUpdate

说明

用户口令更新请求，对应响应OnRspUserPasswordUpdate。

在638_0915升级后新增的ReqUserPasswordUpdate2使用了新的加密算法，ReqUserPasswordUpdate能兼容新老前置，ReqUserPasswordUpdate2只能登录新前置。具体情况咨询期货公司。

柜台系统V6.3.8P20170915补丁及以上版本的front建议使用“ReqUserLogin2”及“ReqUserPasswordUpdate2”接口。

函数原型

virtual int ReqUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0;

参数

///用户口令变更

struct CThostFtdcUserPasswordUpdateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///原来的口令

TThostFtdcPasswordType OldPassword;

///新的口令

TThostFtdcPasswordType NewPassword;

};

l NewPassword：新密码需要符合复杂度要求，不然修改失败。

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcUserPasswordUpdateField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.UserID, "1000001");

strcpy_s(a.OldPassword, "123456");

strcpy_s(a.NewPassword, "666666");

m_pUserApi->ReqUserPasswordUpdate(&a, nRequestID++);


CThostFtdcTraderApi

ReqTradingAccountPasswordUpdate

说明

资金账户口令更新请求，对应响应OnRspTradingAccountPasswordUpdate。

函数原型

virtual int ReqTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, int nRequestID) = 0;

参数

///资金账户口令变更域

struct CThostFtdcTradingAccountPasswordUpdateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///原来的口令

TThostFtdcPasswordType OldPassword;

///新的口令

TThostFtdcPasswordType NewPassword;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcTradingAccountPasswordUpdateField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.AccountID, "1000001");

strcpy_s(a.OldPassword, "123456");

strcpy_s(a.NewPassword, "666666");

strcpy_s(a.CurrencyID, "CNY");

m_pUserApi->ReqTradingAccountPasswordUpdate(&a, nRequestID++);


CThostFtdcTraderApi

ReqUserLogin2

说明

用户登录请求2，对应响应OnRspUserLogin。

柜台系统V6.3.8P20170915补丁及以上版本的front建议使用“ReqUserLogin2”及“ReqUserPasswordUpdate2”接口。

函数原型

virtual int ReqUserLogin2(CThostFtdcReqUserLoginField *pReqUserLogin, int nRequestID) = 0;

参数

///用户登录请求

struct CThostFtdcReqUserLoginField

{

///交易日

TThostFtdcDateType TradingDay;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///密码

TThostFtdcPasswordType Password;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///接口端产品信息

TThostFtdcProductInfoType InterfaceProductInfo;

///协议信息

TThostFtdcProtocolInfoType ProtocolInfo;

///Mac地址

TThostFtdcMacAddressType MacAddress;

///动态密码

TThostFtdcPasswordType OneTimePassword;

///终端IP地址

TThostFtdcIPAddressType ClientIPAddress;

///登录备注

TThostFtdcLoginRemarkType LoginRemark;

};

l UserID：操作员代码，之后的investorid需要属于该操作员管理下。

l UserProductInfo：客户端的产品信息，如软件开发商、版本号等，例如：SFITTraderV100。

l LoginRemark：可以写登录备注，能够被交易系统的日志查询到。

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcReqUserLoginField reqUserLogin = { 0 };

strcpy_s(reqUserLogin.BrokerID, "9999");

strcpy_s(reqUserLogin.UserID, "1000001");

strcpy_s(reqUserLogin.Password, "123456");

m_pUserApi->ReqUserLogin2(&reqUserLogin, nRequestID++);


CThostFtdcTraderApi

ReqUserPasswordUpdate2

说明

用户口令更新请求2，与1相比使用了新的加密算法，对应响应OnRspUserPasswordUpdate。

在638_0915升级后新增的ReqUserPasswordUpdate2使用了新的加密算法，ReqUserPasswordUpdate能兼容新老前置，ReqUserPasswordUpdate2只能登录新前置。具体情况咨询期货公司。

柜台系统V6.3.8P20170915补丁及以上版本的front建议使用“ReqUserLogin2”及“ReqUserPasswordUpdate2”接口。

函数原型

virtual int ReqUserPasswordUpdate2(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0;

参数

///用户口令变更

struct CThostFtdcUserPasswordUpdateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///原来的口令

TThostFtdcPasswordType OldPassword;

///新的口令

TThostFtdcPasswordType NewPassword;

};

l NewPassword：新密码需要符合复杂度要求，不然修改失败。

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcUserPasswordUpdateField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.UserID, "1000001");

strcpy_s(a.OldPassword, "123456");

strcpy_s(a.NewPassword, "666666");

m_pUserApi->ReqUserPasswordUpdate2(&a, nRequestID++);


CThostFtdcTraderApi

ReqOrderInsert

说明

报单录入请求，录入错误时对应响应OnRspOrderInsert、OnErrRtnOrderInsert，正确时对应回报OnRtnOrder、OnRtnTrade。

可以录入限价单、市价单、条件单等交易所支持的指令，撤单时使用ReqOrderAction。

不支持预埋单录入，预埋单请使用ReqParkedOrderInsert。

函数原型

virtual int ReqOrderInsert(CThostFtdcInputOrderField *pInputOrder, int nRequestID) = 0;

参数

///输入报单

struct CThostFtdcInputOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///报单价格条件

TThostFtdcOrderPriceTypeType OrderPriceType;

///买卖方向

TThostFtdcDirectionType Direction;

///组合开平标志

TThostFtdcCombOffsetFlagType CombOffsetFlag;

///组合投机套保标志

TThostFtdcCombHedgeFlagType CombHedgeFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量

TThostFtdcVolumeType VolumeTotalOriginal;

///有效期类型

TThostFtdcTimeConditionType TimeCondition;

///GTD日期

TThostFtdcDateType GTDDate;

///成交量类型

TThostFtdcVolumeConditionType VolumeCondition;

///最小成交量

TThostFtdcVolumeType MinVolume;

///触发条件

TThostFtdcContingentConditionType ContingentCondition;

///止损价

TThostFtdcPriceType StopPrice;

///强平原因

TThostFtdcForceCloseReasonType ForceCloseReason;

///自动挂起标志

TThostFtdcBoolType IsAutoSuspend;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///请求编号

TThostFtdcRequestIDType RequestID;

///用户强评标志

TThostFtdcBoolType UserForceClose;

///互换单标志

TThostFtdcBoolType IsSwapOrder;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OrderPriceType：确定输入的报单类型，比如限价单则填写THOST_FTDC_OPT_LimitPrice、市价单则填写THOST_FTDC_OPT_AnyPrice。

l Direction：确定买卖方向

l CombOffsetFlag：确定开平标志。注:上期所、能源交易所有平今指令，下平仓指令和平昨指令相同

l CombHedgeFlag：确定投机套保标志 例:投机 THOST_FTDC_BHF_Speculation

l TimeCondition：确定报单有效期类型 例:立即完成，否则撤销 THOST_FTDC_TC_IOC

l VolumeCondition：确定成交量类型

l ContingentCondition：确定触发条件

l StopPrice：止损价，用于条件单的触发价格

l ForceCloseReason：普通用户下单填写THOST_FTDC_FCC_NotForceClose 非强平

l IsSwapOrder：暂不支持互换单，填0

l CurrencyID：不填写默认为CNY

l OrderRef：OrderRef是本地会话全局唯一编号，必须保持递增；可由用户维护，也可由系统自动填写。

l IPAddress：手工填写本机IP地址，不自动获取。

l MacAddress：手工填写本机Mac地址，不自动获取。

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

//限价单:

CThostFtdcInputOrderField ord = { 0 };

strcpy_s(ord.BrokerID, “0000”);

strcpy_s(ord.InvestorID, “00001”);

strcpy_s(ord.ExchangeID, “SHFE”);

strcpy_s(ord.InstrumentID, “ag1801”);

strcpy_s(ord.UserID, “00001”);

ord.OrderPriceType = THOST_FTDC_OPT_LimitPrice;//限价

ord.Direction = THOST_FTDC_D_Buy;//买

ord.CombOffsetFlag[0] = THOST_FTDC_OF_Open;//开

ord.CombHedgeFlag[0] = THOST_FTDC_ECIDT_Speculation;//投机

ord.LimitPrice = 100;

ord.VolumeTotalOriginal = 1;

ord.TimeCondition = THOST_FTDC_TC_GFD;///当日有效

ord.VolumeCondition = THOST_FTDC_VC_CV;///全部数量

ord.MinVolume = 1;

ord.ContingentCondition = THOST_FTDC_CC_Immediately;

ord.StopPrice = 0;

ord.ForceCloseReason = THOST_FTDC_FCC_NotForceClose;

ord.IsAutoSuspend = 0;

m_pUserApi->ReqOrderInsert(&ord, nRequestID++);

FAQ

l 郑商所白糖期权的跨式和宽跨式套利指令，在ctp里如何实现

和普通的限价单类似，不同的地方是在填写InstrumentID的时候

郑商所跨式组合（STD）: STD SR703C5300&SR703P5300

郑商所宽跨式组合（STG): STG SR703C5300&SR703P5200

支持FAK和FOK

l 郑商所的组合合约下单，TimeCondition应该用THOST_FTDC_TC_IOC（1），否则交易所返回“已撤单报单被拒绝CZCE:出错:不支持无限制期权组合订单”之类的报错。

l 如果下单后遇到报错“ctp：每秒报单数超过许可数”，则是由于报单频率太快被前置流控所致。投资者可询问期货公司具体的流控设置；期货公司可以自行查看FLEX"程序化交易频繁报撤单管理"中的设置，以及Front的流控配置。

l “CTP:报单错误：不允许重复报单”，表示OrderRef没有递增。

l “CTP:无此权限”，可能InvestorID填写错误，或者该InvestorID不属于UserID的组织架构下。

l “CTP:交易所未处理请求超过许可数”，表示报单频率过快，超过了交易所的流控。

l “CTP:交易所每秒发送请求数超过许可数”，表示报单频率过快，超过了交易所的流控。


CThostFtdcTraderApi

ReqParkedOrderInsert

说明

预埋单录入请求

响应: OnRspParkedOrderInsert

函数原型

virtual int ReqParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, int nRequestID) = 0;

参数

///预埋单

struct CThostFtdcParkedOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///报单价格条件

TThostFtdcOrderPriceTypeType OrderPriceType;

///买卖方向

TThostFtdcDirectionType Direction;

///组合开平标志

TThostFtdcCombOffsetFlagType CombOffsetFlag;

///组合投机套保标志

TThostFtdcCombHedgeFlagType CombHedgeFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量

TThostFtdcVolumeType VolumeTotalOriginal;

///有效期类型

TThostFtdcTimeConditionType TimeCondition;

///GTD日期

TThostFtdcDateType GTDDate;

///成交量类型

TThostFtdcVolumeConditionType VolumeCondition;

///最小成交量

TThostFtdcVolumeType MinVolume;

///触发条件

TThostFtdcContingentConditionType ContingentCondition;

///止损价

TThostFtdcPriceType StopPrice;

///强平原因

TThostFtdcForceCloseReasonType ForceCloseReason;

///自动挂起标志

TThostFtdcBoolType IsAutoSuspend;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///请求编号

TThostFtdcRequestIDType RequestID;

///用户强评标志

TThostFtdcBoolType UserForceClose;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///预埋报单编号

TThostFtdcParkedOrderIDType ParkedOrderID;

///用户类型

TThostFtdcUserTypeType UserType;

///预埋单状态

TThostFtdcParkedOrderStatusType Status;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///互换单标志

TThostFtdcBoolType IsSwapOrder;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OrderPriceType：确定输入的报单类型，比如限价单则填写THOST_FTDC_OPT_LimitPrice、市价单则填写THOST_FTDC_OPT_AnyPrice。

l Direction：确定买卖方向

l CombOffsetFlag：确定开平标志。注:上期所、能源交易所有平今指令，下平仓指令和平昨指令相同

l CombHedgeFlag：确定投机套保标志 例:投机 THOST_FTDC_BHF_Speculation

l TimeCondition：确定报单有效期类型 例:立即完成，否则撤销 THOST_FTDC_TC_IOC

l VolumeCondition：确定成交量类型

l ContingentCondition：确定触发条件

l StopPrice：止损价，用于条件单的触发价格

l ForceCloseReason：一般填写THOST_FTDC_FCC_NotForceClose 非强平

l IsSwapOrder：用户互换单的标志，只有互换单需要填写，是互换单的则赋值为1

l CurrencyID：不填写默认为CNY

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcParkedOrderField a = { 0 };

strcpy(a.BrokerID, "9999");

strcpy(a.InvestorID, "1000001");

strcpy(a.InstrumentID, "rb1809");

strcpy(a.UserID, "1000001");

strcpy(a.ExchangeID, "SHFE");

a.OrderPriceType = THOST_FTDC_OPT_LimitPrice;

a.Direction = THOST_FTDC_D_Buy;

strcpy(a.CombOffsetFlag, "0");

strcpy(a.CombHedgeFlag, "1");

a.LimitPrice = 400;

a.VolumeTotalOriginal = 1;

a.TimeCondition = THOST_FTDC_TC_GFD;

strcpy(a.GTDDate, "");

a.VolumeCondition = THOST_FTDC_VC_CV;

a.MinVolume = 0;

a.ContingentCondition = THOST_FTDC_CC_Immediately;

a.StopPrice = 0;

a.ForceCloseReason = THOST_FTDC_FCC_NotForceClose;

a.IsAutoSuspend = 0;

m_pUserApi->ReqParkedOrderInsert(&a, nRequestID++);


CThostFtdcTraderApi

ReqParkedOrderAction

说明

预埋撤单录入请求

响应: OnRspQryParkedOrderAction

函数原型

virtual int ReqParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, int nRequestID) = 0;

参数

///输入预埋单操作

struct CThostFtdcParkedOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报单操作引用

TThostFtdcOrderActionRefType OrderActionRef;

///报单引用

TThostFtdcOrderRefType OrderRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量变化

TThostFtdcVolumeType VolumeChange;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///预埋撤单单编号

TThostFtdcParkedOrderActionIDType ParkedOrderActionID;

///用户类型

TThostFtdcUserTypeType UserType;

///预埋撤单状态

TThostFtdcParkedOrderStatusType Status;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OrderRef：对应要撤销的那笔报单的报单引用

l FrontID: 对应要撤销的那笔报单的前置编号

l SessionID: 对应要撤销的那笔报单的会话编号

l ExchangeID: 对应要撤销的那笔报单的交易所ID

l OrderSysID: 对应要撤销的那笔报单的报单编号

l ActionFlag：只支持删除，不支持修改

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcParkedOrderActionField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.ExchangeID, "SHFE");

strcpy_s(a.OrderSysID, " 10061782");

strcpy_s(a.UserID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

ActionFlag = THOST_FTDC_AF_Delete;

m_pUserApi->ReqParkedOrderAction(&a, nRequestID++);


CThostFtdcTraderApi

ReqOrderAction

说明

报单操作请求

错误响应: OnRspOrderAction，OnErrRtnOrderAction

正确响应：OnRtnOrder

函数原型

virtual int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID) = 0;

参数

///输入报单操作

struct CThostFtdcInputOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报单操作引用

TThostFtdcOrderActionRefType OrderActionRef;

///报单引用

TThostFtdcOrderRefType OrderRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量变化

TThostFtdcVolumeType VolumeChange;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OrderRef：对应要撤销的那笔报单的报单引用

l FrontID: 对应要撤销的那笔报单的前置编号

l SessionID: 对应要撤销的那笔报单的会话编号

l ExchangeID: 对应要撤销的那笔报单的交易所ID

l OrderSysID: 对应要撤销的那笔报单的报单编号

l ActionFlag：只支持删除，不支持修改

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

//第一种方法，使用OrderSysID撤单

CThostFtdcInputOrderActionField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.UserID, "1000001");

strcpy_s(a.OrderSysID, " 131"); //对应要撤报单的OrderSysID

strcpy_s(a.ExchangeID, "SHFE");

strcpy_s(a.InstrumentID, "rb1809");

ActionFlag = THOST_FTDC_AF_Delete;

m_pUserApi->ReqOrderAction(&a, nRequestID++);

//第二种方法，使用FrontID+SessionID+OrderRef撤单

CThostFtdcInputOrderActionField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.UserID, "1000001");

a.FrontID = 1; //对应要撤报单的FrontID

a.SessionID = -788541; //对应要撤报单的sessionid

strcpy_s(a.OrderRef, " 3"); //对应要撤报单的OrderRef

strcpy_s(a.ExchangeID, "SHFE");

strcpy_s(a.InstrumentID, "rb1809");

ActionFlag = THOST_FTDC_AF_Delete;

m_pUserApi->ReqOrderAction(&a, nRequestID++);


CThostFtdcTraderApi

ReqQueryMaxOrderVolume

说明

查询最大报单数量请求，对应响应OnRspQueryMaxOrderVolume。

虽然ReqQueryMaxOrderVolume可以查询可开，但是交易核心在计算的时候是没有算手续费的，所以不完全准；如果需要精确结果的，建议自行计算。另外，可平的查询是已经排除了冻结持仓的。

函数原型

virtual int ReqQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, int nRequestID) = 0;

参数

///查询最大报单数量

struct CThostFtdcQueryMaxOrderVolumeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///买卖方向

TThostFtdcDirectionType Direction;

///开平标志

TThostFtdcOffsetFlagType OffsetFlag;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///最大允许报单数量

TThostFtdcVolumeType MaxVolume;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQueryMaxOrderVolumeField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

a.Direction = THOST_FTDC_D_Buy;

a.OffsetFlag = THOST_FTDC_OF_Open;

a.HedgeFlag = THOST_FTDC_HF_Speculation;

a.MaxVolume = 1;

strcpy_s(a.BrokerID, "9999");

m_pUserApi->ReqQueryMaxOrderVolume(&a, nRequestID++);


CThostFtdcTraderApi

ReqSettlementInfoConfirm

说明

投资者结算结果确认，在开始每日交易前都需要先确认上一日结算单，只需要确认一次。对应响应OnRspSettlementInfoConfirm。

函数原型

virtual int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) = 0;

参数

///投资者结算结果确认信息

struct CThostFtdcSettlementInfoConfirmField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///确认日期

TThostFtdcDateType ConfirmDate;

///确认时间

TThostFtdcTimeType ConfirmTime;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcSettlementInfoConfirmField Confirm = { 0 };

strcpy_s(Confirm.BrokerID, "9999");

strcpy_s(Confirm.InvestorID, "1000001");

m_pUserApi->ReqSettlementInfoConfirm(&Confirm, nRequestID++);


CThostFtdcTraderApi

ReqRemoveParkedOrder

说明

请求删除预埋单，对应响应OnRspRemoveParkedOrder。该函数用于删除已经报入但未触发的某笔预埋报单，注意跟ReqRemoveParkedOrderAction的区别。

函数原型

virtual int ReqRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, int nRequestID) = 0;

参数

///删除预埋单

struct CThostFtdcRemoveParkedOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///预埋报单编号

TThostFtdcParkedOrderIDType ParkedOrderID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

l ParkedOrderID：对应的预埋报单编号，指定要删除的预埋报单。

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

示例调用

CThostFtdcRemoveParkedOrderField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.ParkedOrderID, " 5");

m_pUserApi->ReqRemoveParkedOrder(&a, nRequestID++);


CThostFtdcTraderApi

ReqRemoveParkedOrderAction

说明

请求删除预埋撤单，对应响应OnRspRemoveParkedOrderAction。该函数用于删除已经报入但未触发的某笔预埋撤单，注意是预埋撤单，而不是预埋报单。删除预埋报单使用ReqRemoveParkedOrder。

函数原型

virtual int ReqRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, int nRequestID) = 0;

参数

///删除预埋撤单

struct CThostFtdcRemoveParkedOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///预埋撤单编号

TThostFtdcParkedOrderActionIDType ParkedOrderActionID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

l ParkedOrderActionID：对应的要删除的预埋撤单编号

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcRemoveParkedOrderActionField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.ParkedOrderActionID, "1");

m_pUserApi->ReqRemoveParkedOrderAction(&a, nRequestID++);


CThostFtdcTraderApi

ReqExecOrderInsert

说明

执行宣告录入请求

错误响应: OnErrRtnExecOrderInsert，OnRspExecOrderInsert

正确响应: OnRtnExecOrder

函数原型

virtual int ReqExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, int nRequestID) = 0;

参数

///输入的执行宣告

struct CThostFtdcInputExecOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///执行宣告引用

TThostFtdcOrderRefType ExecOrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///数量

TThostFtdcVolumeType Volume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///开平标志

TThostFtdcOffsetFlagType OffsetFlag;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///执行类型

TThostFtdcActionTypeType ActionType;

///保留头寸申请的持仓方向

TThostFtdcPosiDirectionType PosiDirection;

///期权行权后是否保留期货头寸的标记,该字段已废弃

TThostFtdcExecOrderPositionFlagType ReservePositionFlag;

///期权行权后生成的头寸是否自动平仓

TThostFtdcExecOrderCloseFlagType CloseFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcInputExecOrderField OrderInsert = { 0 };

strcpy_s(OrderInsert.BrokerID, "9999");

strcpy_s(OrderInsert.InvestorID, "1000001");

strcpy_s(OrderInsert.InstrumentID, "rb1809");

strcpy_s(OrderInsert.ExchangeID, "SHFE");

strcpy_s(OrderInsert.ExecOrderRef, "00001");

strcpy_s(OrderInsert.UserID, "1000001");

OrderInsert.Volume = 1;

OrderInsert.RequestID = 1;

OrderInsert.OffsetFlag = THOST_FTDC_OF_Close;//开平标志

OrderInsert.HedgeFlag = THOST_FTDC_HF_Speculation;//投机套保标志

OrderInsert.ActionType = THOST_FTDC_ACTP_Exec;//执行类型类型

OrderInsert.PosiDirection = THOST_FTDC_PD_Long;//持仓多空方向类型

OrderInsert.ReservePositionFlag = THOST_FTDC_EOPF_Reserve;//期权行权后是否保留期货头寸的标记类型

OrderInsert.CloseFlag = THOST_FTDC_EOCF_NotToClose;//期权行权后生成的头寸是否自动平仓类型

m_pUserApi->ReqExecOrderInsert(&OrderInsert, nRequestID++);


CThostFtdcTraderApi

ReqExecOrderAction

说明

执行宣告操作请求

错误响应: OnErrRtnExecOrderAction，OnRspExecOrderAction

正确响应: OnRtnExecOrder

函数原型

virtual int ReqExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, int nRequestID) = 0;

参数

///输入执行宣告操作

struct CThostFtdcInputExecOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///执行宣告操作引用

TThostFtdcOrderActionRefType ExecOrderActionRef;

///执行宣告引用

TThostFtdcOrderRefType ExecOrderRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///执行宣告操作编号

TThostFtdcExecOrderSysIDType ExecOrderSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ActionFlag：一般都是删除操作，不支持修改

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcInputExecOrderActionField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

a.ExecOrderActionRef = 1;

strcpy_s(a.ExecOrderRef, "00000003");

a.FrontID = 1;

a.SessionID = -7844256;

strcpy_s(a.ExchangeID, "SHFE");

strcpy_s(a.ExecOrderSysID, " 285");

a.ActionFlag = THOST_FTDC_AF_Delete;//删除

strcpy_s(a.UserID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

m_pUserApi->ReqExecOrderAction(&a, nRequestID++);


CThostFtdcTraderApi

ReqForQuoteInsert

说明

询价录入请求

错误响应: OnErrRtnForQuoteInsert，OnRspForQuoteInsert

正确响应: OnRtnForQuoteRsp

函数原型

virtual int ReqForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, int nRequestID) = 0;

参数

///输入的询价

struct CThostFtdcInputForQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///询价引用

TThostFtdcOrderRefType ForQuoteRef;

///用户代码

TThostFtdcUserIDType UserID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcInputForQuoteField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

strcpy_s(a.UserID, "1000001");

strcpy_s(a.ExchangeID, "SHFE");

m_pUserApi->ReqForQuoteInsert(&a, nRequestID++);

FAQ

l 询价时报：“没有该合约的做市商”,表示询价合约不对。


CThostFtdcTraderApi

ReqQuoteInsert

说明

报价录入请求，如果出错，则返回响应OnRspQuoteInsert和OnErrRtnQuoteInsert；正确则推送OnRtnQuote、OnRtnOrder和OnRtnTrade。

单边报价和双边报价，都是用一个接口 ReqQuoteInsert。需要注意的是，在单边报价的时候，只需要另一边的数量填0，交易核心就能区分开。另外，无论是单边还是双边，Ask/BidOrderRef都是要填的。

函数原型

virtual int ReqQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, int nRequestID) = 0;

参数

///输入的报价

struct CThostFtdcInputQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报价引用

TThostFtdcOrderRefType QuoteRef;

///用户代码

TThostFtdcUserIDType UserID;

///卖价格

TThostFtdcPriceType AskPrice;

///买价格

TThostFtdcPriceType BidPrice;

///卖数量

TThostFtdcVolumeType AskVolume;

///买数量

TThostFtdcVolumeType BidVolume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///卖开平标志

TThostFtdcOffsetFlagType AskOffsetFlag;

///买开平标志

TThostFtdcOffsetFlagType BidOffsetFlag;

///卖投机套保标志

TThostFtdcHedgeFlagType AskHedgeFlag;

///买投机套保标志

TThostFtdcHedgeFlagType BidHedgeFlag;

///衍生卖报单引用

TThostFtdcOrderRefType AskOrderRef;

///衍生买报单引用

TThostFtdcOrderRefType BidOrderRef;

///应价编号

TThostFtdcOrderSysIDType ForQuoteSysID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ForQuoteSysID：询价编号，用于唯一定位一笔询价

l BidOrderRef：要比AskOrderRef大。

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

示例调用

CThostFtdcInputQuoteField t = { 0 };

strcpy_s(t.BrokerID, "9999");

strcpy_s(t.InvestorID, "1000001");

strcpy_s(t.InstrumentID, "rb1809");

strcpy_s(t.UserID, "1000001");

strcpy_s(t.ExchangeID, "SHFE");

t.AskPrice = 200;

t.BidPrice = 150;

t.AskVolume = 1;

t.BidVolume = 1;

t.AskOffsetFlag = THOST_FTDC_OF_Open;///卖开平标志

t.BidOffsetFlag = THOST_FTDC_OF_Open;///买开平标志

t.AskHedgeFlag = THOST_FTDC_HF_Hedge;///卖投机套保标志

t.BidHedgeFlag = THOST_FTDC_HF_Hedge;///买投机套保标志

_itoa_s(OrderRef, t.AskOrderRef, 10);///衍生卖报单引用

OrderRef++;

_itoa_s(OrderRef, t.BidOrderRef, 10);///衍生买报单引用

OrderRef++;

m_pUserApi->ReqQuoteInsert(&t, nRequestID++);

FAQ

询价时报：“没有该合约的做市商”, 是因为询价合约不对，目前期权合约可以参加询价。

l 询价时报：“CTP：当前时间禁止询价”, 是因为期货公司一般把询价限制时间设置为60秒询价一次，周期内不能多次询价。

l 询价时报：“CTP：当前价差禁止询价”，

交易所有询价价差的限制，期货公司可以在柜台上进行设置，一般如下：

经纪公司代码 | 合约代码 | 交易所代码 | 最新价 | 价差
1008 | SRC | CZCE | 0 | 8
1008 | SRC | CZCE | 50 | 10
1008 | SRC | CZCE | 100 | 20
1008 | SRC | CZCE | 200 | 30
1008 | SRC | CZCE | 300 | 50
1008 | SRC | CZCE | 500 | 75

询价价差的判断过程

1）看最新价对应于上面的哪一档次，确定价差的最小值

2）计算买价和卖价的价差，看是否大于设置的价差（等于也不行）

如果2）通过，那么询价单报入交易所，否则会被CTP直接拒绝。

l 如果报“非法的做市商响应”，可能是所用交易编码非做市商专用所致


CThostFtdcTraderApi

ReqQuoteAction

说明

报价操作请求，用于撤销报价

错误响应:OnRspQuoteAction OnErrRtnQuoteAction

正确响应:OnRtnQuote OnRtnOrder

函数原型

virtual int ReqQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, int nRequestID) = 0;

参数

///输入报价操作

struct CThostFtdcInputQuoteActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报价操作引用

TThostFtdcOrderActionRefType QuoteActionRef;

///报价引用

TThostFtdcOrderRefType QuoteRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报价操作编号

TThostFtdcOrderSysIDType QuoteSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l FrontID：对应要撤销的报价的前置编号

l SessionID：对应要撤销的报价的会话编号

l QuoteSysID: 对应要撤销的报价的编号

l ActionFlag：操作标志，支持删除，目前不支持改单。想实现改单操作可以先撤销之后再重新报单。

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcInputQuoteActionField t = { 0 };

strcpy_s(t.BrokerID, "9999");

strcpy_s(t.InvestorID, "1000001");

strcpy_s(t.UserID, "1000001");

strcpy_s(t.ExchangeID, "SHFE");

strcpy_s(t.QuoteRef, " 1");

t.FrontID = 1;

t.SessionID = 6442531;

t.ActionFlag = THOST_FTDC_AF_Delete;

strcpy_s(t.InstrumentID, "rb1809");

m_pUserApi->ReqQuoteAction(&t, nRequestID++);


CThostFtdcTraderApi

ReqBatchOrderAction

说明

批量报单操作请求

错误回报: OnErrRtnBatchOrderAction，OnRspBatchOrderAction

正确回报：OnRtnOrder

函数原型

virtual int ReqBatchOrderAction(CThostFtdcInputBatchOrderActionField *pInputBatchOrderAction, int nRequestID) = 0;

参数

///输入批量报单操作

struct CThostFtdcInputBatchOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报单操作引用

TThostFtdcOrderActionRefType OrderActionRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///用户代码

TThostFtdcUserIDType UserID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqOptionSelfCloseInsert

说明

期权自对冲录入请求

错误响应: OnErrRtnOptionSelfCloseInsert，OnRspOptionSelfCloseInsert

正确响应: OnRtnOptionSelfClose

函数原型

virtual int ReqOptionSelfCloseInsert(CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, int nRequestID) = 0;

参数

///输入的期权自对冲

struct CThostFtdcInputOptionSelfCloseField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///期权自对冲引用

TThostFtdcOrderRefType OptionSelfCloseRef;

///用户代码

TThostFtdcUserIDType UserID;

///数量

TThostFtdcVolumeType Volume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///期权行权的头寸是否自对冲

TThostFtdcOptSelfCloseFlagType OptSelfCloseFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcInputOptionSelfCloseField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

strcpy_s(a.UserID, "1000001");

a.Volume = 1;

a.HedgeFlag = THOST_FTDC_HF_Speculation;

a.OptSelfCloseFlag = THOST_FTDC_OSCF_CloseSelfOptionPosition;

strcpy_s(a.ExchangeID, "SHFE");

strcpy_s(a.AccountID, "1000001");

strcpy_s(a.CurrencyID, "CNY");

m_pUserApi->ReqOptionSelfCloseInsert(&a, nRequestID++);


CThostFtdcTraderApi

ReqOptionSelfCloseAction

说明

期权自对冲操作请求

错误响应: OnErrRtnOptionSelfCloseAction，OnRspOptionSelfCloseAction

正确响应: OnRtnOptionSelfClose

函数原型

virtual int ReqOptionSelfCloseAction(CThostFtdcInputOptionSelfCloseActionField *pInputOptionSelfCloseAction, int nRequestID) = 0;

参数

///输入期权自对冲操作

struct CThostFtdcInputOptionSelfCloseActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///期权自对冲操作引用

TThostFtdcOrderActionRefType OptionSelfCloseActionRef;

///期权自对冲引用

TThostFtdcOrderRefType OptionSelfCloseRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///期权自对冲操作编号

TThostFtdcOrderSysIDType OptionSelfCloseSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OptionSelfCloseRef：对应要撤销的期权自对冲的引用

l FrontID：对应要撤销的期权自对冲的前置编号

l SessionID：对应要撤销的期权自对冲的会话编号

l ExchangeID：对应要撤销的期权自对冲的交易所编号

l ActionFlag：支持删除，不支持修改

l InstrumentID：对应要撤销的期权自对冲的合约代码

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcInputOptionSelfCloseActionField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.OptionSelfCloseRef, "000000258");//期权自对冲引用

a.FrontID = 1;

a.SessionID = 6442531;

strcpy_s(a.ExchangeID, "SHFE");

a.ActionFlag = THOST_FTDC_AF_Delete;

strcpy_s(a.UserID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

m_pUserApi->ReqOptionSelfCloseAction(&a, nRequestID++);


CThostFtdcTraderApi

ReqCombActionInsert

说明

申请组合录入请求

错误响应: OnErrRtnCombActionInsert，OnRspCombActionInsert

正确响应: OnRtnCombAction

函数原型

virtual int ReqCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, int nRequestID) = 0;

参数

///输入的申请组合

struct CThostFtdcInputCombActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///组合引用

TThostFtdcOrderRefType CombActionRef;

///用户代码

TThostFtdcUserIDType UserID;

///买卖方向

TThostFtdcDirectionType Direction;

///数量

TThostFtdcVolumeType Volume;

///组合指令方向

TThostFtdcCombDirectionType CombDirection;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryOrder

说明

请求查询报单

响应: OnRspQryOrder

函数原型

virtual int ReqQryOrder(CThostFtdcQryOrderField *pQryOrder, int nRequestID) = 0;

参数

///查询报单

struct CThostFtdcQryOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///开始时间

TThostFtdcTimeType InsertTimeStart;

///结束时间

TThostFtdcTimeType InsertTimeEnd;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryOrderField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.ExchangeID, "SHFE");

m_pUserApi->ReqQryOrder(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryTrade

说明

请求查询成交

响应: OnRspQryTrade

函数原型

virtual int ReqQryTrade(CThostFtdcQryTradeField *pQryTrade, int nRequestID) = 0;

参数

///查询成交

struct CThostFtdcQryTradeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///成交编号

TThostFtdcTradeIDType TradeID;

///开始时间

TThostFtdcTimeType TradeTimeStart;

///结束时间

TThostFtdcTimeType TradeTimeEnd;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryInvestorPosition

说明

请求查询投资者持仓，对应响应OnRspQryInvestorPosition。CTP系统将持仓明细记录按合约，持仓方向，开仓日期（仅针对上期所，区分昨仓、今仓）进行汇总。

函数原型

virtual int ReqQryInvestorPosition(CThostFtdcQryInvestorPositionField *pQryInvestorPosition, int nRequestID) = 0;

参数

///查询投资者持仓

struct CThostFtdcQryInvestorPositionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryInvestorPositionField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");//不填写合约则返回所有持仓

m_pUserApi->ReqQryInvestorPosition(&a, 1);


CThostFtdcTraderApi

ReqQryTradingAccount

说明

请求查询资金账户，

响应: OnRspQryTradingAccount

函数原型

virtual int ReqQryTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) = 0;

参数

///查询资金账户

struct CThostFtdcQryTradingAccountField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///业务类型

TThostFtdcBizTypeType BizType;

///投资者帐号

TThostFtdcAccountIDType AccountID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryTradingAccountField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.CurrencyID, "CNY");

m_pUserApi->ReqQryTradingAccount(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryInvestor

说明

请求查询投资者

响应：OnRspQryInvestor

函数原型

virtual int ReqQryInvestor(CThostFtdcQryInvestorField *pQryInvestor, int nRequestID) = 0;

参数

///查询投资者

struct CThostFtdcQryInvestorField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryInvestorField a = { 0 };

strcpy(a.BrokerID, "9999");

strcpy(a.InvestorID, "1000001");

m_pUserApi->ReqQryInvestor(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryTradingCode

说明

请求查询交易编码

响应: OnRspQryTradingCode

函数原型

virtual int ReqQryTradingCode(CThostFtdcQryTradingCodeField *pQryTradingCode, int nRequestID) = 0;

参数

///查询交易编码

struct CThostFtdcQryTradingCodeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///客户代码

TThostFtdcClientIDType ClientID;

///交易编码类型

TThostFtdcClientIDTypeType ClientIDType;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryInstrumentMarginRate

说明

请求查询合约保证金率，对应响应OnRspQryInstrumentMarginRate。如果InstrumentID填空，则返回持仓对应的合约保证金率，否则返回相应InstrumentID的保证金率。目前无法通过一次查询得到所有合约保证金率，如果要查询所有，则需要通过多次查询得到。

函数原型

virtual int ReqQryInstrumentMarginRate(CThostFtdcQryInstrumentMarginRateField *pQryInstrumentMarginRate, int nRequestID) = 0;

参数

///查询合约保证金率

struct CThostFtdcQryInstrumentMarginRateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryInstrumentMarginRateField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

a.HedgeFlag = THOST_FTDC_HF_Speculation;

m_pUserApi->ReqQryInstrumentMarginRate(&a, 1);


CThostFtdcTraderApi

ReqQryInstrumentCommissionRate

说明

请求查询合约手续费率，对应响应OnRspQryInstrumentCommissionRate。如果InstrumentID填空，则返回持仓对应的合约手续费率。目前无法通过一次查询得到所有合约手续费率，如果要查询所有，则需要通过多次查询得到。

函数原型

virtual int ReqQryInstrumentCommissionRate(CThostFtdcQryInstrumentCommissionRateField *pQryInstrumentCommissionRate, int nRequestID) = 0;

参数

///查询手续费率

struct CThostFtdcQryInstrumentCommissionRateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

l InstrumentID：返回手续费率对应的合约；但是如果在柜台没有设置具体合约的手续费率，则默认会返回产品的手续费率，InstrumentID就为对应产品ID。

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryInstrumentCommissionRateField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

m_pUserApi->ReqQryInstrumentCommissionRate(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryExchange

说明

请求查询交易所

响应: OnRspQryExchange

函数原型

virtual int ReqQryExchange(CThostFtdcQryExchangeField *pQryExchange, int nRequestID) = 0;

参数

///查询交易所

struct CThostFtdcQryExchangeField

{

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryProduct

说明

请求查询产品

响应: OnRspQryProduct

函数原型

virtual int ReqQryProduct(CThostFtdcQryProductField *pQryProduct, int nRequestID) = 0;

参数

///查询产品

struct CThostFtdcQryProductField

{

///产品代码

TThostFtdcInstrumentIDType ProductID;

///产品类型

TThostFtdcProductClassType ProductClass;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryProductField a = { 0 };

strcpy_s(a.ProductID, "sc");

a.ProductClass = THOST_FTDC_PC_Futures;

strcpy_s(a.ExchangeID, "SHFE");

m_pUserApi->ReqQryProduct(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryInstrument

说明

请求查询合约

响应:OnRspQryInstrument

函数原型

virtual int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID) = 0;

参数

///查询合约

struct CThostFtdcQryInstrumentField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///产品代码

TThostFtdcInstrumentIDType ProductID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryInstrumentField a = { 0 };

strcpy_s(a.InstrumentID, "rb1809");

strcpy_s(a.ExchangeID, "SHFE");

m_pUserApi->ReqQryInstrument(&a, nRequestID++);

FAQ

郑商所没有推跨式和宽跨式套利合约，所以查询不到此类合约


CThostFtdcTraderApi

ReqQryDepthMarketData

说明

请求查询行情

响应: OnRspQryDepthMarketData

函数原型

virtual int ReqQryDepthMarketData(CThostFtdcQryDepthMarketDataField *pQryDepthMarketData, int nRequestID) = 0;

参数

///查询行情

struct CThostFtdcQryDepthMarketDataField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQrySettlementInfo

说明

请求查询投资者结算结果，对应响应OnRspQrySettlementInfo。可以查询当天或历史结算单，也可以查询月结算单，但是前提是CTP柜台生成了相应的日或月结算单。

函数原型

virtual int ReqQrySettlementInfo(CThostFtdcQrySettlementInfoField *pQrySettlementInfo, int nRequestID) = 0;

参数

///查询投资者结算结果

struct CThostFtdcQrySettlementInfoField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///交易日

TThostFtdcDateType TradingDay;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

l TradingDay：查询某一天的结算单，填写格式为“yyyymmdd”；查询某一月的结算单，填写格式为“yyyymm”

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQrySettlementInfoField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.TradingDay,“20180101”);

m_pUserApi->ReqQrySettlementInfo(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryTransferBank

说明

请求查询转帐银行

响应: OnRspQryTransferBank

函数原型

virtual int ReqQryTransferBank(CThostFtdcQryTransferBankField *pQryTransferBank, int nRequestID) = 0;

参数

///查询转帐银行

struct CThostFtdcQryTransferBankField

{

///银行代码

TThostFtdcBankIDType BankID;

///银行分中心代码

TThostFtdcBankBrchIDType BankBrchID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryInvestorPositionDetail

说明

请求查询投资者持仓明细，对应响应OnRspQryInvestorPositionDetail。

CTP系统根据来自交易所的成交记录生成持仓明细记录，一笔成交记录对应一条持仓明细记录。

函数原型

virtual int ReqQryInvestorPositionDetail(CThostFtdcQryInvestorPositionDetailField *pQryInvestorPositionDetail, int nRequestID) = 0;

参数

///查询投资者持仓明细

struct CThostFtdcQryInvestorPositionDetailField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryNotice

说明

请求查询客户通知

响应: OnRspQryNotice

函数原型

virtual int ReqQryNotice(CThostFtdcQryNoticeField *pQryNotice, int nRequestID) = 0;

参数

///查询客户通知

struct CThostFtdcQryNoticeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQrySettlementInfoConfirm

说明

请求查询结算信息确认

响应: OnRspQrySettlementInfoConfirm

函数原型

virtual int ReqQrySettlementInfoConfirm(CThostFtdcQrySettlementInfoConfirmField *pQrySettlementInfoConfirm, int nRequestID) = 0;

参数

///查询结算信息确认域

struct CThostFtdcQrySettlementInfoConfirmField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryInvestorPositionCombineDetail

说明

请求查询投资者持仓明细

响应: OnRspQryInvestorPositionCombineDetail

函数原型

virtual int ReqQryInvestorPositionCombineDetail(CThostFtdcQryInvestorPositionCombineDetailField *pQryInvestorPositionCombineDetail, int nRequestID) = 0;

参数

///查询组合持仓明细

struct CThostFtdcQryInvestorPositionCombineDetailField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///组合持仓合约编码

TThostFtdcInstrumentIDType CombInstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryCFMMCTradingAccountKey

说明

请求查询保证金监管系统经纪公司资金账户密钥，此接口已弃用，请使用ReqQueryCFMMCTradingAccountToken查询。

响应: OnRspQryCFMMCTradingAccountKey

函数原型

virtual int ReqQryCFMMCTradingAccountKey(CThostFtdcQryCFMMCTradingAccountKeyField *pQryCFMMCTradingAccountKey, int nRequestID) = 0;

参数

///请求查询保证金监管系统经纪公司资金账户密钥

struct CThostFtdcQryCFMMCTradingAccountKeyField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryCFMMCTradingAccountKeyField a = { 0 };

strcpy(a.BrokerID, "9999");

strcpy(a.InvestorID, "1000001");

m_pUserApi->ReqQryCFMMCTradingAccountKey(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryEWarrantOffset

说明

请求查询仓单折抵信息

响应: OnRspQryEWarrantOffset

函数原型

virtual int ReqQryEWarrantOffset(CThostFtdcQryEWarrantOffsetField *pQryEWarrantOffset, int nRequestID) = 0;

参数

///查询仓单折抵信息

struct CThostFtdcQryEWarrantOffsetField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryInvestorProductGroupMargin

说明

请求查询投资者品种/跨品种保证金

响应: OnRspQryInvestorProductGroupMargin

函数原型

virtual int ReqQryInvestorProductGroupMargin(CThostFtdcQryInvestorProductGroupMarginField *pQryInvestorProductGroupMargin, int nRequestID) = 0;

参数

///查询投资者品种/跨品种保证金

struct CThostFtdcQryInvestorProductGroupMarginField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///品种/跨品种标示

TThostFtdcInstrumentIDType ProductGroupID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryExchangeMarginRate

说明

请求查询交易所保证金率

响应: OnRspQryExchangeMarginRate

函数原型

virtual int ReqQryExchangeMarginRate(CThostFtdcQryExchangeMarginRateField *pQryExchangeMarginRate, int nRequestID) = 0;

参数

///查询交易所保证金率

struct CThostFtdcQryExchangeMarginRateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryExchangeMarginRateAdjust

说明

请求查询交易所调整保证金率

响应: OnRspQryExchangeMarginRateAdjust

函数原型

virtual int ReqQryExchangeMarginRateAdjust(CThostFtdcQryExchangeMarginRateAdjustField *pQryExchangeMarginRateAdjust, int nRequestID) = 0;

参数

///查询交易所调整保证金率

struct CThostFtdcQryExchangeMarginRateAdjustField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryExchangeRate

说明

请求查询汇率

响应：OnRspQryExchangeRate

函数原型

virtual int ReqQryExchangeRate(CThostFtdcQryExchangeRateField *pQryExchangeRate, int nRequestID) = 0;

参数

///查询汇率

struct CThostFtdcQryExchangeRateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///源币种

TThostFtdcCurrencyIDType FromCurrencyID;

///目标币种

TThostFtdcCurrencyIDType ToCurrencyID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQrySecAgentACIDMap

说明

请求查询二级代理操作员银期权限

响应: OnRspQrySecAgentACIDMap

函数原型

virtual int ReqQrySecAgentACIDMap(CThostFtdcQrySecAgentACIDMapField *pQrySecAgentACIDMap, int nRequestID) = 0;

参数

///二级代理操作员银期权限查询

struct CThostFtdcQrySecAgentACIDMapField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///资金账户

TThostFtdcAccountIDType AccountID;

///币种

TThostFtdcCurrencyIDType CurrencyID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

无

FAQ：


CThostFtdcTraderApi

ReqQryProductExchRate

说明

请求查询产品报价汇率

响应: OnRspQryProductExchRate

函数原型

virtual int ReqQryProductExchRate(CThostFtdcQryProductExchRateField *pQryProductExchRate, int nRequestID) = 0;

参数

///产品报价汇率查询

struct CThostFtdcQryProductExchRateField

{

///产品代码

TThostFtdcInstrumentIDType ProductID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryProductGroup

说明

请求查询产品组

响应: OnRspQryProductGroup

函数原型

virtual int ReqQryProductGroup(CThostFtdcQryProductGroupField *pQryProductGroup, int nRequestID) = 0;

参数

///查询产品组

struct CThostFtdcQryProductGroupField

{

///产品代码

TThostFtdcInstrumentIDType ProductID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryMMInstrumentCommissionRate

说明

请求查询做市商合约手续费率

响应: OnRspQryMMInstrumentCommissionRate

函数原型

virtual int ReqQryMMInstrumentCommissionRate(CThostFtdcQryMMInstrumentCommissionRateField *pQryMMInstrumentCommissionRate, int nRequestID) = 0;

参数

///查询做市商合约手续费率

struct CThostFtdcQryMMInstrumentCommissionRateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryMMOptionInstrCommRate

说明

请求查询做市商期权合约手续费

响应: OnRspQryMMOptionInstrCommRate

函数原型

virtual int ReqQryMMOptionInstrCommRate(CThostFtdcQryMMOptionInstrCommRateField *pQryMMOptionInstrCommRate, int nRequestID) = 0;

参数

///做市商期权手续费率查询

struct CThostFtdcQryMMOptionInstrCommRateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryInstrumentOrderCommRate

说明

请求查询报单手续费

响应: OnRspQryInstrumentOrderCommRate

函数原型

virtual int ReqQryInstrumentOrderCommRate(CThostFtdcQryInstrumentOrderCommRateField *pQryInstrumentOrderCommRate, int nRequestID) = 0;

参数

///报单手续费率查询

struct CThostFtdcQryInstrumentOrderCommRateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryInstrumentOrderCommRateField a = { 0 };

strcpy(a.BrokerID, "9999");

strcpy(a.InvestorID, "1000001");

strcpy(a.InstrumentID, "rb1809");

m_pUserApi->ReqQryInstrumentOrderCommRate(&a, 1);


CThostFtdcTraderApi

ReqQrySecAgentTradingAccount

说明

请求查询资金账户

响应： OnRspQrySecAgentTradingAccount

函数原型

virtual int ReqQrySecAgentTradingAccount(CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID) = 0;

参数

///查询资金账户

struct CThostFtdcQryTradingAccountField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///业务类型

TThostFtdcBizTypeType BizType;

///投资者帐号

TThostFtdcAccountIDType AccountID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQrySecAgentCheckMode

说明

请求查询二级代理商资金校验模式

响应: OnRspQrySecAgentCheckMode

函数原型

virtual int ReqQrySecAgentCheckMode(CThostFtdcQrySecAgentCheckModeField *pQrySecAgentCheckMode, int nRequestID) = 0;

参数

///查询二级代理商资金校验模式

struct CThostFtdcQrySecAgentCheckModeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryOptionInstrTradeCost

说明

请求查询期权交易成本，该函数用于查期权保证金，对应响应OnRspQryOptionInstrTradeCost。

保证金=max(权利金+FixedMargin,MiniMargin)，用户可根据此公式计算实时保证金。

函数原型

virtual int ReqQryOptionInstrTradeCost(CThostFtdcQryOptionInstrTradeCostField *pQryOptionInstrTradeCost, int nRequestID) = 0;

参数

///期权交易成本查询

struct CThostFtdcQryOptionInstrTradeCostField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///期权合约报价

TThostFtdcPriceType InputPrice;

///标的价格,填0则用昨结算价

TThostFtdcPriceType UnderlyingPrice;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryOptionInstrTradeCostField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

a.HedgeFlag = THOST_FTDC_HF_Speculation;

a.InputPrice = 300;

m_pUserApi->ReqQryOptionInstrTradeCost(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryOptionInstrCommRate

说明

请求查询期权合约手续费

响应: OnRspQryOptionInstrCommRate

函数原型

virtual int ReqQryOptionInstrCommRate(CThostFtdcQryOptionInstrCommRateField *pQryOptionInstrCommRate, int nRequestID) = 0;

参数

///期权手续费率查询

struct CThostFtdcQryOptionInstrCommRateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryOptionInstrCommRateField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

m_pUserApi->ReqQryOptionInstrCommRate(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryExecOrder

说明

请求查询执行宣告

响应: OnRspQryExecOrder

函数原型

virtual int ReqQryExecOrder(CThostFtdcQryExecOrderField *pQryExecOrder, int nRequestID) = 0;

参数

///执行宣告查询

struct CThostFtdcQryExecOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///执行宣告编号

TThostFtdcExecOrderSysIDType ExecOrderSysID;

///开始时间

TThostFtdcTimeType InsertTimeStart;

///结束时间

TThostFtdcTimeType InsertTimeEnd;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryExecOrderField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

strcpy_s(a.ExchangeID, "SHFE");

m_pUserApi->ReqQryExecOrder(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryForQuote

说明

请求查询询价

响应：OnRspQryForQuote

函数原型

virtual int ReqQryForQuote(CThostFtdcQryForQuoteField *pQryForQuote, int nRequestID) = 0;

参数

///询价查询

struct CThostFtdcQryForQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///开始时间

TThostFtdcTimeType InsertTimeStart;

///结束时间

TThostFtdcTimeType InsertTimeEnd;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryQuote

说明

请求查询报价

响应: OnRspQryQuote

函数原型

virtual int ReqQryQuote(CThostFtdcQryQuoteField *pQryQuote, int nRequestID) = 0;

参数

///报价查询

struct CThostFtdcQryQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报价编号

TThostFtdcOrderSysIDType QuoteSysID;

///开始时间

TThostFtdcTimeType InsertTimeStart;

///结束时间

TThostFtdcTimeType InsertTimeEnd;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryOptionSelfClose

说明

请求查询期权自对冲

响应: OnRspQryOptionSelfClose

函数原型

virtual int ReqQryOptionSelfClose(CThostFtdcQryOptionSelfCloseField *pQryOptionSelfClose, int nRequestID) = 0;

参数

///期权自对冲查询

struct CThostFtdcQryOptionSelfCloseField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///期权自对冲编号

TThostFtdcOrderSysIDType OptionSelfCloseSysID;

///开始时间

TThostFtdcTimeType InsertTimeStart;

///结束时间

TThostFtdcTimeType InsertTimeEnd;

};

l OnRspQryOptionSelfClose：由此能定位一笔期权自对冲的报单

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryOptionSelfCloseField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

strcpy_s(a.InstrumentID, "rb1809");

strcpy_s(a.ExchangeID, "SHFE");

m_pUserApi->ReqQryOptionSelfClose(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryInvestUnit

说明

请求查询投资单元

响应: OnRspQryInvestUnit

函数原型

virtual int ReqQryInvestUnit(CThostFtdcQryInvestUnitField *pQryInvestUnit, int nRequestID) = 0;

参数

///查询投资单元

struct CThostFtdcQryInvestUnitField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryCombInstrumentGuard

说明

请求查询组合合约安全系数

响应：OnRspQryCombInstrumentGuard

函数原型

virtual int ReqQryCombInstrumentGuard(CThostFtdcQryCombInstrumentGuardField *pQryCombInstrumentGuard, int nRequestID) = 0;

参数

///组合合约安全系数查询

struct CThostFtdcQryCombInstrumentGuardField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryCombAction

说明

请求查询申请组合

响应: OnRspQryCombAction

函数原型

virtual int ReqQryCombAction(CThostFtdcQryCombActionField *pQryCombAction, int nRequestID) = 0;

参数

///申请组合查询

struct CThostFtdcQryCombActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryCombActionField a = { 0 };

strcpy(a.BrokerID, "9999");

strcpy(a.InvestorID, "1000001");

strcpy(a.InstrumentID, "rb1809");//不填写则返回全部

strcpy(a.ExchangeID, "SHFE");

m_pUserApi->ReqQryCombAction(&a, 1);


CThostFtdcTraderApi

ReqQryTransferSerial

说明

请求查询转帐流水。

响应：OnRspQryTransferSerial

函数原型

virtual int ReqQryTransferSerial(CThostFtdcQryTransferSerialField *pQryTransferSerial, int nRequestID) = 0;

参数

///请求查询转帐流水

struct CThostFtdcQryTransferSerialField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///银行编码

TThostFtdcBankIDType BankID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryTransferSerialField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.AccountID, "1000001");

strcpy_s(a.BankID, “1”);

strcpy_s(a.CurrencyID, "CNY");

m_pUserApi->ReqQryTransferSerial(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryAccountregister

说明

请求查询银期签约关系

响应: OnRspQryAccountregister

函数原型

virtual int ReqQryAccountregister(CThostFtdcQryAccountregisterField *pQryAccountregister, int nRequestID) = 0;

参数

///请求查询银期签约关系

struct CThostFtdcQryAccountregisterField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///银行编码

TThostFtdcBankIDType BankID;

///银行分支机构编码

TThostFtdcBankBrchIDType BankBranchID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryAccountregisterField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.AccountID, "1000001");

strcpy_s(a.BankID, "1");

strcpy_s(a.CurrencyID, "CNY");

m_pUserApi->ReqQryAccountregister(&a, 1);


CThostFtdcTraderApi

ReqQryContractBank

说明

请求查询签约银行

响应: OnRspQryContractBank

函数原型

virtual int ReqQryContractBank(CThostFtdcQryContractBankField *pQryContractBank, int nRequestID) = 0;

参数

///查询签约银行请求

struct CThostFtdcQryContractBankField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///银行代码

TThostFtdcBankIDType BankID;

///银行分中心代码

TThostFtdcBankBrchIDType BankBrchID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryContractBankField a = { 0 };

strcpy_s(a.BrokerID, "9999");

m_pUserApi->ReqQryContractBank(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryParkedOrder

说明

请求查询预埋单

响应: OnRspQryParkedOrder

函数原型

virtual int ReqQryParkedOrder(CThostFtdcQryParkedOrderField *pQryParkedOrder, int nRequestID) = 0;

参数

///查询预埋单

struct CThostFtdcQryParkedOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryParkedOrderAction

说明

请求查询预埋撤单

响应: OnRspQryParkedOrderAction

函数原型

virtual int ReqQryParkedOrderAction(CThostFtdcQryParkedOrderActionField *pQryParkedOrderAction, int nRequestID) = 0;

参数

///查询预埋撤单

struct CThostFtdcQryParkedOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryTradingNotice

说明

请求查询交易通知

响应: OnRspQryTradingNotice

函数原型

virtual int ReqQryTradingNotice(CThostFtdcQryTradingNoticeField *pQryTradingNotice, int nRequestID) = 0;

参数

///查询交易事件通知

struct CThostFtdcQryTradingNoticeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQryBrokerTradingParams

说明

请求查询经纪公司交易参数

响应: OnRspQryBrokerTradingParams

函数原型

virtual int ReqQryBrokerTradingParams(CThostFtdcQryBrokerTradingParamsField *pQryBrokerTradingParams, int nRequestID) = 0;

参数

///查询经纪公司交易参数

struct CThostFtdcQryBrokerTradingParamsField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcQryBrokerTradingParamsField a = { 0 };

strcpy_s(a.BrokerID, "9999");

strcpy_s(a.InvestorID, "1000001");

m_pUserApi->ReqQryBrokerTradingParams(&a, nRequestID++);


CThostFtdcTraderApi

ReqQryBrokerTradingAlgos

说明

请求查询经纪公司交易算法

响应: OnRspQryBrokerTradingAlgos

函数原型

virtual int ReqQryBrokerTradingAlgos(CThostFtdcQryBrokerTradingAlgosField *pQryBrokerTradingAlgos, int nRequestID) = 0;

参数

///查询经纪公司交易算法

struct CThostFtdcQryBrokerTradingAlgosField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqQueryCFMMCTradingAccountToken

说明

请求查询监控中心用户令牌，对应响应OnRspQueryCFMMCTradingAccountToken、OnRtnCFMMCTradingAccountToken。

函数原型

virtual int ReqQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, int nRequestID) = 0;

参数

///查询监控中心用户令牌

struct CThostFtdcQueryCFMMCTradingAccountTokenField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


CThostFtdcTraderApi

ReqFromBankToFutureByFuture

说明

期货发起银行资金转期货请求

错误响应: OnRspFromBankToFutureByFuture

正确响应: OnRtnFromBankToFutureByFuture

函数原型

virtual int ReqFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0;

参数

///转账请求

struct CThostFtdcReqTransferField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：202001 期货发起银行资金转期货；目前该字段自动填写，手动填写无效。

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcReqTransferField a = { 0 };

strcpy_s(a.TradeCode, "202001");///业务功能码

strcpy_s(a.BankID, "1");

strcpy_s(a.BankBranchID, "0000");///期商代码

strcpy_s(a.BrokerID, "9999");

a.LastFragment = THOST_FTDC_LF_Yes;///最后分片标志 '0'=是最后分片

a.IdCardType = THOST_FTDC_ICT_IDCard;///证件类型

a.CustType = THOST_FTDC_CUSTT_Person;///客户类型

strcpy_s(a.BankAccount, "621485212110187");

strcpy_s(a.AccountID, "1000001");///投资者帐号

strcpy_s(a.Password, "123456");///期货密码--资金密码

a.InstallID = 1;///安装编号

a.FutureSerial = 0;///期货公司流水号

a.VerifyCertNoFlag = THOST_FTDC_YNI_No;///验证客户证件号码标志

strcpy_s(a.CurrencyID, "CNY");///币种代码

a.TradeAmount = output_num;///转帐金额

a.FutureFetchAmount = 0;///期货可取金额

a.CustFee = 0;///应收客户费用

a.BrokerFee = 0;///应收期货公司费用

a.SecuPwdFlag = THOST_FTDC_BPWDF_BlankCheck;///期货资金密码核对标志

a.RequestID = 0;///请求编号

a.TID = 0;///交易ID

m_pUserApi->ReqFromBankToFutureByFuture(&a, nRequestID++);


CThostFtdcTraderApi

ReqFromFutureToBankByFuture

说明

期货发起期货资金转银行请求

错误响应: OnRspFromFutureToBankByFuture

正确响应: OnRtnFromFutureToBankByFuture

函数原型

virtual int ReqFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID) = 0;

参数

///转账请求

struct CThostFtdcReqTransferField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：202002 期货发起期货资金转银行；目前该字段自动填写，手动填写无效。

l BankID：返回银行在期货公司的代码

l BankBranchID：填0000

l BrokerBranchID：一般为空

l TradeAmount：转账金额

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例

CThostFtdcReqTransferField a = { 0 };

strcpy_s(a.TradeCode, "202002");///业务功能码

strcpy_s(a.BankID, "1");

strcpy_s(a.BankBranchID, "0000");///期商代码

strcpy_s(a.BrokerID, "9999");

a.LastFragment = THOST_FTDC_LF_Yes;///最后分片标志 '0'=是最后分片

a.SessionID = SessionID;

a.IdCardType = THOST_FTDC_ICT_IDCard;///证件类型

strcpy_s(a.IdentifiedCardNo, "310110198701011914");///证件号码

strcpy_s(a.BankAccount, "123456789");///银行帐号

strcpy_s(a.AccountID, "1000001");///投资者帐号

strcpy_s(a.Password, "123456");///期货密码

a.InstallID = 1;///安装编号

a.CustType = THOST_FTDC_CUSTT_Person;

a.VerifyCertNoFlag = THOST_FTDC_YNI_No;///验证客户证件号码标志

strcpy_s(a.CurrencyID, "CNY");///币种代码

a.TradeAmount = output_num;///转帐金额

a.FutureFetchAmount = 0;///期货可取金额

a.CustFee = 0;///应收客户费用

a.BrokerFee = 0;///应收期货公司费用

a.RequestID = 0;///请求编号

a.TID = 0;///交易ID

m_pUserApi->ReqFromFutureToBankByFuture(&a, nRequestID++);


CThostFtdcTraderApi

ReqQueryBankAccountMoneyByFuture

说明

期货发起查询银行余额请求

响应: OnRspQueryBankAccountMoneyByFuture

函数原型

virtual int ReqQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID) = 0;

参数

///查询账户信息请求

struct CThostFtdcReqQueryAccountField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///安装编号

TThostFtdcInstallIDType InstallID;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：204002 期货发起查询银行余额

l BankBranchID：一般为0000

l InstallID：ctp内部使用，不用填

///请求编号

int nRequestID

l nRequestID：请求ID，对应响应里的nRequestID，无递增规则，由用户自行维护。

返回

0，代表成功。

-1，表示网络连接失败；

-2，表示未处理请求超过许可数；

-3，表示每秒发送请求数超过许可数。

调用示例


交易接口

CThostFtdcTraderSpi

说明

CThostFtdcTraderSpi类提供了交易相关的回调接口，用户需要继承该类并重载这些接口，以获取响应数据。

接口

///当客户端与交易后台建立起通信连接时（还未登录前），该方法被调用。

virtual void OnFrontConnected(){};

///当客户端与交易后台通信连接断开时，该方法被调用。当发生这个情况后，API会自动重新连接，客户端可不做处理。

///@param nReason 错误原因

/// 0x1001 网络读失败

/// 0x1002 网络写失败

/// 0x2001 接收心跳超时

/// 0x2002 发送心跳失败

/// 0x2003 收到错误报文

virtual void OnFrontDisconnected(int nReason){};

///心跳超时警告。当长时间未收到报文时，该方法被调用。

///@param nTimeLapse 距离上次接收报文的时间

virtual void OnHeartBeatWarning(int nTimeLapse){};

///客户端认证响应

virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///登录请求响应

virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///登出请求响应

virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///用户口令更新请求响应

virtual void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///资金账户口令更新请求响应

virtual void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///报单录入请求响应

virtual void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///预埋单录入请求响应

virtual void OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///预埋撤单录入请求响应

virtual void OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///报单操作请求响应

virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///查询最大报单数量响应

virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///投资者结算结果确认响应

virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///删除预埋单响应

virtual void OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///删除预埋撤单响应

virtual void OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///执行宣告录入请求响应

virtual void OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///执行宣告操作请求响应

virtual void OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///询价录入请求响应

virtual void OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///报价录入请求响应

virtual void OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///报价操作请求响应

virtual void OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///批量报单操作请求响应

virtual void OnRspBatchOrderAction(CThostFtdcInputBatchOrderActionField *pInputBatchOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///期权自对冲录入请求响应

virtual void OnRspOptionSelfCloseInsert(CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///期权自对冲操作请求响应

virtual void OnRspOptionSelfCloseAction(CThostFtdcInputOptionSelfCloseActionField *pInputOptionSelfCloseAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///申请组合录入请求响应

virtual void OnRspCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询报单响应

virtual void OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询成交响应

virtual void OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询投资者持仓响应

virtual void OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询资金账户响应

virtual void OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询投资者响应

virtual void OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询交易编码响应

virtual void OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询合约保证金率响应

virtual void OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询合约手续费率响应

virtual void OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询交易所响应

virtual void OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询产品响应

virtual void OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询合约响应

virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询行情响应

virtual void OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询投资者结算结果响应

virtual void OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询转帐银行响应

virtual void OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询投资者持仓明细响应

virtual void OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询客户通知响应

virtual void OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询结算信息确认响应

virtual void OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询投资者持仓明细响应

virtual void OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///查询保证金监管系统经纪公司资金账户密钥响应

virtual void OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询仓单折抵信息响应

virtual void OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询投资者品种/跨品种保证金响应

virtual void OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询交易所保证金率响应

virtual void OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询交易所调整保证金率响应

virtual void OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询汇率响应

virtual void OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询二级代理操作员银期权限响应

virtual void OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询产品报价汇率

virtual void OnRspQryProductExchRate(CThostFtdcProductExchRateField *pProductExchRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询产品组

virtual void OnRspQryProductGroup(CThostFtdcProductGroupField *pProductGroup, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询做市商合约手续费率响应

virtual void OnRspQryMMInstrumentCommissionRate(CThostFtdcMMInstrumentCommissionRateField *pMMInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询做市商期权合约手续费响应

virtual void OnRspQryMMOptionInstrCommRate(CThostFtdcMMOptionInstrCommRateField *pMMOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询报单手续费响应

virtual void OnRspQryInstrumentOrderCommRate(CThostFtdcInstrumentOrderCommRateField *pInstrumentOrderCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询资金账户响应

virtual void OnRspQrySecAgentTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询二级代理商资金校验模式响应

virtual void OnRspQrySecAgentCheckMode(CThostFtdcSecAgentCheckModeField *pSecAgentCheckMode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询期权交易成本响应

virtual void OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询期权合约手续费响应

virtual void OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询执行宣告响应

virtual void OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询询价响应

virtual void OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询报价响应

virtual void OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询期权自对冲响应

virtual void OnRspQryOptionSelfClose(CThostFtdcOptionSelfCloseField *pOptionSelfClose, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询投资单元响应

virtual void OnRspQryInvestUnit(CThostFtdcInvestUnitField *pInvestUnit, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询组合合约安全系数响应

virtual void OnRspQryCombInstrumentGuard(CThostFtdcCombInstrumentGuardField *pCombInstrumentGuard, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询申请组合响应

virtual void OnRspQryCombAction(CThostFtdcCombActionField *pCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询转帐流水响应

virtual void OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询银期签约关系响应

virtual void OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///错误应答

virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///报单通知

virtual void OnRtnOrder(CThostFtdcOrderField *pOrder) {};

///成交通知

virtual void OnRtnTrade(CThostFtdcTradeField *pTrade) {};

///报单录入错误回报

virtual void OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) {};

///报单操作错误回报

virtual void OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) {};

///合约交易状态通知

virtual void OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) {};

///交易所公告通知

virtual void OnRtnBulletin(CThostFtdcBulletinField *pBulletin) {};

///交易通知

virtual void OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) {};

///提示条件单校验错误

virtual void OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) {};

///执行宣告通知

virtual void OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) {};

///执行宣告录入错误回报

virtual void OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) {};

///执行宣告操作错误回报

virtual void OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) {};

///询价录入错误回报

virtual void OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) {};

///报价通知

virtual void OnRtnQuote(CThostFtdcQuoteField *pQuote) {};

///报价录入错误回报

virtual void OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) {};

///报价操作错误回报

virtual void OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) {};

///询价通知

virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {};

///保证金监控中心用户令牌

virtual void OnRtnCFMMCTradingAccountToken(CThostFtdcCFMMCTradingAccountTokenField *pCFMMCTradingAccountToken) {};

///批量报单操作错误回报

virtual void OnErrRtnBatchOrderAction(CThostFtdcBatchOrderActionField *pBatchOrderAction, CThostFtdcRspInfoField *pRspInfo) {};

///期权自对冲通知

virtual void OnRtnOptionSelfClose(CThostFtdcOptionSelfCloseField *pOptionSelfClose) {};

///期权自对冲录入错误回报

virtual void OnErrRtnOptionSelfCloseInsert(CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, CThostFtdcRspInfoField *pRspInfo) {};

///期权自对冲操作错误回报

virtual void OnErrRtnOptionSelfCloseAction(CThostFtdcOptionSelfCloseActionField *pOptionSelfCloseAction, CThostFtdcRspInfoField *pRspInfo) {};

///申请组合通知

virtual void OnRtnCombAction(CThostFtdcCombActionField *pCombAction) {};

///申请组合录入错误回报

virtual void OnErrRtnCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo) {};

///请求查询签约银行响应

virtual void OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询预埋单响应

virtual void OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询预埋撤单响应

virtual void OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询交易通知响应

virtual void OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询经纪公司交易参数响应

virtual void OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询经纪公司交易算法响应

virtual void OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///请求查询监控中心用户令牌

virtual void OnRspQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///银行发起银行资金转期货通知

virtual void OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) {};

///银行发起期货资金转银行通知

virtual void OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) {};

///银行发起冲正银行转期货通知

virtual void OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) {};

///银行发起冲正期货转银行通知

virtual void OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) {};

///期货发起银行资金转期货通知

virtual void OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) {};

///期货发起期货资金转银行通知

virtual void OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) {};

///系统运行时期货端手工发起冲正银行转期货请求，银行处理完毕后报盘发回的通知

virtual void OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {};

///系统运行时期货端手工发起冲正期货转银行请求，银行处理完毕后报盘发回的通知

virtual void OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {};

///期货发起查询银行余额通知

virtual void OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) {};

///期货发起银行资金转期货错误回报

virtual void OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {};

///期货发起期货资金转银行错误回报

virtual void OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {};

///系统运行时期货端手工发起冲正银行转期货错误回报

virtual void OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {};

///系统运行时期货端手工发起冲正期货转银行错误回报

virtual void OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {};

///期货发起查询银行余额错误回报

virtual void OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) {};

///期货发起冲正银行转期货请求，银行处理完毕后报盘发回的通知

virtual void OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) {};

///期货发起冲正期货转银行请求，银行处理完毕后报盘发回的通知

virtual void OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) {};

///期货发起银行资金转期货应答

virtual void OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///期货发起期货资金转银行应答

virtual void OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///期货发起查询银行余额应答

virtual void OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

///银行发起银期开户通知

virtual void OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) {};

///银行发起银期销户通知

virtual void OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) {};

///银行发起变更银行账号通知

virtual void OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) {};

示例代码

// CTraderHandler继承CThostFtdcTraderSpi

class CTraderHandler : public CThostFtdcTraderSpi

{

//重载，报单通知

void OnRtnOrder(CThostFtdcOrderField *pOrder)

{

printf("OnRtnOrder\n");

}

//重载，成交通知

void OnRtnTrade(CThostFtdcTradeField *pTrade)

{

printf("OnRtnTrade\n");

}

//重载，报单录入请求响应

void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)

{

printf("OnRspOrderInsert\n");

}

//重载，错误应答

void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)

{

printf("OnRspError\n");

}

}


CThostFtdcTraderSpi

OnFrontConnected

说明

当客户端与交易托管系统建立起通信连接时（还未登录前），该方法被调用。

本方法在完成初始化后调用，可以在其中完成用户登录任务。

函数原型

virtual void OnFrontConnected(){};

参数

无


CThostFtdcTraderSpi

OnFrontDisconnected

说明

当客户端与交易托管系统通信连接断开时，该方法被调用。当发生这个情况后，API会自动重新连接，客户端可不做处理。自动重连地址，可能是原来注册的地址，也可能是系统支持的其它可用的通信地址，它由程序自动选择。

函数原型

virtual void OnFrontDisconnected(int nReason){};

参数

///请求编号

int nReason

l nReason：连接断开原因，注意该返回值为10进制数，所以要转换成16进制再对照下列错误号。

l 0x1001 网络读失败

l 0x1002 网络写失败

l 0x2001 接收心跳超时

l 0x2002 发送心跳失败

l 0x2003 收到错误报文

返回

无

FAQ

l 如果密码错误或者终端认证失败触发了OnFrontDisconnected，则可能是因为CTP交易前置设置了ConnectFrq（每秒连接数）参数。


CThostFtdcTraderSpi

OnHeartBeatWarning

说明

心跳超时警告。当长时间未收到报文时，该方法被调用。

函数原型

virtual void OnHeartBeatWarning(int nTimeLapse){};

参数

///请求编号

int nTimeLapse

l nTimeLapse：距离上次接收报文的时间


CThostFtdcTraderSpi

OnRspAuthenticate

说明

客户端认证响应,当执行ReqAuthenticate后，该方法被调用

函数原型

virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///客户端认证响应

struct CThostFtdcRspAuthenticateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

};

l UserProductInfo：客户端的产品信息，如软件开发商、版本号等，例如：SFITTraderV100。

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspUserLogin

说明

登录请求响应，当执行ReqUserLogin后，该方法被调用。

函数原型

virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///用户登录应答

struct CThostFtdcRspUserLoginField

{

///交易日

TThostFtdcDateType TradingDay;

///登录成功时间

TThostFtdcTimeType LoginTime;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///交易系统名称

TThostFtdcSystemNameType SystemName;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///最大报单引用

TThostFtdcOrderRefType MaxOrderRef;

///上期所时间

TThostFtdcTimeType SHFETime;

///大商所时间

TThostFtdcTimeType DCETime;

///郑商所时间

TThostFtdcTimeType CZCETime;

///中金所时间

TThostFtdcTimeType FFEXTime;

///能源中心时间

TThostFtdcTimeType INETime;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspUserLogout

说明

登出请求响应，当执行ReqUserLogout后，该方法被调用。

函数原型

virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///用户登出请求

struct CThostFtdcUserLogoutField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspUserPasswordUpdate

说明

用户口令更新请求响应，当执行ReqUserPasswordUpdate后，该方法被调用。

函数原型

virtual void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///用户口令变更

struct CThostFtdcUserPasswordUpdateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///原来的口令

TThostFtdcPasswordType OldPassword;

///新的口令

TThostFtdcPasswordType NewPassword;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspTradingAccountPasswordUpdate

说明

资金账户口令更新请求响应，当执行ReqTradingAccountPasswordUpdate后，该方法被调用。

函数原型

virtual void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///资金账户口令变更域

struct CThostFtdcTradingAccountPasswordUpdateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///原来的口令

TThostFtdcPasswordType OldPassword;

///新的口令

TThostFtdcPasswordType NewPassword;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspOrderInsert

说明

报单录入请求响应，当执行ReqOrderInsert后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入报单

struct CThostFtdcInputOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///报单价格条件

TThostFtdcOrderPriceTypeType OrderPriceType;

///买卖方向

TThostFtdcDirectionType Direction;

///组合开平标志

TThostFtdcCombOffsetFlagType CombOffsetFlag;

///组合投机套保标志

TThostFtdcCombHedgeFlagType CombHedgeFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量

TThostFtdcVolumeType VolumeTotalOriginal;

///有效期类型

TThostFtdcTimeConditionType TimeCondition;

///GTD日期

TThostFtdcDateType GTDDate;

///成交量类型

TThostFtdcVolumeConditionType VolumeCondition;

///最小成交量

TThostFtdcVolumeType MinVolume;

///触发条件

TThostFtdcContingentConditionType ContingentCondition;

///止损价

TThostFtdcPriceType StopPrice;

///强平原因

TThostFtdcForceCloseReasonType ForceCloseReason;

///自动挂起标志

TThostFtdcBoolType IsAutoSuspend;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///请求编号

TThostFtdcRequestIDType RequestID;

///用户强评标志

TThostFtdcBoolType UserForceClose;

///互换单标志

TThostFtdcBoolType IsSwapOrder;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspParkedOrderInsert

说明

预埋单录入请求响应，当执行ReqParkedOrderInsert后，该方法被调用

函数原型

virtual void OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///预埋单

struct CThostFtdcParkedOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///报单价格条件

TThostFtdcOrderPriceTypeType OrderPriceType;

///买卖方向

TThostFtdcDirectionType Direction;

///组合开平标志

TThostFtdcCombOffsetFlagType CombOffsetFlag;

///组合投机套保标志

TThostFtdcCombHedgeFlagType CombHedgeFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量

TThostFtdcVolumeType VolumeTotalOriginal;

///有效期类型

TThostFtdcTimeConditionType TimeCondition;

///GTD日期

TThostFtdcDateType GTDDate;

///成交量类型

TThostFtdcVolumeConditionType VolumeCondition;

///最小成交量

TThostFtdcVolumeType MinVolume;

///触发条件

TThostFtdcContingentConditionType ContingentCondition;

///止损价

TThostFtdcPriceType StopPrice;

///强平原因

TThostFtdcForceCloseReasonType ForceCloseReason;

///自动挂起标志

TThostFtdcBoolType IsAutoSuspend;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///请求编号

TThostFtdcRequestIDType RequestID;

///用户强评标志

TThostFtdcBoolType UserForceClose;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///预埋报单编号

TThostFtdcParkedOrderIDType ParkedOrderID;

///用户类型

TThostFtdcUserTypeType UserType;

///预埋单状态

TThostFtdcParkedOrderStatusType Status;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///互换单标志

TThostFtdcBoolType IsSwapOrder;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l Status: 目前只返回status=1（已提交）的响应，当状态变为2的时候不会主动推送，而是要通过查询才能得知。

l ErrorMsg：如果有报错则，显示在这边

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspParkedOrderAction

说明

预埋撤单录入请求响应，当执行ReqParkedOrderAction后，该方法被调用

函数原型

virtual void OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入预埋单操作

struct CThostFtdcParkedOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报单操作引用

TThostFtdcOrderActionRefType OrderActionRef;

///报单引用

TThostFtdcOrderRefType OrderRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量变化

TThostFtdcVolumeType VolumeChange;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///预埋撤单单编号

TThostFtdcParkedOrderActionIDType ParkedOrderActionID;

///用户类型

TThostFtdcUserTypeType UserType;

///预埋撤单状态

TThostFtdcParkedOrderStatusType Status;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l Status：预埋单的最后情况

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspOrderAction

说明

报单操作请求响应，当执行ReqOrderAction后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入报单操作

struct CThostFtdcInputOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报单操作引用

TThostFtdcOrderActionRefType OrderActionRef;

///报单引用

TThostFtdcOrderRefType OrderRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量变化

TThostFtdcVolumeType VolumeChange;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ActionFlag：目前只有删除（撤单）的操作，修改（改单）的操作还没有，可以通过撤单之后重新报单实现。

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQueryMaxOrderVolume

说明

查询最大报单数量响应，当执行ReqQueryMaxOrderVolume后，该方法被调用。

函数原型

virtual void OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///查询最大报单数量

struct CThostFtdcQueryMaxOrderVolumeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///买卖方向

TThostFtdcDirectionType Direction;

///开平标志

TThostFtdcOffsetFlagType OffsetFlag;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///最大允许报单数量

TThostFtdcVolumeType MaxVolume;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

l MaxVolume：返回的是期货公司设置的合约最大报单数量，若超出交易所设置的则返回交易所的报错

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspSettlementInfoConfirm

说明

投资者结算结果确认响应，当执行ReqSettlementInfoConfirm后，该方法被调用。

函数原型

virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///投资者结算结果确认信息

struct CThostFtdcSettlementInfoConfirmField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///确认日期

TThostFtdcDateType ConfirmDate;

///确认时间

TThostFtdcTimeType ConfirmTime;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspRemoveParkedOrder

说明

删除预埋单响应，当执行ReqRemoveParkedOrder后，该方法被调用。

函数原型

virtual void OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///删除预埋单

struct CThostFtdcRemoveParkedOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///预埋报单编号

TThostFtdcParkedOrderIDType ParkedOrderID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspRemoveParkedOrderAction

说明

删除预埋撤单响应，当执行ReqRemoveParkedOrderAction后，该方法被调用。

函数原型

virtual void OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///删除预埋撤单

struct CThostFtdcRemoveParkedOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///预埋撤单编号

TThostFtdcParkedOrderActionIDType ParkedOrderActionID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspExecOrderInsert

说明

执行宣告录入请求响应，当执行ReqExecOrderInsert后，该方法被调用

函数原型

virtual void OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入的执行宣告

struct CThostFtdcInputExecOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///执行宣告引用

TThostFtdcOrderRefType ExecOrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///数量

TThostFtdcVolumeType Volume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///开平标志

TThostFtdcOffsetFlagType OffsetFlag;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///执行类型

TThostFtdcActionTypeType ActionType;

///保留头寸申请的持仓方向

TThostFtdcPosiDirectionType PosiDirection;

///期权行权后是否保留期货头寸的标记,该字段已废弃

TThostFtdcExecOrderPositionFlagType ReservePositionFlag;

///期权行权后生成的头寸是否自动平仓

TThostFtdcExecOrderCloseFlagType CloseFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspExecOrderAction

说明

执行宣告操作请求响应，当执行ReqExecOrderAction后，该方法被调用

函数原型

virtual void OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入执行宣告操作

struct CThostFtdcInputExecOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///执行宣告操作引用

TThostFtdcOrderActionRefType ExecOrderActionRef;

///执行宣告引用

TThostFtdcOrderRefType ExecOrderRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///执行宣告操作编号

TThostFtdcExecOrderSysIDType ExecOrderSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ActionFlag：撤单标志，目前只有删除（撤单功能），没有修改（改单功能）。

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspForQuoteInsert

说明

询价录入请求响应，当执行ReqForQuoteInsert后有字段填写不对之类的CTP报错则通过此接口返回。

函数原型

virtual void OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入的询价

struct CThostFtdcInputForQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///询价引用

TThostFtdcOrderRefType ForQuoteRef;

///用户代码

TThostFtdcUserIDType UserID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQuoteInsert

说明

报价录入请求响应，当执行ReqQuoteInsert后有字段填写不对之类的CTP报错则通过此接口返回。

函数原型

virtual void OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入的报价

struct CThostFtdcInputQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报价引用

TThostFtdcOrderRefType QuoteRef;

///用户代码

TThostFtdcUserIDType UserID;

///卖价格

TThostFtdcPriceType AskPrice;

///买价格

TThostFtdcPriceType BidPrice;

///卖数量

TThostFtdcVolumeType AskVolume;

///买数量

TThostFtdcVolumeType BidVolume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///卖开平标志

TThostFtdcOffsetFlagType AskOffsetFlag;

///买开平标志

TThostFtdcOffsetFlagType BidOffsetFlag;

///卖投机套保标志

TThostFtdcHedgeFlagType AskHedgeFlag;

///买投机套保标志

TThostFtdcHedgeFlagType BidHedgeFlag;

///衍生卖报单引用

TThostFtdcOrderRefType AskOrderRef;

///衍生买报单引用

TThostFtdcOrderRefType BidOrderRef;

///应价编号

TThostFtdcOrderSysIDType ForQuoteSysID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ForQuoteSysID：指定响应的是市场上哪比询价

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQuoteAction

说明

报价操作请求响应，当执行ReqQuoteAction后有字段填写不对之类的CTP报错则通过此接口返回。

函数原型

virtual void OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入报价操作

struct CThostFtdcInputQuoteActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报价操作引用

TThostFtdcOrderActionRefType QuoteActionRef;

///报价引用

TThostFtdcOrderRefType QuoteRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报价操作编号

TThostFtdcOrderSysIDType QuoteSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspBatchOrderAction

说明

批量报单操作请求响应，当执行ReqBatchOrderAction后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnRspBatchOrderAction(CThostFtdcInputBatchOrderActionField *pInputBatchOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入批量报单操作

struct CThostFtdcInputBatchOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报单操作引用

TThostFtdcOrderActionRefType OrderActionRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///用户代码

TThostFtdcUserIDType UserID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspOptionSelfCloseInsert

说明

期权自对冲录入请求响应，当执行ReqOptionSelfCloseInsert后，该方法被调用

函数原型

virtual void OnRspOptionSelfCloseInsert(CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入的期权自对冲

struct CThostFtdcInputOptionSelfCloseField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///期权自对冲引用

TThostFtdcOrderRefType OptionSelfCloseRef;

///用户代码

TThostFtdcUserIDType UserID;

///数量

TThostFtdcVolumeType Volume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///期权行权的头寸是否自对冲

TThostFtdcOptSelfCloseFlagType OptSelfCloseFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspOptionSelfCloseAction

说明

期权自对冲操作请求响应，当执行ReqOptionSelfCloseAction后，该方法被调用。

函数原型

virtual void OnRspOptionSelfCloseAction(CThostFtdcInputOptionSelfCloseActionField *pInputOptionSelfCloseAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入期权自对冲操作

struct CThostFtdcInputOptionSelfCloseActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///期权自对冲操作引用

TThostFtdcOrderActionRefType OptionSelfCloseActionRef;

///期权自对冲引用

TThostFtdcOrderRefType OptionSelfCloseRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///期权自对冲操作编号

TThostFtdcOrderSysIDType OptionSelfCloseSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ActionFlag：只有删除标志，修改标志位不支持

l InstallID：CTP内部使用

l StatusMsg：报错信息

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspCombActionInsert

说明

申请组合录入请求响应，当执行ReqCombActionInsert后，该方法被调用

函数原型

virtual void OnRspCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入的申请组合

struct CThostFtdcInputCombActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///组合引用

TThostFtdcOrderRefType CombActionRef;

///用户代码

TThostFtdcUserIDType UserID;

///买卖方向

TThostFtdcDirectionType Direction;

///数量

TThostFtdcVolumeType Volume;

///组合指令方向

TThostFtdcCombDirectionType CombDirection;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryOrder

说明

请求查询报单响应，当执行ReqQryOrder后，该方法被调用。

函数原型

virtual void OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///报单

struct CThostFtdcOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///报单价格条件

TThostFtdcOrderPriceTypeType OrderPriceType;

///买卖方向

TThostFtdcDirectionType Direction;

///组合开平标志

TThostFtdcCombOffsetFlagType CombOffsetFlag;

///组合投机套保标志

TThostFtdcCombHedgeFlagType CombHedgeFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量

TThostFtdcVolumeType VolumeTotalOriginal;

///有效期类型

TThostFtdcTimeConditionType TimeCondition;

///GTD日期

TThostFtdcDateType GTDDate;

///成交量类型

TThostFtdcVolumeConditionType VolumeCondition;

///最小成交量

TThostFtdcVolumeType MinVolume;

///触发条件

TThostFtdcContingentConditionType ContingentCondition;

///止损价

TThostFtdcPriceType StopPrice;

///强平原因

TThostFtdcForceCloseReasonType ForceCloseReason;

///自动挂起标志

TThostFtdcBoolType IsAutoSuspend;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///请求编号

TThostFtdcRequestIDType RequestID;

///本地报单编号

TThostFtdcOrderLocalIDType OrderLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///报单提交状态

TThostFtdcOrderSubmitStatusType OrderSubmitStatus;

///报单提示序号

TThostFtdcSequenceNoType NotifySequence;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///报单来源

TThostFtdcOrderSourceType OrderSource;

///报单状态

TThostFtdcOrderStatusType OrderStatus;

///报单类型

TThostFtdcOrderTypeType OrderType;

///今成交数量

TThostFtdcVolumeType VolumeTraded;

///剩余数量

TThostFtdcVolumeType VolumeTotal;

///报单日期

TThostFtdcDateType InsertDate;

///委托时间

TThostFtdcTimeType InsertTime;

///激活时间

TThostFtdcTimeType ActiveTime;

///挂起时间

TThostFtdcTimeType SuspendTime;

///最后修改时间

TThostFtdcTimeType UpdateTime;

///撤销时间

TThostFtdcTimeType CancelTime;

///最后修改交易所交易员代码

TThostFtdcTraderIDType ActiveTraderID;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///用户强评标志

TThostFtdcBoolType UserForceClose;

///操作用户代码

TThostFtdcUserIDType ActiveUserID;

///经纪公司报单编号

TThostFtdcSequenceNoType BrokerOrderSeq;

///相关报单

TThostFtdcOrderSysIDType RelativeOrderSysID;

///郑商所成交数量

TThostFtdcVolumeType ZCETotalTradedVolume;

///互换单标志

TThostFtdcBoolType IsSwapOrder;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OrderPriceType：确定输入的报单类型，比如限价单则填写THOST_FTDC_OPT_LimitPrice、市价单则填写THOST_FTDC_OPT_AnyPrice。

l Direction：确定买卖方向

l CombOffsetFlag：确定开平标志。

l 注:上期所、能源交易所有平今指令，下平仓指令和平昨指令相同

l CombHedgeFlag：确定投机套保标志 例:投机 THOST_FTDC_BHF_Speculation

l TimeCondition：确定报单有效期类型 例:立即完成，否则撤销 THOST_FTDC_TC_IOC

l VolumeCondition：确定成交量类型

l ContingentCondition：确定触发条件

l StatusMsg：报单状态

l StopPrice：止损价，用于条件单的触发价格

l ForceCloseReason：一般填写THOST_FTDC_FCC_NotForceClose 非强平

l IsSwapOrder：用户互换单的标志，只有互换单需要填写，是互换单的则赋值为1

l CurrencyID：不填写默认为CNY

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryTrade

说明

请求查询成交响应，当执行ReqQryTrade后，该方法被调用。

函数原型

virtual void OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///成交

struct CThostFtdcTradeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///成交编号

TThostFtdcTradeIDType TradeID;

///买卖方向

TThostFtdcDirectionType Direction;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///交易角色

TThostFtdcTradingRoleType TradingRole;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///开平标志

TThostFtdcOffsetFlagType OffsetFlag;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///价格

TThostFtdcPriceType Price;

///数量

TThostFtdcVolumeType Volume;

///成交时期

TThostFtdcDateType TradeDate;

///成交时间

TThostFtdcTimeType TradeTime;

///成交类型

TThostFtdcTradeTypeType TradeType;

///成交价来源

TThostFtdcPriceSourceType PriceSource;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///本地报单编号

TThostFtdcOrderLocalIDType OrderLocalID;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///序号

TThostFtdcSequenceNoType SequenceNo;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///经纪公司报单编号

TThostFtdcSequenceNoType BrokerOrderSeq;

///成交来源

TThostFtdcTradeSourceType TradeSource;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryInvestorPosition

说明

请求查询投资者持仓响应，当执行ReqQryInvestorPosition后，该方法被调用。

CTP 系统将持仓明细记录按合约，持仓方向，开仓日期（仅针对上期所，区分昨仓、今仓）进行汇总。

函数原型

virtual void OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///投资者持仓

struct CThostFtdcInvestorPositionField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///持仓多空方向

TThostFtdcPosiDirectionType PosiDirection;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///持仓日期

TThostFtdcPositionDateType PositionDate;

///上日持仓

TThostFtdcVolumeType YdPosition;

///今日持仓

TThostFtdcVolumeType Position;

///多头冻结

TThostFtdcVolumeType LongFrozen;

///空头冻结

TThostFtdcVolumeType ShortFrozen;

///开仓冻结金额

TThostFtdcMoneyType LongFrozenAmount;

///开仓冻结金额

TThostFtdcMoneyType ShortFrozenAmount;

///开仓量

TThostFtdcVolumeType OpenVolume;

///平仓量

TThostFtdcVolumeType CloseVolume;

///开仓金额

TThostFtdcMoneyType OpenAmount;

///平仓金额

TThostFtdcMoneyType CloseAmount;

///持仓成本

TThostFtdcMoneyType PositionCost;

///上次占用的保证金

TThostFtdcMoneyType PreMargin;

///占用的保证金

TThostFtdcMoneyType UseMargin;

///冻结的保证金

TThostFtdcMoneyType FrozenMargin;

///冻结的资金

TThostFtdcMoneyType FrozenCash;

///冻结的手续费

TThostFtdcMoneyType FrozenCommission;

///资金差额

TThostFtdcMoneyType CashIn;

///手续费

TThostFtdcMoneyType Commission;

///平仓盈亏

TThostFtdcMoneyType CloseProfit;

///持仓盈亏

TThostFtdcMoneyType PositionProfit;

///上次结算价

TThostFtdcPriceType PreSettlementPrice;

///本次结算价

TThostFtdcPriceType SettlementPrice;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///开仓成本

TThostFtdcMoneyType OpenCost;

///交易所保证金

TThostFtdcMoneyType ExchangeMargin;

///组合成交形成的持仓

TThostFtdcVolumeType CombPosition;

///组合多头冻结

TThostFtdcVolumeType CombLongFrozen;

///组合空头冻结

TThostFtdcVolumeType CombShortFrozen;

///逐日盯市平仓盈亏

TThostFtdcMoneyType CloseProfitByDate;

///逐笔对冲平仓盈亏

TThostFtdcMoneyType CloseProfitByTrade;

///今日持仓

TThostFtdcVolumeType TodayPosition;

///保证金率

TThostFtdcRatioType MarginRateByMoney;

///保证金率(按手数)

TThostFtdcRatioType MarginRateByVolume;

///执行冻结

TThostFtdcVolumeType StrikeFrozen;

///执行冻结金额

TThostFtdcMoneyType StrikeFrozenAmount;

///放弃执行冻结

TThostFtdcVolumeType AbandonFrozen;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///执行冻结的昨仓

TThostFtdcVolumeType YdStrikeFrozen;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

l PositionProfit：期权没有持仓盈亏，为0。

l Position：表示当前持仓数量

l TodayPosition：表示今新开仓

l YdPosition：表示昨日收盘时持仓数量（≠ 当前的昨仓数量，静态，日间不随着开平仓而变化）

l 当前的昨仓数量 = ∑Position -∑TodayPosition

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。

返回

无

FAQ

l 投资者发现自己账号里面多了一条“PRT SR711&SR711C6000"的持仓？

这个合约是郑商所跨式，宽跨式期权组合合约。此合约不需要投资者使用特别的指令构建，只要客户持有可以构成备兑期权组合的持仓，在每日结算的时候。

郑商所会将符合条件的期权和期货持仓自动确认为备兑期权套利持仓，包括备兑看涨期权套利和备兑看跌期权套利，并给予保证金优惠。

对于此期权合约，投资者需要分腿平仓，不需要管这个是否为备兑组合。


CThostFtdcTraderSpi

OnRspQryTradingAccount

说明

请求查询资金账户响应，当执行ReqQryTradingAccount后，该方法被调用。

函数原型

virtual void OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///资金账户

struct CThostFtdcTradingAccountField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///上次质押金额

TThostFtdcMoneyType PreMortgage;

///上次信用额度

TThostFtdcMoneyType PreCredit;

///上次存款额

TThostFtdcMoneyType PreDeposit;

///上次结算准备金

TThostFtdcMoneyType PreBalance;

///上次占用的保证金

TThostFtdcMoneyType PreMargin;

///利息基数

TThostFtdcMoneyType InterestBase;

///利息收入

TThostFtdcMoneyType Interest;

///入金金额

TThostFtdcMoneyType Deposit;

///出金金额

TThostFtdcMoneyType Withdraw;

///冻结的保证金

TThostFtdcMoneyType FrozenMargin;

///冻结的资金

TThostFtdcMoneyType FrozenCash;

///冻结的手续费

TThostFtdcMoneyType FrozenCommission;

///当前保证金总额

TThostFtdcMoneyType CurrMargin;

///资金差额

TThostFtdcMoneyType CashIn;

///手续费

TThostFtdcMoneyType Commission;

///平仓盈亏

TThostFtdcMoneyType CloseProfit;

///持仓盈亏

TThostFtdcMoneyType PositionProfit;

///期货结算准备金

TThostFtdcMoneyType Balance;

///可用资金

TThostFtdcMoneyType Available;

///可取资金

TThostFtdcMoneyType WithdrawQuota;

///基本准备金

TThostFtdcMoneyType Reserve;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///信用额度

TThostFtdcMoneyType Credit;

///质押金额

TThostFtdcMoneyType Mortgage;

///交易所保证金

TThostFtdcMoneyType ExchangeMargin;

///投资者交割保证金

TThostFtdcMoneyType DeliveryMargin;

///交易所交割保证金

TThostFtdcMoneyType ExchangeDeliveryMargin;

///保底期货结算准备金

TThostFtdcMoneyType ReserveBalance;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///上次货币质入金额

TThostFtdcMoneyType PreFundMortgageIn;

///上次货币质出金额

TThostFtdcMoneyType PreFundMortgageOut;

///货币质入金额

TThostFtdcMoneyType FundMortgageIn;

///货币质出金额

TThostFtdcMoneyType FundMortgageOut;

///货币质押余额

TThostFtdcMoneyType FundMortgageAvailable;

///可质押货币金额

TThostFtdcMoneyType MortgageableFund;

///特殊产品占用保证金

TThostFtdcMoneyType SpecProductMargin;

///特殊产品冻结保证金

TThostFtdcMoneyType SpecProductFrozenMargin;

///特殊产品手续费

TThostFtdcMoneyType SpecProductCommission;

///特殊产品冻结手续费

TThostFtdcMoneyType SpecProductFrozenCommission;

///特殊产品持仓盈亏

TThostFtdcMoneyType SpecProductPositionProfit;

///特殊产品平仓盈亏

TThostFtdcMoneyType SpecProductCloseProfit;

///根据持仓盈亏算法计算的特殊产品持仓盈亏

TThostFtdcMoneyType SpecProductPositionProfitByAlg;

///特殊产品交易所保证金

TThostFtdcMoneyType SpecProductExchangeMargin;

///业务类型

TThostFtdcBizTypeType BizType;

///延时换汇冻结金额

TThostFtdcMoneyType FrozenSwap;

///剩余换汇额度

TThostFtdcMoneyType RemainSwap;

};

l PreBalance：昨权益

l Balance：权益

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。

返回

无

FAQ

l 期货品种的套保仓、投机仓、套利仓的单向大边是单独计算，还是一起计算的？对于能源中心INE目前的交易细则是不是也有单向大边的规则？

单向大边目前只有上期所和中金所有此项业务。对于上期所，同品种的买卖双边分别计算，取买卖双边中保证金金额较大的一边单向实时收取。

对于中金所，套利、套保和投机的交易编码不同，计算的时候首先是区分交易编码的，每个交易编码下同品种的买卖双边再分别计算取大边。

对于能源中心，sc目前是单向大边的规则。

l 冻结手续费计算的问题，比如我有大商所的持仓 i1709 10手昨仓，这个时候我平仓2手挂单了，请问此时的平仓手续费率是采用平昨手续费还是平今手续费，还是这两个费率取较大的？

短线开平仓合约的平仓（不管平仓还是平今）在成交的时候是按平今手续费收取的，在冻结的时候是按平仓手续费收取。


CThostFtdcTraderSpi

OnRspQryInvestor

说明

请求查询投资者响应，当执行ReqQryInvestor后，该方法被调用。

函数原型

virtual void OnRspQryInvestor(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///投资者

struct CThostFtdcInvestorField

{

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者分组代码

TThostFtdcInvestorIDType InvestorGroupID;

///投资者名称

TThostFtdcPartyNameType InvestorName;

///证件类型

TThostFtdcIdCardTypeType IdentifiedCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///是否活跃

TThostFtdcBoolType IsActive;

///联系电话

TThostFtdcTelephoneType Telephone;

///通讯地址

TThostFtdcAddressType Address;

///开户日期

TThostFtdcDateType OpenDate;

///手机

TThostFtdcMobileType Mobile;

///手续费率模板代码

TThostFtdcInvestorIDType CommModelID;

///保证金率模板代码

TThostFtdcInvestorIDType MarginModelID;

};

l CommModelID：CTP内部使用

l MarginModelID：CTP内部使用

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryTradingCode

说明

请求查询交易编码响应，当执行ReqQryTradingCode后，该方法被调用。

函数原型

virtual void OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///交易编码

struct CThostFtdcTradingCodeField

{

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///客户代码

TThostFtdcClientIDType ClientID;

///是否活跃

TThostFtdcBoolType IsActive;

///交易编码类型

TThostFtdcClientIDTypeType ClientIDType;

///营业部编号

TThostFtdcBranchIDType BranchID;

///业务类型

TThostFtdcBizTypeType BizType;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryInstrumentMarginRate

说明

请求查询合约保证金率响应，当执行ReqQryInstrumentMarginRate后，该方法被调用。

函数原型

virtual void OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///合约保证金率

struct CThostFtdcInstrumentMarginRateField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资者范围

TThostFtdcInvestorRangeType InvestorRange;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///多头保证金率

TThostFtdcRatioType LongMarginRatioByMoney;

///多头保证金费

TThostFtdcMoneyType LongMarginRatioByVolume;

///空头保证金率

TThostFtdcRatioType ShortMarginRatioByMoney;

///空头保证金费

TThostFtdcMoneyType ShortMarginRatioByVolume;

///是否相对交易所收取

TThostFtdcBoolType IsRelative;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryInstrumentCommissionRate

说明

请求查询合约手续费率响应，当执行ReqQryInstrumentCommissionRate后，该方法被调用。

函数原型

virtual void OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///合约手续费率

struct CThostFtdcInstrumentCommissionRateField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资者范围

TThostFtdcInvestorRangeType InvestorRange;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///开仓手续费率

TThostFtdcRatioType OpenRatioByMoney;

///开仓手续费

TThostFtdcRatioType OpenRatioByVolume;

///平仓手续费率

TThostFtdcRatioType CloseRatioByMoney;

///平仓手续费

TThostFtdcRatioType CloseRatioByVolume;

///平今手续费率

TThostFtdcRatioType CloseTodayRatioByMoney;

///平今手续费

TThostFtdcRatioType CloseTodayRatioByVolume;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///业务类型

TThostFtdcBizTypeType BizType;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryExchange

说明

请求查询交易所响应，当执行ReqQryExchange后，该方法被调用。

函数原型

virtual void OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///交易所

struct CThostFtdcExchangeField

{

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///交易所名称

TThostFtdcExchangeNameType ExchangeName;

///交易所属性

TThostFtdcExchangePropertyType ExchangeProperty;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryProduct

说明

请求查询产品响应，当执行ReqQryProduct后，该方法被调用。

函数原型

virtual void OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///产品

struct CThostFtdcProductField

{

///产品代码

TThostFtdcInstrumentIDType ProductID;

///产品名称

TThostFtdcProductNameType ProductName;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///产品类型

TThostFtdcProductClassType ProductClass;

///合约数量乘数

TThostFtdcVolumeMultipleType VolumeMultiple;

///最小变动价位

TThostFtdcPriceType PriceTick;

///市价单最大下单量

TThostFtdcVolumeType MaxMarketOrderVolume;

///市价单最小下单量

TThostFtdcVolumeType MinMarketOrderVolume;

///限价单最大下单量

TThostFtdcVolumeType MaxLimitOrderVolume;

///限价单最小下单量

TThostFtdcVolumeType MinLimitOrderVolume;

///持仓类型

TThostFtdcPositionTypeType PositionType;

///持仓日期类型

TThostFtdcPositionDateTypeType PositionDateType;

///平仓处理类型

TThostFtdcCloseDealTypeType CloseDealType;

///交易币种类型

TThostFtdcCurrencyIDType TradeCurrencyID;

///质押资金可用范围

TThostFtdcMortgageFundUseRangeType MortgageFundUseRange;

///交易所产品代码

TThostFtdcInstrumentIDType ExchangeProductID;

///合约基础商品乘数

TThostFtdcUnderlyingMultipleType UnderlyingMultiple;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryInstrument

说明

请求查询合约响应，当执行ReqQryInstrument后，该方法被调用。

函数原型

virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///合约

struct CThostFtdcInstrumentField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///合约名称

TThostFtdcInstrumentNameType InstrumentName;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///产品代码

TThostFtdcInstrumentIDType ProductID;

///产品类型

TThostFtdcProductClassType ProductClass;

///交割年份

TThostFtdcYearType DeliveryYear;

///交割月

TThostFtdcMonthType DeliveryMonth;

///市价单最大下单量

TThostFtdcVolumeType MaxMarketOrderVolume;

///市价单最小下单量

TThostFtdcVolumeType MinMarketOrderVolume;

///限价单最大下单量

TThostFtdcVolumeType MaxLimitOrderVolume;

///限价单最小下单量

TThostFtdcVolumeType MinLimitOrderVolume;

///合约数量乘数

TThostFtdcVolumeMultipleType VolumeMultiple;

///最小变动价位

TThostFtdcPriceType PriceTick;

///创建日

TThostFtdcDateType CreateDate;

///上市日

TThostFtdcDateType OpenDate;

///到期日

TThostFtdcDateType ExpireDate;

///开始交割日

TThostFtdcDateType StartDelivDate;

///结束交割日

TThostFtdcDateType EndDelivDate;

///合约生命周期状态

TThostFtdcInstLifePhaseType InstLifePhase;

///当前是否交易

TThostFtdcBoolType IsTrading;

///持仓类型

TThostFtdcPositionTypeType PositionType;

///持仓日期类型

TThostFtdcPositionDateTypeType PositionDateType;

///多头保证金率

TThostFtdcRatioType LongMarginRatio;

///空头保证金率

TThostFtdcRatioType ShortMarginRatio;

///是否使用大额单边保证金算法

TThostFtdcMaxMarginSideAlgorithmType MaxMarginSideAlgorithm;

///基础商品代码

TThostFtdcInstrumentIDType UnderlyingInstrID;

///执行价

TThostFtdcPriceType StrikePrice;

///期权类型

TThostFtdcOptionsTypeType OptionsType;

///合约基础商品乘数

TThostFtdcUnderlyingMultipleType UnderlyingMultiple;

///组合类型

TThostFtdcCombinationTypeType CombinationType;

};

l VolumeMultiple：合约乘数（同交易所）

l PriceTick：最小变动价位（同交易所）

l IsTrading：是否活跃（同交易所）

l DeliveryYear：交割年份（同交易所）

l DeliveryMonth：交割月（同交易所）

l OpenDate：上市日（同交易所）

l CreateDate：创建日（同交易所）

l ExpireDate：到期日（同交易所）

l StartDeliveDate：开始交割日（同交易所）

l EndDelivDate：结束交割日（同交易所）

l 其余字段同期货公司设置

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryDepthMarketData

说明

请求查询行情响应，当执行ReqQryDepthMarketData后，该方法被调用。

函数原型

virtual void OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///深度行情

struct CThostFtdcDepthMarketDataField

{

///交易日

TThostFtdcDateType TradingDay;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///最新价

TThostFtdcPriceType LastPrice;

///上次结算价

TThostFtdcPriceType PreSettlementPrice;

///昨收盘

TThostFtdcPriceType PreClosePrice;

///昨持仓量

TThostFtdcLargeVolumeType PreOpenInterest;

///今开盘

TThostFtdcPriceType OpenPrice;

///最高价

TThostFtdcPriceType HighestPrice;

///最低价

TThostFtdcPriceType LowestPrice;

///数量

TThostFtdcVolumeType Volume;

///成交金额

TThostFtdcMoneyType Turnover;

///持仓量

TThostFtdcLargeVolumeType OpenInterest;

///今收盘

TThostFtdcPriceType ClosePrice;

///本次结算价

TThostFtdcPriceType SettlementPrice;

///涨停板价

TThostFtdcPriceType UpperLimitPrice;

///跌停板价

TThostFtdcPriceType LowerLimitPrice;

///昨虚实度

TThostFtdcRatioType PreDelta;

///今虚实度

TThostFtdcRatioType CurrDelta;

///最后修改时间

TThostFtdcTimeType UpdateTime;

///最后修改毫秒

TThostFtdcMillisecType UpdateMillisec;

///申买价一

TThostFtdcPriceType BidPrice1;

///申买量一

TThostFtdcVolumeType BidVolume1;

///申卖价一

TThostFtdcPriceType AskPrice1;

///申卖量一

TThostFtdcVolumeType AskVolume1;

///申买价二

TThostFtdcPriceType BidPrice2;

///申买量二

TThostFtdcVolumeType BidVolume2;

///申卖价二

TThostFtdcPriceType AskPrice2;

///申卖量二

TThostFtdcVolumeType AskVolume2;

///申买价三

TThostFtdcPriceType BidPrice3;

///申买量三

TThostFtdcVolumeType BidVolume3;

///申卖价三

TThostFtdcPriceType AskPrice3;

///申卖量三

TThostFtdcVolumeType AskVolume3;

///申买价四

TThostFtdcPriceType BidPrice4;

///申买量四

TThostFtdcVolumeType BidVolume4;

///申卖价四

TThostFtdcPriceType AskPrice4;

///申卖量四

TThostFtdcVolumeType AskVolume4;

///申买价五

TThostFtdcPriceType BidPrice5;

///申买量五

TThostFtdcVolumeType BidVolume5;

///申卖价五

TThostFtdcPriceType AskPrice5;

///申卖量五

TThostFtdcVolumeType AskVolume5;

///当日均价

TThostFtdcPriceType AveragePrice;

///业务日期

TThostFtdcDateType ActionDay;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQrySettlementInfo

说明

请求查询投资者结算结果响应，当执行ReqQrySettlementInfo后，该方法被调用。

函数原型

virtual void OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///投资者结算结果

struct CThostFtdcSettlementInfoField

{

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///消息正文

TThostFtdcContentType Content;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryTransferBank

说明

请求查询转帐银行响应，当执行ReqQryTransferBank后，该方法被调用。

函数原型

virtual void OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///转帐银行

struct CThostFtdcTransferBankField

{

///银行代码

TThostFtdcBankIDType BankID;

///银行分中心代码

TThostFtdcBankBrchIDType BankBrchID;

///银行名称

TThostFtdcBankNameType BankName;

///是否活跃

TThostFtdcBoolType IsActive;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryInvestorPositionDetail

说明

请求查询投资者持仓明细响应，当执行ReqQryInvestorPositionDetail后，该方法被调用。

函数原型

virtual void OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///投资者持仓明细

struct CThostFtdcInvestorPositionDetailField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///买卖

TThostFtdcDirectionType Direction;

///开仓日期

TThostFtdcDateType OpenDate;

///成交编号

TThostFtdcTradeIDType TradeID;

///数量

TThostFtdcVolumeType Volume;

///开仓价

TThostFtdcPriceType OpenPrice;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///成交类型

TThostFtdcTradeTypeType TradeType;

///组合合约代码

TThostFtdcInstrumentIDType CombInstrumentID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///逐日盯市平仓盈亏

TThostFtdcMoneyType CloseProfitByDate;

///逐笔对冲平仓盈亏

TThostFtdcMoneyType CloseProfitByTrade;

///逐日盯市持仓盈亏

TThostFtdcMoneyType PositionProfitByDate;

///逐笔对冲持仓盈亏

TThostFtdcMoneyType PositionProfitByTrade;

///投资者保证金

TThostFtdcMoneyType Margin;

///交易所保证金

TThostFtdcMoneyType ExchMargin;

///保证金率

TThostFtdcRatioType MarginRateByMoney;

///保证金率(按手数)

TThostFtdcRatioType MarginRateByVolume;

///昨结算价

TThostFtdcPriceType LastSettlementPrice;

///结算价

TThostFtdcPriceType SettlementPrice;

///平仓量

TThostFtdcVolumeType CloseVolume;

///平仓金额

TThostFtdcMoneyType CloseAmount;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryNotice

说明

请求查询客户通知响应，当执行ReqQryNotice后，该方法被调用。

函数原型

virtual void OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///客户通知

struct CThostFtdcNoticeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///消息正文

TThostFtdcContentType Content;

///经纪公司通知内容序列号

TThostFtdcSequenceLabelType SequenceLabel;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQrySettlementInfoConfirm

说明

请求查询结算信息确认响应，当执行ReqQrySettlementInfoConfirm后，该方法被调用。

函数原型

virtual void OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///投资者结算结果确认信息

struct CThostFtdcSettlementInfoConfirmField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///确认日期

TThostFtdcDateType ConfirmDate;

///确认时间

TThostFtdcTimeType ConfirmTime;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryInvestorPositionCombineDetail

说明

请求查询投资者持仓明细响应，当执行ReqQryInvestorPositionCombineDetail后，该方法被调用。

函数原型

virtual void OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///投资者组合持仓明细

struct CThostFtdcInvestorPositionCombineDetailField

{

///交易日

TThostFtdcDateType TradingDay;

///开仓日期

TThostFtdcDateType OpenDate;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///组合编号

TThostFtdcTradeIDType ComTradeID;

///撮合编号

TThostFtdcTradeIDType TradeID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///买卖

TThostFtdcDirectionType Direction;

///持仓量

TThostFtdcVolumeType TotalAmt;

///投资者保证金

TThostFtdcMoneyType Margin;

///交易所保证金

TThostFtdcMoneyType ExchMargin;

///保证金率

TThostFtdcRatioType MarginRateByMoney;

///保证金率(按手数)

TThostFtdcRatioType MarginRateByVolume;

///单腿编号

TThostFtdcLegIDType LegID;

///单腿乘数

TThostFtdcLegMultipleType LegMultiple;

///组合持仓合约编码

TThostFtdcInstrumentIDType CombInstrumentID;

///成交组号

TThostFtdcTradeGroupIDType TradeGroupID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。

返回

无

FAQ

l 组合持仓明细应该如何去判断谁和谁是一对？

用CombTradeID判断。注意以下几点：

1)CombTradeID是CTP定义的；盘中新开仓的时候CombTradeID比如是115，在盘后结算完成后为了防止重复会重新打上编号，编号里带上交易日，如20170720000003；

2)CombTradeID并不一定是成对出现。比如下单五手组合合约：左腿全部成交，右腿是分笔成交的1，1，3的方式成交的。所以总的收到的成交回报就会有4条。这四条的combtradeid，在盘中是一致的。


CThostFtdcTraderSpi

OnRspQryCFMMCTradingAccountKey

说明

查询保证金监管系统经纪公司资金账户密钥响应，此接口已弃用。

函数原型

virtual void OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///保证金监管系统经纪公司资金账户密钥

struct CThostFtdcCFMMCTradingAccountKeyField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///经纪公司统一编码

TThostFtdcParticipantIDType ParticipantID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///密钥编号

TThostFtdcSequenceNoType KeyID;

///动态密钥

TThostFtdcCFMMCKeyType CurrentKey;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryEWarrantOffset

说明

请求查询仓单折抵信息响应，当执行ReqQryEWarrantOffset后，该方法被调用。

函数原型

virtual void OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///仓单折抵信息

struct CThostFtdcEWarrantOffsetField

{

///交易日期

TThostFtdcTradeDateType TradingDay;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///买卖方向

TThostFtdcDirectionType Direction;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///数量

TThostFtdcVolumeType Volume;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryInvestorProductGroupMargin

说明

请求查询投资者品种/跨品种保证金响应，当执行ReqQryInvestorProductGroupMargin后，该方法被调用。

函数原型

virtual void OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///投资者品种/跨品种保证金

struct CThostFtdcInvestorProductGroupMarginField

{

///品种/跨品种标示

TThostFtdcInstrumentIDType ProductGroupID;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///冻结的保证金

TThostFtdcMoneyType FrozenMargin;

///多头冻结的保证金

TThostFtdcMoneyType LongFrozenMargin;

///空头冻结的保证金

TThostFtdcMoneyType ShortFrozenMargin;

///占用的保证金

TThostFtdcMoneyType UseMargin;

///多头保证金

TThostFtdcMoneyType LongUseMargin;

///空头保证金

TThostFtdcMoneyType ShortUseMargin;

///交易所保证金

TThostFtdcMoneyType ExchMargin;

///交易所多头保证金

TThostFtdcMoneyType LongExchMargin;

///交易所空头保证金

TThostFtdcMoneyType ShortExchMargin;

///平仓盈亏

TThostFtdcMoneyType CloseProfit;

///冻结的手续费

TThostFtdcMoneyType FrozenCommission;

///手续费

TThostFtdcMoneyType Commission;

///冻结的资金

TThostFtdcMoneyType FrozenCash;

///资金差额

TThostFtdcMoneyType CashIn;

///持仓盈亏

TThostFtdcMoneyType PositionProfit;

///折抵总金额

TThostFtdcMoneyType OffsetAmount;

///多头折抵总金额

TThostFtdcMoneyType LongOffsetAmount;

///空头折抵总金额

TThostFtdcMoneyType ShortOffsetAmount;

///交易所折抵总金额

TThostFtdcMoneyType ExchOffsetAmount;

///交易所多头折抵总金额

TThostFtdcMoneyType LongExchOffsetAmount;

///交易所空头折抵总金额

TThostFtdcMoneyType ShortExchOffsetAmount;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryExchangeMarginRate

说明

请求查询交易所保证金率响应，当执行ReqQryExchangeMarginRate后，该方法被调用。

函数原型

virtual void OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///交易所保证金率

struct CThostFtdcExchangeMarginRateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///多头保证金率

TThostFtdcRatioType LongMarginRatioByMoney;

///多头保证金费

TThostFtdcMoneyType LongMarginRatioByVolume;

///空头保证金率

TThostFtdcRatioType ShortMarginRatioByMoney;

///空头保证金费

TThostFtdcMoneyType ShortMarginRatioByVolume;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryExchangeMarginRateAdjust

说明

请求查询交易所调整保证金率响应，当执行ReqQryExchangeMarginRateAdjust后，该方法被调用。

函数原型

virtual void OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///交易所保证金率调整

struct CThostFtdcExchangeMarginRateAdjustField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///跟随交易所投资者多头保证金率

TThostFtdcRatioType LongMarginRatioByMoney;

///跟随交易所投资者多头保证金费

TThostFtdcMoneyType LongMarginRatioByVolume;

///跟随交易所投资者空头保证金率

TThostFtdcRatioType ShortMarginRatioByMoney;

///跟随交易所投资者空头保证金费

TThostFtdcMoneyType ShortMarginRatioByVolume;

///交易所多头保证金率

TThostFtdcRatioType ExchLongMarginRatioByMoney;

///交易所多头保证金费

TThostFtdcMoneyType ExchLongMarginRatioByVolume;

///交易所空头保证金率

TThostFtdcRatioType ExchShortMarginRatioByMoney;

///交易所空头保证金费

TThostFtdcMoneyType ExchShortMarginRatioByVolume;

///不跟随交易所投资者多头保证金率

TThostFtdcRatioType NoLongMarginRatioByMoney;

///不跟随交易所投资者多头保证金费

TThostFtdcMoneyType NoLongMarginRatioByVolume;

///不跟随交易所投资者空头保证金率

TThostFtdcRatioType NoShortMarginRatioByMoney;

///不跟随交易所投资者空头保证金费

TThostFtdcMoneyType NoShortMarginRatioByVolume;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryExchangeRate

说明

请求查询汇率响应，当执行ReqQryExchangeRate后，该方法被调用。

函数原型

virtual void OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///汇率

struct CThostFtdcExchangeRateField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///源币种

TThostFtdcCurrencyIDType FromCurrencyID;

///源币种单位数量

TThostFtdcCurrencyUnitType FromCurrencyUnit;

///目标币种

TThostFtdcCurrencyIDType ToCurrencyID;

///汇率

TThostFtdcExchangeRateType ExchangeRate;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQrySecAgentACIDMap

说明

请求查询二级代理操作员银期权限响应，当执行ReqQrySecAgentACIDMap后，该方法被调用。

函数原型

virtual void OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///二级代理操作员银期权限

struct CThostFtdcSecAgentACIDMapField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///用户代码

TThostFtdcUserIDType UserID;

///资金账户

TThostFtdcAccountIDType AccountID;

///币种

TThostFtdcCurrencyIDType CurrencyID;

///境外中介机构资金帐号

TThostFtdcAccountIDType BrokerSecAgentID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryProductExchRate

说明

请求查询产品报价汇率，当执行ReqQryProductExchRate后，该方法被调用。

函数原型

virtual void OnRspQryProductExchRate(CThostFtdcProductExchRateField *pProductExchRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///产品报价汇率

struct CThostFtdcProductExchRateField

{

///产品代码

TThostFtdcInstrumentIDType ProductID;

///报价币种类型

TThostFtdcCurrencyIDType QuoteCurrencyID;

///汇率

TThostFtdcExchangeRateType ExchangeRate;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryProductGroup

说明

请求查询产品组，当执行ReqQryProductGroup后，该方法被调用。

函数原型

virtual void OnRspQryProductGroup(CThostFtdcProductGroupField *pProductGroup, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///投资者品种/跨品种保证金产品组

struct CThostFtdcProductGroupField

{

///产品代码

TThostFtdcInstrumentIDType ProductID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///产品组代码

TThostFtdcInstrumentIDType ProductGroupID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryMMInstrumentCommissionRate

说明

请求查询做市商合约手续费率响应，当执行ReqQryMMInstrumentCommissionRate后，该方法被调用。

函数原型

virtual void OnRspQryMMInstrumentCommissionRate(CThostFtdcMMInstrumentCommissionRateField *pMMInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///做市商合约手续费率

struct CThostFtdcMMInstrumentCommissionRateField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资者范围

TThostFtdcInvestorRangeType InvestorRange;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///开仓手续费率

TThostFtdcRatioType OpenRatioByMoney;

///开仓手续费

TThostFtdcRatioType OpenRatioByVolume;

///平仓手续费率

TThostFtdcRatioType CloseRatioByMoney;

///平仓手续费

TThostFtdcRatioType CloseRatioByVolume;

///平今手续费率

TThostFtdcRatioType CloseTodayRatioByMoney;

///平今手续费

TThostFtdcRatioType CloseTodayRatioByVolume;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryMMOptionInstrCommRate

说明

请求查询做市商期权合约手续费响应，当执行ReqQryMMOptionInstrCommRate后，该方法被调用。

函数原型

virtual void OnRspQryMMOptionInstrCommRate(CThostFtdcMMOptionInstrCommRateField *pMMOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///当前做市商期权合约手续费的详细内容

struct CThostFtdcMMOptionInstrCommRateField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资者范围

TThostFtdcInvestorRangeType InvestorRange;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///开仓手续费率

TThostFtdcRatioType OpenRatioByMoney;

///开仓手续费

TThostFtdcRatioType OpenRatioByVolume;

///平仓手续费率

TThostFtdcRatioType CloseRatioByMoney;

///平仓手续费

TThostFtdcRatioType CloseRatioByVolume;

///平今手续费率

TThostFtdcRatioType CloseTodayRatioByMoney;

///平今手续费

TThostFtdcRatioType CloseTodayRatioByVolume;

///执行手续费率

TThostFtdcRatioType StrikeRatioByMoney;

///执行手续费

TThostFtdcRatioType StrikeRatioByVolume;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryInstrumentOrderCommRate

说明

请求查询报单手续费响应，当执行ReqQryInstrumentOrderCommRate后，该方法被调用。

函数原型

virtual void OnRspQryInstrumentOrderCommRate(CThostFtdcInstrumentOrderCommRateField *pInstrumentOrderCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///当前报单手续费的详细内容

struct CThostFtdcInstrumentOrderCommRateField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资者范围

TThostFtdcInvestorRangeType InvestorRange;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///报单手续费

TThostFtdcRatioType OrderCommByVolume;

///撤单手续费

TThostFtdcRatioType OrderActionCommByVolume;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQrySecAgentTradingAccount

说明

请求查询资金账户响应，当执行ReqQrySecAgentTradingAccount后，该方法被调用。

函数原型

virtual void OnRspQrySecAgentTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///资金账户

struct CThostFtdcTradingAccountField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///上次质押金额

TThostFtdcMoneyType PreMortgage;

///上次信用额度

TThostFtdcMoneyType PreCredit;

///上次存款额

TThostFtdcMoneyType PreDeposit;

///上次结算准备金

TThostFtdcMoneyType PreBalance;

///上次占用的保证金

TThostFtdcMoneyType PreMargin;

///利息基数

TThostFtdcMoneyType InterestBase;

///利息收入

TThostFtdcMoneyType Interest;

///入金金额

TThostFtdcMoneyType Deposit;

///出金金额

TThostFtdcMoneyType Withdraw;

///冻结的保证金

TThostFtdcMoneyType FrozenMargin;

///冻结的资金

TThostFtdcMoneyType FrozenCash;

///冻结的手续费

TThostFtdcMoneyType FrozenCommission;

///当前保证金总额

TThostFtdcMoneyType CurrMargin;

///资金差额

TThostFtdcMoneyType CashIn;

///手续费

TThostFtdcMoneyType Commission;

///平仓盈亏

TThostFtdcMoneyType CloseProfit;

///持仓盈亏

TThostFtdcMoneyType PositionProfit;

///期货结算准备金

TThostFtdcMoneyType Balance;

///可用资金

TThostFtdcMoneyType Available;

///可取资金

TThostFtdcMoneyType WithdrawQuota;

///基本准备金

TThostFtdcMoneyType Reserve;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///信用额度

TThostFtdcMoneyType Credit;

///质押金额

TThostFtdcMoneyType Mortgage;

///交易所保证金

TThostFtdcMoneyType ExchangeMargin;

///投资者交割保证金

TThostFtdcMoneyType DeliveryMargin;

///交易所交割保证金

TThostFtdcMoneyType ExchangeDeliveryMargin;

///保底期货结算准备金

TThostFtdcMoneyType ReserveBalance;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///上次货币质入金额

TThostFtdcMoneyType PreFundMortgageIn;

///上次货币质出金额

TThostFtdcMoneyType PreFundMortgageOut;

///货币质入金额

TThostFtdcMoneyType FundMortgageIn;

///货币质出金额

TThostFtdcMoneyType FundMortgageOut;

///货币质押余额

TThostFtdcMoneyType FundMortgageAvailable;

///可质押货币金额

TThostFtdcMoneyType MortgageableFund;

///特殊产品占用保证金

TThostFtdcMoneyType SpecProductMargin;

///特殊产品冻结保证金

TThostFtdcMoneyType SpecProductFrozenMargin;

///特殊产品手续费

TThostFtdcMoneyType SpecProductCommission;

///特殊产品冻结手续费

TThostFtdcMoneyType SpecProductFrozenCommission;

///特殊产品持仓盈亏

TThostFtdcMoneyType SpecProductPositionProfit;

///特殊产品平仓盈亏

TThostFtdcMoneyType SpecProductCloseProfit;

///根据持仓盈亏算法计算的特殊产品持仓盈亏

TThostFtdcMoneyType SpecProductPositionProfitByAlg;

///特殊产品交易所保证金

TThostFtdcMoneyType SpecProductExchangeMargin;

///业务类型

TThostFtdcBizTypeType BizType;

///延时换汇冻结金额

TThostFtdcMoneyType FrozenSwap;

///剩余换汇额度

TThostFtdcMoneyType RemainSwap;

};

l PreBalance:昨日权益

l Balance:权益

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。

返回

无

FAQ

此处添加


CThostFtdcTraderSpi

OnRspQrySecAgentCheckMode

说明

请求查询二级代理商资金校验模式响应，当执行ReqQrySecAgentCheckMode后，该方法被调用。

函数原型

virtual void OnRspQrySecAgentCheckMode(CThostFtdcSecAgentCheckModeField *pSecAgentCheckMode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///二级代理商资金校验模式

struct CThostFtdcSecAgentCheckModeField

{

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///币种

TThostFtdcCurrencyIDType CurrencyID;

///境外中介机构资金帐号

TThostFtdcAccountIDType BrokerSecAgentID;

///是否需要校验自己的资金账户

TThostFtdcBoolType CheckSelfAccount;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryOptionInstrTradeCost

说明

请求查询期权交易成本响应，当执行ReqQryOptionInstrTradeCost后，该方法被调用。

函数原型

virtual void OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///期权交易成本

struct CThostFtdcOptionInstrTradeCostField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///期权合约保证金不变部分

TThostFtdcMoneyType FixedMargin;

///期权合约最小保证金

TThostFtdcMoneyType MiniMargin;

///期权合约权利金

TThostFtdcMoneyType Royalty;

///交易所期权合约保证金不变部分

TThostFtdcMoneyType ExchFixedMargin;

///交易所期权合约最小保证金

TThostFtdcMoneyType ExchMiniMargin;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryOptionInstrCommRate

说明

请求查询期权合约手续费响应，当执行ReqQryOptionInstrCommRate后，该方法被调用。

函数原型

virtual void OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///当前期权合约手续费的详细内容

struct CThostFtdcOptionInstrCommRateField

{

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///投资者范围

TThostFtdcInvestorRangeType InvestorRange;

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///开仓手续费率

TThostFtdcRatioType OpenRatioByMoney;

///开仓手续费

TThostFtdcRatioType OpenRatioByVolume;

///平仓手续费率

TThostFtdcRatioType CloseRatioByMoney;

///平仓手续费

TThostFtdcRatioType CloseRatioByVolume;

///平今手续费率

TThostFtdcRatioType CloseTodayRatioByMoney;

///平今手续费

TThostFtdcRatioType CloseTodayRatioByVolume;

///执行手续费率

TThostFtdcRatioType StrikeRatioByMoney;

///执行手续费

TThostFtdcRatioType StrikeRatioByVolume;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryExecOrder

说明

请求查询执行宣告响应，当执行ReqQryExecOrder后，该方法被调用。

函数原型

virtual void OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///执行宣告

struct CThostFtdcExecOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///执行宣告引用

TThostFtdcOrderRefType ExecOrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///数量

TThostFtdcVolumeType Volume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///开平标志

TThostFtdcOffsetFlagType OffsetFlag;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///执行类型

TThostFtdcActionTypeType ActionType;

///保留头寸申请的持仓方向

TThostFtdcPosiDirectionType PosiDirection;

///期权行权后是否保留期货头寸的标记,该字段已废弃

TThostFtdcExecOrderPositionFlagType ReservePositionFlag;

///期权行权后生成的头寸是否自动平仓

TThostFtdcExecOrderCloseFlagType CloseFlag;

///本地执行宣告编号

TThostFtdcOrderLocalIDType ExecOrderLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///执行宣告提交状态

TThostFtdcOrderSubmitStatusType OrderSubmitStatus;

///报单提示序号

TThostFtdcSequenceNoType NotifySequence;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///执行宣告编号

TThostFtdcExecOrderSysIDType ExecOrderSysID;

///报单日期

TThostFtdcDateType InsertDate;

///插入时间

TThostFtdcTimeType InsertTime;

///撤销时间

TThostFtdcTimeType CancelTime;

///执行结果

TThostFtdcExecResultType ExecResult;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///操作用户代码

TThostFtdcUserIDType ActiveUserID;

///经纪公司报单编号

TThostFtdcSequenceNoType BrokerExecOrderSeq;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l InstallID：CTP内部使用

l OrderSubmitStatus：执行的状态

l ExecResult：执行的结果或者执行失败的信息

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryForQuote

说明

请求查询询价响应，当执行ReqQryForQuote后，该方法被调用。

函数原型

virtual void OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///询价

struct CThostFtdcForQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///询价引用

TThostFtdcOrderRefType ForQuoteRef;

///用户代码

TThostFtdcUserIDType UserID;

///本地询价编号

TThostFtdcOrderLocalIDType ForQuoteLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///报单日期

TThostFtdcDateType InsertDate;

///插入时间

TThostFtdcTimeType InsertTime;

///询价状态

TThostFtdcForQuoteStatusType ForQuoteStatus;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///操作用户代码

TThostFtdcUserIDType ActiveUserID;

///经纪公司询价编号

TThostFtdcSequenceNoType BrokerForQutoSeq;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ForQuoteStatus：询价状态

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryQuote

说明

请求查询报价响应，当执行ReqQryQuote后，该方法被调用。

函数原型

virtual void OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///报价

struct CThostFtdcQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报价引用

TThostFtdcOrderRefType QuoteRef;

///用户代码

TThostFtdcUserIDType UserID;

///卖价格

TThostFtdcPriceType AskPrice;

///买价格

TThostFtdcPriceType BidPrice;

///卖数量

TThostFtdcVolumeType AskVolume;

///买数量

TThostFtdcVolumeType BidVolume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///卖开平标志

TThostFtdcOffsetFlagType AskOffsetFlag;

///买开平标志

TThostFtdcOffsetFlagType BidOffsetFlag;

///卖投机套保标志

TThostFtdcHedgeFlagType AskHedgeFlag;

///买投机套保标志

TThostFtdcHedgeFlagType BidHedgeFlag;

///本地报价编号

TThostFtdcOrderLocalIDType QuoteLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///报价提示序号

TThostFtdcSequenceNoType NotifySequence;

///报价提交状态

TThostFtdcOrderSubmitStatusType OrderSubmitStatus;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///报价编号

TThostFtdcOrderSysIDType QuoteSysID;

///报单日期

TThostFtdcDateType InsertDate;

///插入时间

TThostFtdcTimeType InsertTime;

///撤销时间

TThostFtdcTimeType CancelTime;

///报价状态

TThostFtdcOrderStatusType QuoteStatus;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///卖方报单编号

TThostFtdcOrderSysIDType AskOrderSysID;

///买方报单编号

TThostFtdcOrderSysIDType BidOrderSysID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///操作用户代码

TThostFtdcUserIDType ActiveUserID;

///经纪公司报价编号

TThostFtdcSequenceNoType BrokerQuoteSeq;

///衍生卖报单引用

TThostFtdcOrderRefType AskOrderRef;

///衍生买报单引用

TThostFtdcOrderRefType BidOrderRef;

///应价编号

TThostFtdcOrderSysIDType ForQuoteSysID;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l InstallID：CTP内部使用

l OrderSubmitStatus：报价的最后状态

l QuoteStatus：报价是否有报出，或者收到交易所的回报

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryOptionSelfClose

说明

请求查询期权自对冲响应，当执行ReqQryOptionSelfClose后，该方法被调用。

函数原型

virtual void OnRspQryOptionSelfClose(CThostFtdcOptionSelfCloseField *pOptionSelfClose, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///期权自对冲

struct CThostFtdcOptionSelfCloseField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///期权自对冲引用

TThostFtdcOrderRefType OptionSelfCloseRef;

///用户代码

TThostFtdcUserIDType UserID;

///数量

TThostFtdcVolumeType Volume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///期权行权的头寸是否自对冲

TThostFtdcOptSelfCloseFlagType OptSelfCloseFlag;

///本地期权自对冲编号

TThostFtdcOrderLocalIDType OptionSelfCloseLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///期权自对冲提交状态

TThostFtdcOrderSubmitStatusType OrderSubmitStatus;

///报单提示序号

TThostFtdcSequenceNoType NotifySequence;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///期权自对冲编号

TThostFtdcOrderSysIDType OptionSelfCloseSysID;

///报单日期

TThostFtdcDateType InsertDate;

///插入时间

TThostFtdcTimeType InsertTime;

///撤销时间

TThostFtdcTimeType CancelTime;

///自对冲结果

TThostFtdcExecResultType ExecResult;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///操作用户代码

TThostFtdcUserIDType ActiveUserID;

///经纪公司报单编号

TThostFtdcSequenceNoType BrokerOptionSelfCloseSeq;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l InstallID：CTP内部使用

l OrderSubmitStatus：报单的状态

l ExecResult：自对冲最后的结果

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryInvestUnit

说明

请求查询投资单元响应，当执行ReqQryInvestUnit后，该方法被调用。

函数原型

virtual void OnRspQryInvestUnit(CThostFtdcInvestUnitField *pInvestUnit, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///投资单元

struct CThostFtdcInvestUnitField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///投资者单元名称

TThostFtdcPartyNameType InvestorUnitName;

///投资者分组代码

TThostFtdcInvestorIDType InvestorGroupID;

///手续费率模板代码

TThostFtdcInvestorIDType CommModelID;

///保证金率模板代码

TThostFtdcInvestorIDType MarginModelID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryCombInstrumentGuard

说明

请求查询组合合约安全系数响应，当执行ReqQryCombInstrumentGuard后，该方法被调用。

函数原型

virtual void OnRspQryCombInstrumentGuard(CThostFtdcCombInstrumentGuardField *pCombInstrumentGuard, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///组合合约安全系数

struct CThostFtdcCombInstrumentGuardField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///比率类型

TThostFtdcRatioType GuarantRatio;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryCombAction

说明

请求查询申请组合响应，当执行ReqQryCombAction后，该方法被调用

函数原型

virtual void OnRspQryCombAction(CThostFtdcCombActionField *pCombAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///申请组合

struct CThostFtdcCombActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///组合引用

TThostFtdcOrderRefType CombActionRef;

///用户代码

TThostFtdcUserIDType UserID;

///买卖方向

TThostFtdcDirectionType Direction;

///数量

TThostFtdcVolumeType Volume;

///组合指令方向

TThostFtdcCombDirectionType CombDirection;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///本地申请组合编号

TThostFtdcOrderLocalIDType ActionLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///组合状态

TThostFtdcOrderActionStatusType ActionStatus;

///报单提示序号

TThostFtdcSequenceNoType NotifySequence;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

///组合编号

TThostFtdcTradeIDType ComTradeID;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

l CombDirection：确定是组合还是拆分命令

l ActionStatus：组合单最后的报单结果

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryTransferSerial

说明

请求查询转帐流水响应，当执行ReqQryTransferSerial后，该方法被调用。

函数原型

virtual void OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///银期转账交易流水表

struct CThostFtdcTransferSerialField

{

///平台流水号

TThostFtdcPlateSerialType PlateSerial;

///交易发起方日期

TThostFtdcTradeDateType TradeDate;

///交易日期

TThostFtdcDateType TradingDay;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///交易代码

TThostFtdcTradeCodeType TradeCode;

///会话编号

TThostFtdcSessionIDType SessionID;

///银行编码

TThostFtdcBankIDType BankID;

///银行分支机构编码

TThostFtdcBankBrchIDType BankBranchID;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///期货公司编码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///期货公司帐号类型

TThostFtdcFutureAccTypeType FutureAccType;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易金额

TThostFtdcTradeAmountType TradeAmount;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///有效标志

TThostFtdcAvailabilityFlagType AvailabilityFlag;

///操作员

TThostFtdcOperatorCodeType OperatorCode;

///新银行帐号

TThostFtdcBankAccountType BankNewAccount;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

l BankBranchID：一般为0000

l BrokerBranchID：一般为0000

l AvailabilityFlag：是否转成成功，不成功则CTP会自动发起冲正

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryAccountregister

说明

请求查询银期签约关系响应，当执行ReqQryAccountregister后，该方法被调用

函数原型

virtual void OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///客户开销户信息表

struct CThostFtdcAccountregisterField

{

///交易日期

TThostFtdcTradeDateType TradeDay;

///银行编码

TThostFtdcBankIDType BankID;

///银行分支机构编码

TThostFtdcBankBrchIDType BankBranchID;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///期货公司编码

TThostFtdcBrokerIDType BrokerID;

///期货公司分支机构编码

TThostFtdcFutureBranchIDType BrokerBranchID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///开销户类别

TThostFtdcOpenOrDestroyType OpenOrDestroy;

///签约日期

TThostFtdcTradeDateType RegDate;

///解约日期

TThostFtdcTradeDateType OutDate;

///交易ID

TThostFtdcTIDType TID;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l BankID：银行编码

l BankBranchID：一般都是0000

l BrokerBranchID：一版都是0000

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspError

说明

针对用户请求的出错通知。

函数原型

virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。

返回

无

FAQ

查询时遇到报“OnRspError[90]: CTP：查询未就绪，请稍后重试”，则可能此时查询核心还没有就绪，建议稍后再做一次查询操作。此类情况一般发生在系统初始化过程中，用户登录后立即发起查询。


CThostFtdcTraderSpi

OnRtnOrder

说明

报单通知，当执行ReqOrderInsert后并且报出后，收到返回则调用此接口，私有流回报。

函数原型

virtual void OnRtnOrder(CThostFtdcOrderField *pOrder) {};

参数

///报单

struct CThostFtdcOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///报单价格条件

TThostFtdcOrderPriceTypeType OrderPriceType;

///买卖方向

TThostFtdcDirectionType Direction;

///组合开平标志

TThostFtdcCombOffsetFlagType CombOffsetFlag;

///组合投机套保标志

TThostFtdcCombHedgeFlagType CombHedgeFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量

TThostFtdcVolumeType VolumeTotalOriginal;

///有效期类型

TThostFtdcTimeConditionType TimeCondition;

///GTD日期

TThostFtdcDateType GTDDate;

///成交量类型

TThostFtdcVolumeConditionType VolumeCondition;

///最小成交量

TThostFtdcVolumeType MinVolume;

///触发条件

TThostFtdcContingentConditionType ContingentCondition;

///止损价

TThostFtdcPriceType StopPrice;

///强平原因

TThostFtdcForceCloseReasonType ForceCloseReason;

///自动挂起标志

TThostFtdcBoolType IsAutoSuspend;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///请求编号

TThostFtdcRequestIDType RequestID;

///本地报单编号

TThostFtdcOrderLocalIDType OrderLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///报单提交状态

TThostFtdcOrderSubmitStatusType OrderSubmitStatus;

///报单提示序号

TThostFtdcSequenceNoType NotifySequence;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///报单来源

TThostFtdcOrderSourceType OrderSource;

///报单状态

TThostFtdcOrderStatusType OrderStatus;

///报单类型

TThostFtdcOrderTypeType OrderType;

///今成交数量

TThostFtdcVolumeType VolumeTraded;

///剩余数量

TThostFtdcVolumeType VolumeTotal;

///报单日期

TThostFtdcDateType InsertDate;

///委托时间

TThostFtdcTimeType InsertTime;

///激活时间

TThostFtdcTimeType ActiveTime;

///挂起时间

TThostFtdcTimeType SuspendTime;

///最后修改时间

TThostFtdcTimeType UpdateTime;

///撤销时间

TThostFtdcTimeType CancelTime;

///最后修改交易所交易员代码

TThostFtdcTraderIDType ActiveTraderID;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///用户强评标志

TThostFtdcBoolType UserForceClose;

///操作用户代码

TThostFtdcUserIDType ActiveUserID;

///经纪公司报单编号

TThostFtdcSequenceNoType BrokerOrderSeq;

///相关报单

TThostFtdcOrderSysIDType RelativeOrderSysID;

///郑商所成交数量

TThostFtdcVolumeType ZCETotalTradedVolume;

///互换单标志

TThostFtdcBoolType IsSwapOrder;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ContingentCondition：作为条件单的触发条件

l StopPrice：用户条件单的触发价格。

l ForceCloseReason：投资者发出的报单请求一般强平原因为0“非强平”

l InstallID：CTP内部使用

l OrderSubmitStatus：报单是否通过CTP校验的状态

l OrderStatus：报单状态，通过交易所反馈

l IsSwapOrder：是否互换单，是为1，否为0


CThostFtdcTraderSpi

OnRtnTrade

说明

成交通知，报单发出后有成交则通过此接口返回。私有流

函数原型

virtual void OnRtnTrade(CThostFtdcTradeField *pTrade) {};

参数

///成交

struct CThostFtdcTradeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///成交编号

TThostFtdcTradeIDType TradeID;

///买卖方向

TThostFtdcDirectionType Direction;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///交易角色

TThostFtdcTradingRoleType TradingRole;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///开平标志

TThostFtdcOffsetFlagType OffsetFlag;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///价格

TThostFtdcPriceType Price;

///数量

TThostFtdcVolumeType Volume;

///成交时期

TThostFtdcDateType TradeDate;

///成交时间

TThostFtdcTimeType TradeTime;

///成交类型

TThostFtdcTradeTypeType TradeType;

///成交价来源

TThostFtdcPriceSourceType PriceSource;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///本地报单编号

TThostFtdcOrderLocalIDType OrderLocalID;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///序号

TThostFtdcSequenceNoType SequenceNo;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///经纪公司报单编号

TThostFtdcSequenceNoType BrokerOrderSeq;

///成交来源

TThostFtdcTradeSourceType TradeSource;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};


CThostFtdcTraderSpi

OnErrRtnOrderInsert

说明

报单录入错误回报，当执行ReqOrderInsert后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) {};

参数

///输入报单

struct CThostFtdcInputOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///报单价格条件

TThostFtdcOrderPriceTypeType OrderPriceType;

///买卖方向

TThostFtdcDirectionType Direction;

///组合开平标志

TThostFtdcCombOffsetFlagType CombOffsetFlag;

///组合投机套保标志

TThostFtdcCombHedgeFlagType CombHedgeFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量

TThostFtdcVolumeType VolumeTotalOriginal;

///有效期类型

TThostFtdcTimeConditionType TimeCondition;

///GTD日期

TThostFtdcDateType GTDDate;

///成交量类型

TThostFtdcVolumeConditionType VolumeCondition;

///最小成交量

TThostFtdcVolumeType MinVolume;

///触发条件

TThostFtdcContingentConditionType ContingentCondition;

///止损价

TThostFtdcPriceType StopPrice;

///强平原因

TThostFtdcForceCloseReasonType ForceCloseReason;

///自动挂起标志

TThostFtdcBoolType IsAutoSuspend;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///请求编号

TThostFtdcRequestIDType RequestID;

///用户强评标志

TThostFtdcBoolType UserForceClose;

///互换单标志

TThostFtdcBoolType IsSwapOrder;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OrderPriceType: 确定输入的报单类型，比如限价单则填写THOST_FTDC_OPT_LimitPrice、市价单则填写THOST_FTDC_OPT_AnyPrice。

l Direction: 确定买卖方向

l CombOffsetFlag: 确定开平标志。注:上期所、能源交易所有平今指令，下平仓指令和平昨指令相同

l CombHedgeFlag: 确定投机套保标志 例:投机 THOST_FTDC_BHF_Speculation

l TimeCondition: 确定报单有效期类型 例:立即完成，否则撤销 THOST_FTDC_TC_IOC

l VolumeCondition: 确定成交量类型

l ContingentCondition: 确定触发条件

l StopPrice: 止损价，用于条件单的触发价格

l UserForceClose：普通投资者一般为非强平操作是0，如果是强平单的话则为1

l IsSwapOrder: 暂不支持互换单，填0

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnErrRtnOrderAction

说明

报单操作错误回报，当执行ReqOrderAction后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) {};

参数

///报单操作

struct CThostFtdcOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报单操作引用

TThostFtdcOrderActionRefType OrderActionRef;

///报单引用

TThostFtdcOrderRefType OrderRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量变化

TThostFtdcVolumeType VolumeChange;

///操作日期

TThostFtdcDateType ActionDate;

///操作时间

TThostFtdcTimeType ActionTime;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///本地报单编号

TThostFtdcOrderLocalIDType OrderLocalID;

///操作本地编号

TThostFtdcOrderLocalIDType ActionLocalID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///报单操作状态

TThostFtdcOrderActionStatusType OrderActionStatus;

///用户代码

TThostFtdcUserIDType UserID;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OrderSysID：交易所返回的报单编号

l ActionFlag：撤单标志，现在只支持删除，不支持修改

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnRtnInstrumentStatus

说明

合约交易状态通知，主动推送。私有流回报。

函数原型

virtual void OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) {};

参数

///合约状态

struct CThostFtdcInstrumentStatusField

{

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///结算组代码

TThostFtdcSettlementGroupIDType SettlementGroupID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///合约交易状态

TThostFtdcInstrumentStatusType InstrumentStatus;

///交易阶段编号

TThostFtdcTradingSegmentSNType TradingSegmentSN;

///进入本状态时间

TThostFtdcTimeType EnterTime;

///进入本状态原因

TThostFtdcInstStatusEnterReasonType EnterReason;

};

返回

无

FAQ

期权合约状态暂时不推送。


CThostFtdcTraderSpi

OnRtnBulletin

说明

交易所公告通知，无Req属于私有流回报

函数原型

virtual void OnRtnBulletin(CThostFtdcBulletinField *pBulletin) {};

参数

///交易所公告

struct CThostFtdcBulletinField

{

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///交易日

TThostFtdcDateType TradingDay;

///公告编号

TThostFtdcBulletinIDType BulletinID;

///序列号

TThostFtdcSequenceNoType SequenceNo;

///公告类型

TThostFtdcNewsTypeType NewsType;

///紧急程度

TThostFtdcNewsUrgencyType NewsUrgency;

///发送时间

TThostFtdcTimeType SendTime;

///消息摘要

TThostFtdcAbstractType Abstract;

///消息来源

TThostFtdcComeFromType ComeFrom;

///消息正文

TThostFtdcContentType Content;

///WEB地址

TThostFtdcURLLinkType URLLink;

///市场代码

TThostFtdcMarketIDType MarketID;

};


CThostFtdcTraderSpi

OnRtnTradingNotice

说明

交易通知，无Req属于私有流回报。

函数原型

virtual void OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) {};

参数

///用户事件通知信息

struct CThostFtdcTradingNoticeInfoField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///发送时间

TThostFtdcTimeType SendTime;

///消息正文

TThostFtdcContentType FieldContent;

///序列系列号

TThostFtdcSequenceSeriesType SequenceSeries;

///序列号

TThostFtdcSequenceNoType SequenceNo;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

返回

无

FAQ

此处添加


CThostFtdcTraderSpi

OnRtnErrorConditionalOrder

说明

提示条件单校验错误。

函数原型

virtual void OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) {};

参数

///查询错误报单操作

struct CThostFtdcErrorConditionalOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///报单价格条件

TThostFtdcOrderPriceTypeType OrderPriceType;

///买卖方向

TThostFtdcDirectionType Direction;

///组合开平标志

TThostFtdcCombOffsetFlagType CombOffsetFlag;

///组合投机套保标志

TThostFtdcCombHedgeFlagType CombHedgeFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量

TThostFtdcVolumeType VolumeTotalOriginal;

///有效期类型

TThostFtdcTimeConditionType TimeCondition;

///GTD日期

TThostFtdcDateType GTDDate;

///成交量类型

TThostFtdcVolumeConditionType VolumeCondition;

///最小成交量

TThostFtdcVolumeType MinVolume;

///触发条件

TThostFtdcContingentConditionType ContingentCondition;

///止损价

TThostFtdcPriceType StopPrice;

///强平原因

TThostFtdcForceCloseReasonType ForceCloseReason;

///自动挂起标志

TThostFtdcBoolType IsAutoSuspend;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///请求编号

TThostFtdcRequestIDType RequestID;

///本地报单编号

TThostFtdcOrderLocalIDType OrderLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///报单提交状态

TThostFtdcOrderSubmitStatusType OrderSubmitStatus;

///报单提示序号

TThostFtdcSequenceNoType NotifySequence;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///报单来源

TThostFtdcOrderSourceType OrderSource;

///报单状态

TThostFtdcOrderStatusType OrderStatus;

///报单类型

TThostFtdcOrderTypeType OrderType;

///今成交数量

TThostFtdcVolumeType VolumeTraded;

///剩余数量

TThostFtdcVolumeType VolumeTotal;

///报单日期

TThostFtdcDateType InsertDate;

///委托时间

TThostFtdcTimeType InsertTime;

///激活时间

TThostFtdcTimeType ActiveTime;

///挂起时间

TThostFtdcTimeType SuspendTime;

///最后修改时间

TThostFtdcTimeType UpdateTime;

///撤销时间

TThostFtdcTimeType CancelTime;

///最后修改交易所交易员代码

TThostFtdcTraderIDType ActiveTraderID;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///用户强评标志

TThostFtdcBoolType UserForceClose;

///操作用户代码

TThostFtdcUserIDType ActiveUserID;

///经纪公司报单编号

TThostFtdcSequenceNoType BrokerOrderSeq;

///相关报单

TThostFtdcOrderSysIDType RelativeOrderSysID;

///郑商所成交数量

TThostFtdcVolumeType ZCETotalTradedVolume;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///互换单标志

TThostFtdcBoolType IsSwapOrder;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l StopPrice：条件单触发价格

l ForceCloseReason：一般为0“非强平”

l InstallID：CTP内部使用

l OrderSubmitStatus：报单提交状态，查看是否通过ctp校验

l OrderStatus：报单最终状态


CThostFtdcTraderSpi

OnRtnExecOrder

说明

执行宣告通知，当执行ReqExecOrderInsert后并且报出后，收到返回则调用此接口，私有流回报。

函数原型

virtual void OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) {};

参数

///执行宣告

struct CThostFtdcExecOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///执行宣告引用

TThostFtdcOrderRefType ExecOrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///数量

TThostFtdcVolumeType Volume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///开平标志

TThostFtdcOffsetFlagType OffsetFlag;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///执行类型

TThostFtdcActionTypeType ActionType;

///保留头寸申请的持仓方向

TThostFtdcPosiDirectionType PosiDirection;

///期权行权后是否保留期货头寸的标记,该字段已废弃

TThostFtdcExecOrderPositionFlagType ReservePositionFlag;

///期权行权后生成的头寸是否自动平仓

TThostFtdcExecOrderCloseFlagType CloseFlag;

///本地执行宣告编号

TThostFtdcOrderLocalIDType ExecOrderLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///执行宣告提交状态

TThostFtdcOrderSubmitStatusType OrderSubmitStatus;

///报单提示序号

TThostFtdcSequenceNoType NotifySequence;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///执行宣告编号

TThostFtdcExecOrderSysIDType ExecOrderSysID;

///报单日期

TThostFtdcDateType InsertDate;

///插入时间

TThostFtdcTimeType InsertTime;

///撤销时间

TThostFtdcTimeType CancelTime;

///执行结果

TThostFtdcExecResultType ExecResult;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///操作用户代码

TThostFtdcUserIDType ActiveUserID;

///经纪公司报单编号

TThostFtdcSequenceNoType BrokerExecOrderSeq;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OrderSubmitStatus：执行宣告的状态，查看是否已经报到交易所

l ExecResult：执行宣告的最后状态，看是否已经执行

l StatusMsg：报单状态，明文


CThostFtdcTraderSpi

OnErrRtnExecOrderInsert

说明

执行宣告录入错误回报，当执行ReqExecOrderInsert后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) {};

参数

///输入的执行宣告

struct CThostFtdcInputExecOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///执行宣告引用

TThostFtdcOrderRefType ExecOrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///数量

TThostFtdcVolumeType Volume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///开平标志

TThostFtdcOffsetFlagType OffsetFlag;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///执行类型

TThostFtdcActionTypeType ActionType;

///保留头寸申请的持仓方向

TThostFtdcPosiDirectionType PosiDirection;

///期权行权后是否保留期货头寸的标记,该字段已废弃

TThostFtdcExecOrderPositionFlagType ReservePositionFlag;

///期权行权后生成的头寸是否自动平仓

TThostFtdcExecOrderCloseFlagType CloseFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnErrRtnExecOrderAction

说明

执行宣告操作错误回报，当执行ReqExecOrderAction后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) {};

参数

///执行宣告操作

struct CThostFtdcExecOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///执行宣告操作引用

TThostFtdcOrderActionRefType ExecOrderActionRef;

///执行宣告引用

TThostFtdcOrderRefType ExecOrderRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///执行宣告操作编号

TThostFtdcExecOrderSysIDType ExecOrderSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///操作日期

TThostFtdcDateType ActionDate;

///操作时间

TThostFtdcTimeType ActionTime;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///本地执行宣告编号

TThostFtdcOrderLocalIDType ExecOrderLocalID;

///操作本地编号

TThostFtdcOrderLocalIDType ActionLocalID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///报单操作状态

TThostFtdcOrderActionStatusType OrderActionStatus;

///用户代码

TThostFtdcUserIDType UserID;

///执行类型

TThostFtdcActionTypeType ActionType;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ActionFlag：一般都是删除操作，不支持修改

l InstallID：CTP内部使用

l OrderActionStatus：报单的状态

l StatusMsg：错误的信息

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnErrRtnForQuoteInsert

说明

询价录入错误回报，当执行ReqForQuoteInsert后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) {};

参数

///输入的询价

struct CThostFtdcInputForQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///询价引用

TThostFtdcOrderRefType ForQuoteRef;

///用户代码

TThostFtdcUserIDType UserID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnRtnQuote

说明

报价通知，当执行ReqQuoteInsert后并且报出后，收到返回则调用此接口，私有流回报。

函数原型

virtual void OnRtnQuote(CThostFtdcQuoteField *pQuote) {};

参数

///报价

struct CThostFtdcQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报价引用

TThostFtdcOrderRefType QuoteRef;

///用户代码

TThostFtdcUserIDType UserID;

///卖价格

TThostFtdcPriceType AskPrice;

///买价格

TThostFtdcPriceType BidPrice;

///卖数量

TThostFtdcVolumeType AskVolume;

///买数量

TThostFtdcVolumeType BidVolume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///卖开平标志

TThostFtdcOffsetFlagType AskOffsetFlag;

///买开平标志

TThostFtdcOffsetFlagType BidOffsetFlag;

///卖投机套保标志

TThostFtdcHedgeFlagType AskHedgeFlag;

///买投机套保标志

TThostFtdcHedgeFlagType BidHedgeFlag;

///本地报价编号

TThostFtdcOrderLocalIDType QuoteLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///报价提示序号

TThostFtdcSequenceNoType NotifySequence;

///报价提交状态

TThostFtdcOrderSubmitStatusType OrderSubmitStatus;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///报价编号

TThostFtdcOrderSysIDType QuoteSysID;

///报单日期

TThostFtdcDateType InsertDate;

///插入时间

TThostFtdcTimeType InsertTime;

///撤销时间

TThostFtdcTimeType CancelTime;

///报价状态

TThostFtdcOrderStatusType QuoteStatus;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///卖方报单编号

TThostFtdcOrderSysIDType AskOrderSysID;

///买方报单编号

TThostFtdcOrderSysIDType BidOrderSysID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///操作用户代码

TThostFtdcUserIDType ActiveUserID;

///经纪公司报价编号

TThostFtdcSequenceNoType BrokerQuoteSeq;

///衍生卖报单引用

TThostFtdcOrderRefType AskOrderRef;

///衍生买报单引用

TThostFtdcOrderRefType BidOrderRef;

///应价编号

TThostFtdcOrderSysIDType ForQuoteSysID;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l QuoteStatus：报价的状态

l StatusMsg：明文显示状态信息


CThostFtdcTraderSpi

OnErrRtnQuoteInsert

说明

报价录入错误回报，当执行ReqQuoteInsert后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) {};

参数

///输入的报价

struct CThostFtdcInputQuoteField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报价引用

TThostFtdcOrderRefType QuoteRef;

///用户代码

TThostFtdcUserIDType UserID;

///卖价格

TThostFtdcPriceType AskPrice;

///买价格

TThostFtdcPriceType BidPrice;

///卖数量

TThostFtdcVolumeType AskVolume;

///买数量

TThostFtdcVolumeType BidVolume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///卖开平标志

TThostFtdcOffsetFlagType AskOffsetFlag;

///买开平标志

TThostFtdcOffsetFlagType BidOffsetFlag;

///卖投机套保标志

TThostFtdcHedgeFlagType AskHedgeFlag;

///买投机套保标志

TThostFtdcHedgeFlagType BidHedgeFlag;

///衍生卖报单引用

TThostFtdcOrderRefType AskOrderRef;

///衍生买报单引用

TThostFtdcOrderRefType BidOrderRef;

///应价编号

TThostFtdcOrderSysIDType ForQuoteSysID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ForQuoteSysID：应价编号对应市场上询价的编号

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnErrRtnQuoteAction

说明

报价操作错误回报, 当执行ReqQuoteAction后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) {};

参数

///报价操作

struct CThostFtdcQuoteActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报价操作引用

TThostFtdcOrderActionRefType QuoteActionRef;

///报价引用

TThostFtdcOrderRefType QuoteRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报价操作编号

TThostFtdcOrderSysIDType QuoteSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///操作日期

TThostFtdcDateType ActionDate;

///操作时间

TThostFtdcTimeType ActionTime;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///本地报价编号

TThostFtdcOrderLocalIDType QuoteLocalID;

///操作本地编号

TThostFtdcOrderLocalIDType ActionLocalID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///报单操作状态

TThostFtdcOrderActionStatusType OrderActionStatus;

///用户代码

TThostFtdcUserIDType UserID;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OrderActionStatus：报价撤销的状态信息，此处返回的是错误信息

l StatusMsg：报价单最后的状态

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnRtnForQuoteRsp

说明

询价通知，此接口暂时不用，目前使用的是行情的OnRtnForQuoteRsp。

函数原型

virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {};

参数

///发给做市商的询价请求

struct CThostFtdcForQuoteRspField

{

///交易日

TThostFtdcDateType TradingDay;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///询价编号

TThostFtdcOrderSysIDType ForQuoteSysID;

///询价时间

TThostFtdcTimeType ForQuoteTime;

///业务日期

TThostFtdcDateType ActionDay;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

};

l ForQuoteSysID：交易所给的一个询价编号，以此定位一笔询价。


CThostFtdcTraderSpi

OnRtnCFMMCTradingAccountToken

说明

保证金监控中心用户令牌，当执行ReqQueryCFMMCTradingAccountToken后并且报出后，收到返回则调用此接口，私有流回报。

函数原型

virtual void OnRtnCFMMCTradingAccountToken(CThostFtdcCFMMCTradingAccountTokenField *pCFMMCTradingAccountToken) {};

参数

///监控中心用户令牌

struct CThostFtdcCFMMCTradingAccountTokenField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///经纪公司统一编码

TThostFtdcParticipantIDType ParticipantID;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///密钥编号

TThostFtdcSequenceNoType KeyID;

///动态令牌

TThostFtdcCFMMCTokenType Token;

};


CThostFtdcTraderSpi

OnErrRtnBatchOrderAction

说明

批量报单操作错误回报

函数原型

virtual void OnErrRtnBatchOrderAction(CThostFtdcBatchOrderActionField *pBatchOrderAction, CThostFtdcRspInfoField *pRspInfo) {};

参数

///批量报单操作

struct CThostFtdcBatchOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报单操作引用

TThostFtdcOrderActionRefType OrderActionRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///操作日期

TThostFtdcDateType ActionDate;

///操作时间

TThostFtdcTimeType ActionTime;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///操作本地编号

TThostFtdcOrderLocalIDType ActionLocalID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///报单操作状态

TThostFtdcOrderActionStatusType OrderActionStatus;

///用户代码

TThostFtdcUserIDType UserID;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l OrderActionStatus：撤单后报单的状态

l StatusMsg：撤单错误的状态信息，如果没有错误的则返回0

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnRtnOptionSelfClose

说明

期权自对冲通知，当执行ReqOptionSelfCloseInsert后并且报出后，收到返回则调用此接口，私有流回报。

函数原型

virtual void OnRtnOptionSelfClose(CThostFtdcOptionSelfCloseField *pOptionSelfClose) {};

参数

///期权自对冲

struct CThostFtdcOptionSelfCloseField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///期权自对冲引用

TThostFtdcOrderRefType OptionSelfCloseRef;

///用户代码

TThostFtdcUserIDType UserID;

///数量

TThostFtdcVolumeType Volume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///期权行权的头寸是否自对冲

TThostFtdcOptSelfCloseFlagType OptSelfCloseFlag;

///本地期权自对冲编号

TThostFtdcOrderLocalIDType OptionSelfCloseLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///期权自对冲提交状态

TThostFtdcOrderSubmitStatusType OrderSubmitStatus;

///报单提示序号

TThostFtdcSequenceNoType NotifySequence;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///期权自对冲编号

TThostFtdcOrderSysIDType OptionSelfCloseSysID;

///报单日期

TThostFtdcDateType InsertDate;

///插入时间

TThostFtdcTimeType InsertTime;

///撤销时间

TThostFtdcTimeType CancelTime;

///自对冲结果

TThostFtdcExecResultType ExecResult;

///结算会员编号

TThostFtdcParticipantIDType ClearingPartID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///操作用户代码

TThostFtdcUserIDType ActiveUserID;

///经纪公司报单编号

TThostFtdcSequenceNoType BrokerOptionSelfCloseSeq;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l InstallID：CTP内部使用

l OrderSubmitStatus：报单报入状态

l ExecResult：最后的结果，检查是否自对冲成功

l StatusMsg：错误信息


CThostFtdcTraderSpi

OnErrRtnOptionSelfCloseInsert

说明

期权自对冲录入错误回报，当执行ReqOptionSelfCloseInsert后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnOptionSelfCloseInsert(CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, CThostFtdcRspInfoField *pRspInfo) {};

参数

///输入的期权自对冲

struct CThostFtdcInputOptionSelfCloseField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///期权自对冲引用

TThostFtdcOrderRefType OptionSelfCloseRef;

///用户代码

TThostFtdcUserIDType UserID;

///数量

TThostFtdcVolumeType Volume;

///请求编号

TThostFtdcRequestIDType RequestID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///期权行权的头寸是否自对冲

TThostFtdcOptSelfCloseFlagType OptSelfCloseFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnErrRtnOptionSelfCloseAction

说明

期权自对冲操作错误回报，当执行ReqOptionSelfCloseAction后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnOptionSelfCloseAction(CThostFtdcOptionSelfCloseActionField *pOptionSelfCloseAction, CThostFtdcRspInfoField *pRspInfo) {};

参数

///期权自对冲操作

struct CThostFtdcOptionSelfCloseActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///期权自对冲操作引用

TThostFtdcOrderActionRefType OptionSelfCloseActionRef;

///期权自对冲引用

TThostFtdcOrderRefType OptionSelfCloseRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///期权自对冲操作编号

TThostFtdcOrderSysIDType OptionSelfCloseSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///操作日期

TThostFtdcDateType ActionDate;

///操作时间

TThostFtdcTimeType ActionTime;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///本地期权自对冲编号

TThostFtdcOrderLocalIDType OptionSelfCloseLocalID;

///操作本地编号

TThostFtdcOrderLocalIDType ActionLocalID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///报单操作状态

TThostFtdcOrderActionStatusType OrderActionStatus;

///用户代码

TThostFtdcUserIDType UserID;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l ActionFlag：只有删除标志，修改标志位不支持

l InstallID：CTP内部使用

l StatusMsg：报错信息

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnRtnCombAction

说明

申请组合通知，当执行ReqCombActionInsert后并且报出后，收到返回则调用此接口，私有流回报。

函数原型

virtual void OnRtnCombAction(CThostFtdcCombActionField *pCombAction) {};

参数

///申请组合

struct CThostFtdcCombActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///组合引用

TThostFtdcOrderRefType CombActionRef;

///用户代码

TThostFtdcUserIDType UserID;

///买卖方向

TThostFtdcDirectionType Direction;

///数量

TThostFtdcVolumeType Volume;

///组合指令方向

TThostFtdcCombDirectionType CombDirection;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///本地申请组合编号

TThostFtdcOrderLocalIDType ActionLocalID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///会员代码

TThostFtdcParticipantIDType ParticipantID;

///客户代码

TThostFtdcClientIDType ClientID;

///合约在交易所的代码

TThostFtdcExchangeInstIDType ExchangeInstID;

///交易所交易员代码

TThostFtdcTraderIDType TraderID;

///安装编号

TThostFtdcInstallIDType InstallID;

///组合状态

TThostFtdcOrderActionStatusType ActionStatus;

///报单提示序号

TThostFtdcSequenceNoType NotifySequence;

///交易日

TThostFtdcDateType TradingDay;

///结算编号

TThostFtdcSettlementIDType SettlementID;

///序号

TThostFtdcSequenceNoType SequenceNo;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///用户端产品信息

TThostFtdcProductInfoType UserProductInfo;

///状态信息

TThostFtdcErrorMsgType StatusMsg;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

///组合编号

TThostFtdcTradeIDType ComTradeID;

///营业部编号

TThostFtdcBranchIDType BranchID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

l InstallID：CTP内部使用

l ActionStatus：报入组合后的报单状态


CThostFtdcTraderSpi

OnErrRtnCombActionInsert

说明

申请组合录入错误回报

函数原型

virtual void OnErrRtnCombActionInsert(CThostFtdcInputCombActionField *pInputCombAction, CThostFtdcRspInfoField *pRspInfo) {};

参数

///输入的申请组合

struct CThostFtdcInputCombActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///组合引用

TThostFtdcOrderRefType CombActionRef;

///用户代码

TThostFtdcUserIDType UserID;

///买卖方向

TThostFtdcDirectionType Direction;

///数量

TThostFtdcVolumeType Volume;

///组合指令方向

TThostFtdcCombDirectionType CombDirection;

///投机套保标志

TThostFtdcHedgeFlagType HedgeFlag;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnRspQryContractBank

说明

请求查询签约银行响应，当执行ReqQryContractBank后，该方法被调用。

函数原型

virtual void OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///查询签约银行响应

struct CThostFtdcContractBankField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///银行代码

TThostFtdcBankIDType BankID;

///银行分中心代码

TThostFtdcBankBrchIDType BankBrchID;

///银行名称

TThostFtdcBankNameType BankName;

};

l BankID：对应期货公司内部设置的银行编码

l BankName：对应期货公司内部设置的银行名称

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryParkedOrder

说明

请求查询预埋单响应，当执行ReqQryParkedOrder后，该方法被调用。

函数原型

virtual void OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///预埋单

struct CThostFtdcParkedOrderField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///报单引用

TThostFtdcOrderRefType OrderRef;

///用户代码

TThostFtdcUserIDType UserID;

///报单价格条件

TThostFtdcOrderPriceTypeType OrderPriceType;

///买卖方向

TThostFtdcDirectionType Direction;

///组合开平标志

TThostFtdcCombOffsetFlagType CombOffsetFlag;

///组合投机套保标志

TThostFtdcCombHedgeFlagType CombHedgeFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量

TThostFtdcVolumeType VolumeTotalOriginal;

///有效期类型

TThostFtdcTimeConditionType TimeCondition;

///GTD日期

TThostFtdcDateType GTDDate;

///成交量类型

TThostFtdcVolumeConditionType VolumeCondition;

///最小成交量

TThostFtdcVolumeType MinVolume;

///触发条件

TThostFtdcContingentConditionType ContingentCondition;

///止损价

TThostFtdcPriceType StopPrice;

///强平原因

TThostFtdcForceCloseReasonType ForceCloseReason;

///自动挂起标志

TThostFtdcBoolType IsAutoSuspend;

///业务单元

TThostFtdcBusinessUnitType BusinessUnit;

///请求编号

TThostFtdcRequestIDType RequestID;

///用户强评标志

TThostFtdcBoolType UserForceClose;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///预埋报单编号

TThostFtdcParkedOrderIDType ParkedOrderID;

///用户类型

TThostFtdcUserTypeType UserType;

///预埋单状态

TThostFtdcParkedOrderStatusType Status;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///互换单标志

TThostFtdcBoolType IsSwapOrder;

///资金账号

TThostFtdcAccountIDType AccountID;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///交易编码

TThostFtdcClientIDType ClientID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l Status：预埋单的报单状态

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryParkedOrderAction

说明

请求查询预埋撤单响应，当执行ReqQryParkedOrderAction后，该方法被调用。

函数原型

virtual void OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///输入预埋单操作

struct CThostFtdcParkedOrderActionField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///报单操作引用

TThostFtdcOrderActionRefType OrderActionRef;

///报单引用

TThostFtdcOrderRefType OrderRef;

///请求编号

TThostFtdcRequestIDType RequestID;

///前置编号

TThostFtdcFrontIDType FrontID;

///会话编号

TThostFtdcSessionIDType SessionID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///报单编号

TThostFtdcOrderSysIDType OrderSysID;

///操作标志

TThostFtdcActionFlagType ActionFlag;

///价格

TThostFtdcPriceType LimitPrice;

///数量变化

TThostFtdcVolumeType VolumeChange;

///用户代码

TThostFtdcUserIDType UserID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///预埋撤单单编号

TThostFtdcParkedOrderActionIDType ParkedOrderActionID;

///用户类型

TThostFtdcUserTypeType UserType;

///预埋撤单状态

TThostFtdcParkedOrderStatusType Status;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

///IP地址

TThostFtdcIPAddressType IPAddress;

///Mac地址

TThostFtdcMacAddressType MacAddress;

};

l Status：报入预埋撤单的报单状态

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryTradingNotice

说明

请求查询交易通知响应，当执行ReqQryTradingNotice后，该方法被调用。

函数原型

virtual void OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///用户事件通知

struct CThostFtdcTradingNoticeField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者范围

TThostFtdcInvestorRangeType InvestorRange;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///序列系列号

TThostFtdcSequenceSeriesType SequenceSeries;

///用户代码

TThostFtdcUserIDType UserID;

///发送时间

TThostFtdcTimeType SendTime;

///序列号

TThostFtdcSequenceNoType SequenceNo;

///消息正文

TThostFtdcContentType FieldContent;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryBrokerTradingParams

说明

请求查询经纪公司交易参数响应，当执行ReqQryBrokerTradingParams后，该方法被调用

函数原型

virtual void OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///经纪公司交易参数

struct CThostFtdcBrokerTradingParamsField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///保证金价格类型

TThostFtdcMarginPriceTypeType MarginPriceType;

///盈亏算法

TThostFtdcAlgorithmType Algorithm;

///可用是否包含平仓盈利

TThostFtdcIncludeCloseProfitType AvailIncludeCloseProfit;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///期权权利金价格类型

TThostFtdcOptionRoyaltyPriceTypeType OptionRoyaltyPriceType;

///投资者帐号

TThostFtdcAccountIDType AccountID;

};

l Algorithm：根随期货公司柜台的设置。

l OptionRoyaltyPriceType：该算法针对期权保证金算法，而非权利金算法；只限今开仓。

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQryBrokerTradingAlgos

说明

请求查询经纪公司交易算法响应，当执行ReqQryBrokerTradingAlgos后，该方法被调用

函数原型

virtual void OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///经纪公司交易算法

struct CThostFtdcBrokerTradingAlgosField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///交易所代码

TThostFtdcExchangeIDType ExchangeID;

///合约代码

TThostFtdcInstrumentIDType InstrumentID;

///持仓处理算法编号

TThostFtdcHandlePositionAlgoIDType HandlePositionAlgoID;

///寻找保证金率算法编号

TThostFtdcFindMarginRateAlgoIDType FindMarginRateAlgoID;

///资金处理算法编号

TThostFtdcHandleTradingAccountAlgoIDType HandleTradingAccountAlgoID;

};

l HandlePositionAlgoID：CTP内部使用

l FindMarginRateAlgoID：CTP内部使用

l HandleTradingAccountAlgoID：CTP内部使用

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQueryCFMMCTradingAccountToken

说明

请求查询监控中心用户令牌，当执行ReqQueryCFMMCTradingAccountToken后，该方法被调用。

函数原型

virtual void OnRspQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///查询监控中心用户令牌

struct CThostFtdcQueryCFMMCTradingAccountTokenField

{

///经纪公司代码

TThostFtdcBrokerIDType BrokerID;

///投资者代码

TThostFtdcInvestorIDType InvestorID;

///投资单元代码

TThostFtdcInvestUnitIDType InvestUnitID;

};

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRtnFromBankToFutureByBank

说明

银行发起银行资金转期货通知，无Req属于私有流回报

函数原型

virtual void OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) {};

参数

///银行发起银行资金转期货响应

struct CThostFtdcRspTransferField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：102001 银行发起银行资金转期货

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l InstallID：CTP内部使用


CThostFtdcTraderSpi

OnRtnFromFutureToBankByBank

说明

银行发起期货资金转银行通知，无Req属于私有流回报

函数原型

virtual void OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) {};

参数

///银行发起银行资金转期货响应

struct CThostFtdcRspTransferField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：102002 银行发起期货资金转银行

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示为“*”

l Password：为密文，显示为“*”

l InstallID：CTP内部使用

l TransferStatus：查看转账成功与否的标志，“正常”则为转账成功，“被冲正”则为转账失败

l ErrorMsg：返回的错误信息，成功则显示“交易成功”


CThostFtdcTraderSpi

OnRtnRepealFromBankToFutureByBank

说明

银行发起冲正银行转期货通知，无Req属于私有流回报

函数原型

virtual void OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) {};

参数

///冲正响应

struct CThostFtdcRspRepealField

{

///冲正时间间隔

TThostFtdcRepealTimeIntervalType RepealTimeInterval;

///已经冲正次数

TThostFtdcRepealedTimesType RepealedTimes;

///银行冲正标志

TThostFtdcBankRepealFlagType BankRepealFlag;

///期商冲正标志

TThostFtdcBrokerRepealFlagType BrokerRepealFlag;

///被冲正平台流水号

TThostFtdcPlateSerialType PlateRepealSerial;

///被冲正银行流水号

TThostFtdcBankSerialType BankRepealSerial;

///被冲正期货流水号

TThostFtdcFutureSerialType FutureRepealSerial;

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：103001 期货发起冲正期货转银行

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示为“*”

l Password：为密文，显示为“*”

l InstallID：CTP内部使用

l TransferStatus：转账状态

l ErrorMsg：报错信息明文，若成功则显示为“交易成功”


CThostFtdcTraderSpi

OnRtnRepealFromFutureToBankByBank

说明

银行发起冲正期货转银行通知，无Req属于私有流回报

函数原型

virtual void OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) {};

参数

///冲正响应

struct CThostFtdcRspRepealField

{

///冲正时间间隔

TThostFtdcRepealTimeIntervalType RepealTimeInterval;

///已经冲正次数

TThostFtdcRepealedTimesType RepealedTimes;

///银行冲正标志

TThostFtdcBankRepealFlagType BankRepealFlag;

///期商冲正标志

TThostFtdcBrokerRepealFlagType BrokerRepealFlag;

///被冲正平台流水号

TThostFtdcPlateSerialType PlateRepealSerial;

///被冲正银行流水号

TThostFtdcBankSerialType BankRepealSerial;

///被冲正期货流水号

TThostFtdcFutureSerialType FutureRepealSerial;

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：103002 期货发起冲正期货转银行

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示为“*”

l Password：为密文，显示为“*”

l InstallID：CTP内部使用

l TransferStatus：转账状态

l ErrorMsg：报错信息明文，若成功则显示为“交易成功”


CThostFtdcTraderSpi

OnRtnFromBankToFutureByFuture

说明

期货发起银行资金转期货通知，当执行ReqFromBankToFutureByFuture后并且报出后，收到返回则调用此接口，私有流回报。

函数原型

virtual void OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) {};

参数

///银行发起银行资金转期货响应

struct CThostFtdcRspTransferField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：202001 期货发起银行资金转期货

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l TransferStatus：转账的最后状态，“正常”说明转账成功，“被冲正”说明转账失败


CThostFtdcTraderSpi

OnRtnFromFutureToBankByFuture

说明

期货发起期货资金转银行通知，当执行ReqFromFutureToBankByFuture后并且报出后，收到返回则调用此接口，私有流回报。

函数原型

virtual void OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) {};

参数

///银行发起银行资金转期货响应

struct CThostFtdcRspTransferField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：202002 期货发起期货资金转银行

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示为“*”

l Password：为密文，显示为“*”

l InstallID：CTP内部使用

l TransferStatus：转账状态

l ErrorMsg：报错信息，若转账成功则显示为“交易成功”。


CThostFtdcTraderSpi

OnRtnRepealFromBankToFutureByFutureManual

说明

系统运行时期货端手工发起冲正银行转期货请求，银行处理完毕后报盘发回的通知，无Req属于私有流回报

函数原型

virtual void OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {};

参数

///冲正响应

struct CThostFtdcRspRepealField

{

///冲正时间间隔

TThostFtdcRepealTimeIntervalType RepealTimeInterval;

///已经冲正次数

TThostFtdcRepealedTimesType RepealedTimes;

///银行冲正标志

TThostFtdcBankRepealFlagType BankRepealFlag;

///期商冲正标志

TThostFtdcBrokerRepealFlagType BrokerRepealFlag;

///被冲正平台流水号

TThostFtdcPlateSerialType PlateRepealSerial;

///被冲正银行流水号

TThostFtdcBankSerialType BankRepealSerial;

///被冲正期货流水号

TThostFtdcFutureSerialType FutureRepealSerial;

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：203001 期货发起冲正期货转银行

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示为“*”

l Password：为密文，显示为“*”

l InstallID：CTP内部使用

l TransferStatus：转账状态

l ErrorMsg：报错信息明文，若成功则显示为“交易成功”


CThostFtdcTraderSpi

OnRtnRepealFromFutureToBankByFutureManual

说明

系统运行时期货端手工发起冲正期货转银行请求，银行处理完毕后报盘发回的通知，无Req属于私有流回报

函数原型

virtual void OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) {};

参数

///冲正响应

struct CThostFtdcRspRepealField

{

///冲正时间间隔

TThostFtdcRepealTimeIntervalType RepealTimeInterval;

///已经冲正次数

TThostFtdcRepealedTimesType RepealedTimes;

///银行冲正标志

TThostFtdcBankRepealFlagType BankRepealFlag;

///期商冲正标志

TThostFtdcBrokerRepealFlagType BrokerRepealFlag;

///被冲正平台流水号

TThostFtdcPlateSerialType PlateRepealSerial;

///被冲正银行流水号

TThostFtdcBankSerialType BankRepealSerial;

///被冲正期货流水号

TThostFtdcFutureSerialType FutureRepealSerial;

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：203002 期货发起冲正期货转银行

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示为“*”

l Password：为密文，显示为“*”

l InstallID：CTP内部使用

l TransferStatus：转账状态

l ErrorMsg：报错信息明文，若成功则显示为“交易成功”


CThostFtdcTraderSpi

OnRtnQueryBankBalanceByFuture

说明

期货发起查询银行余额通知，当执行ReqQueryBankAccountMoneyByFuture后并且报出后，收到返回则调用此接口，私有流回报。

函数原型

virtual void OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) {};

参数

///查询账户信息通知

struct CThostFtdcNotifyQueryAccountField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///安装编号

TThostFtdcInstallIDType InstallID;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///银行可用金额

TThostFtdcTradeAmountType BankUseAmount;

///银行可取金额

TThostFtdcTradeAmountType BankFetchAmount;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode: 204002 期货发起查询银行余额

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示为“*”

l Password: 为密文，显示为“*”

l ErrorMsg：返回是否成功的回报


CThostFtdcTraderSpi

OnErrRtnBankToFutureByFuture

说明

期货发起银行资金转期货错误回报，当执行ReqFromBankToFutureByFuture后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {};

参数

///转账请求

struct CThostFtdcReqTransferField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode: 202001期货发起银行资金转期货

l BankID：返回银行在期货公司的代码

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l CustomerName：客户姓名

l BankPassWord：返回银行的密码，都是“*”密码不显示

l Password：返回期货账户的密码，都是“*”密码不显示

l TransferStatus：转账交易的最后状态

l TradeAmount：转账金额

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnErrRtnFutureToBankByFuture

说明

期货发起期货资金转银行错误回报，当执行ReqFromFutureToBankByFuture后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) {};

参数

///转账请求

struct CThostFtdcReqTransferField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode: 202002期货发起期货资金转银行

l BankID：返回银行在期货公司的代码

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l CustomerName：客户姓名

l BankPassWord：返回银行的密码，都是“*”密码不显示，

l Password：返回期货账户的密码，都是“*”密码不显示

l ErrorMsg：返回转账成功与否的状态

l TradeAmount：转账金额

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnErrRtnRepealBankToFutureByFutureManual

说明

系统运行时期货端手工发起冲正银行转期货错误回报。发起冲正后系统的报错回报，由于发起冲正属于ctp内部操作，没有req接口

函数原型

virtual void OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {};

参数

///冲正请求

struct CThostFtdcReqRepealField

{

///冲正时间间隔

TThostFtdcRepealTimeIntervalType RepealTimeInterval;

///已经冲正次数

TThostFtdcRepealedTimesType RepealedTimes;

///银行冲正标志

TThostFtdcBankRepealFlagType BankRepealFlag;

///期商冲正标志

TThostFtdcBrokerRepealFlagType BrokerRepealFlag;

///被冲正平台流水号

TThostFtdcPlateSerialType PlateRepealSerial;

///被冲正银行流水号

TThostFtdcBankSerialType BankRepealSerial;

///被冲正期货流水号

TThostFtdcFutureSerialType FutureRepealSerial;

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：203001 期货发起冲正银行转期货

l BankID：银行在ctp对应的代码

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：返回银行的密码，都是“*”密码不显示

l Password：返回期货账户的密码，都是“*”密码不显示

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnErrRtnRepealFutureToBankByFutureManual

说明

系统运行时期货端手工发起冲正期货转银行错误回报, 发起冲正后系统的报错回报，由于发起冲正属于ctp内部操作，没有req接口

函数原型

virtual void OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) {};

参数

///冲正请求

struct CThostFtdcReqRepealField

{

///冲正时间间隔

TThostFtdcRepealTimeIntervalType RepealTimeInterval;

///已经冲正次数

TThostFtdcRepealedTimesType RepealedTimes;

///银行冲正标志

TThostFtdcBankRepealFlagType BankRepealFlag;

///期商冲正标志

TThostFtdcBrokerRepealFlagType BrokerRepealFlag;

///被冲正平台流水号

TThostFtdcPlateSerialType PlateRepealSerial;

///被冲正银行流水号

TThostFtdcBankSerialType BankRepealSerial;

///被冲正期货流水号

TThostFtdcFutureSerialType FutureRepealSerial;

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：203002 期货发起冲正期货转银行

l BankID：银行在ctp对应的代码

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：返回银行的密码，都是“*”密码不显示

l Password：返回期货账户的密码，都是“*”密码不显示

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnErrRtnQueryBankBalanceByFuture

说明

期货发起查询银行余额错误回报，当执行ReqQueryBankAccountMoneyByFuture后有字段填写不对之类的CTP报错则通过此接口返回

函数原型

virtual void OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) {};

参数

///查询账户信息请求

struct CThostFtdcReqQueryAccountField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///安装编号

TThostFtdcInstallIDType InstallID;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode: 204002期货发起查询银行余额

l BankID：返回银行在期货公司的代码

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l CustomerName：客户姓名

l BankPassWord：返回银行的密码，都是“*”密码不显示，

l Password：返回期货账户的密码，都是“*”密码不显示

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};


CThostFtdcTraderSpi

OnRtnRepealFromBankToFutureByFuture

说明

期货发起冲正银行转期货请求，银行处理完毕后报盘发回的通知

函数原型

virtual void OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) {};

参数

///冲正响应

struct CThostFtdcRspRepealField

{

///冲正时间间隔

TThostFtdcRepealTimeIntervalType RepealTimeInterval;

///已经冲正次数

TThostFtdcRepealedTimesType RepealedTimes;

///银行冲正标志

TThostFtdcBankRepealFlagType BankRepealFlag;

///期商冲正标志

TThostFtdcBrokerRepealFlagType BrokerRepealFlag;

///被冲正平台流水号

TThostFtdcPlateSerialType PlateRepealSerial;

///被冲正银行流水号

TThostFtdcBankSerialType BankRepealSerial;

///被冲正期货流水号

TThostFtdcFutureSerialType FutureRepealSerial;

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：103001 银行发起冲正银行转期货

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示为“*”

l Password：为密文，显示为“*”

l InstallID：CTP内部使用

l TransferStatus：转账状态

l ErrorMsg：报错信息明文，若成功则显示为“交易成功”


CThostFtdcTraderSpi

OnRtnRepealFromFutureToBankByFuture

说明

期货发起冲正期货转银行请求，银行处理完毕后报盘发回的通知，一般冲正请求由ctp自动发起，无Req属于私有流回报

函数原型

virtual void OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) {};

参数

///冲正响应

struct CThostFtdcRspRepealField

{

///冲正时间间隔

TThostFtdcRepealTimeIntervalType RepealTimeInterval;

///已经冲正次数

TThostFtdcRepealedTimesType RepealedTimes;

///银行冲正标志

TThostFtdcBankRepealFlagType BankRepealFlag;

///期商冲正标志

TThostFtdcBrokerRepealFlagType BrokerRepealFlag;

///被冲正平台流水号

TThostFtdcPlateSerialType PlateRepealSerial;

///被冲正银行流水号

TThostFtdcBankSerialType BankRepealSerial;

///被冲正期货流水号

TThostFtdcFutureSerialType FutureRepealSerial;

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：203002 期货发起冲正期货转银行

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示为“*”

l Password：为密文，显示为“*”

l InstallID：CTP内部使用

l TransferStatus：转账状态

l ErrorMsg：报错信息明文，若成功则显示为“交易成功”


CThostFtdcTraderSpi

OnRspFromBankToFutureByFuture

说明

期货发起银行资金转期货应答，当执行ReqFromBankToFutureByFuture后有字段填写不对之类的CTP报错则通过此接口返回。

函数原型

virtual void OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///转账请求

struct CThostFtdcReqTransferField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：202001 期货发起银行资金转期货

l BankID：返回银行在期货公司的代码

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l CustomerName：客户姓名

l BankPassWord：返回银行的密码，都是“*”密码不显示

l Password：返回期货账户的密码，都是“*”密码不显示

l TransferStatus: 转账交易的最后状态

l TradeAmount：转账金额

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspFromFutureToBankByFuture

说明

期货发起期货资金转银行应答，当执行ReqFromFutureToBankByFuture后有字段填写不对之类的CTP报错则通过此接口返回。

函数原型

virtual void OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///转账请求

struct CThostFtdcReqTransferField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///转帐金额

TThostFtdcTradeAmountType TradeAmount;

///期货可取金额

TThostFtdcTradeAmountType FutureFetchAmount;

///费用支付标志

TThostFtdcFeePayFlagType FeePayFlag;

///应收客户费用

TThostFtdcCustFeeType CustFee;

///应收期货公司费用

TThostFtdcFutureFeeType BrokerFee;

///发送方给接收方的消息

TThostFtdcAddInfoType Message;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///转账交易状态

TThostFtdcTransferStatusType TransferStatus;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：202002 期货发起期货资金转银行

l BankID：返回银行在期货公司的代码

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l CustomerName：客户姓名

l BankPassWord：返回银行的密码，都是“*”密码不显示

l Password：返回期货账户的密码，都是“*”密码不显示

l TransferStatus：转账交易的最后状态

l TradeAmount：转账金额

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRspQueryBankAccountMoneyByFuture

说明

期货发起查询银行余额应答，当执行ReqQueryBankAccountMoneyByFuture后，该方法被调用。

函数原型

virtual void OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

参数

///查询账户信息请求

struct CThostFtdcReqQueryAccountField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///客户类型

TThostFtdcCustTypeType CustType;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///期货公司流水号

TThostFtdcFutureSerialType FutureSerial;

///安装编号

TThostFtdcInstallIDType InstallID;

///用户标识

TThostFtdcUserIDType UserID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///请求编号

TThostFtdcRequestIDType RequestID;

///交易ID

TThostFtdcTIDType TID;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode: 204002 期货发起查询银行余额

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示“*”

l Password：为密文，显示“*”

l InstallID：CTP内部使用

///响应信息

struct CThostFtdcRspInfoField

{

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

};

///请求编号

int nRequestID

l nRequestID：返回用户操作请求的ID，该ID 由用户在操作请求时指定。

///是否是最后一个返回

bool bIsLast

l bIsLast：指示该次返回是否为针对nRequestID的最后一次返回。


CThostFtdcTraderSpi

OnRtnOpenAccountByBank

说明

银行发起银期开户通知，无Req属于私有流回报

函数原型

virtual void OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) {};

参数

///银期开户信息

struct CThostFtdcOpenAccountField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///性别

TThostFtdcGenderType Gender;

///国家代码

TThostFtdcCountryCodeType CountryCode;

///客户类型

TThostFtdcCustTypeType CustType;

///地址

TThostFtdcAddressType Address;

///邮编

TThostFtdcZipCodeType ZipCode;

///电话号码

TThostFtdcTelephoneType Telephone;

///手机

TThostFtdcMobilePhoneType MobilePhone;

///传真

TThostFtdcFaxType Fax;

///电子邮件

TThostFtdcEMailType EMail;

///资金账户状态

TThostFtdcMoneyAccountStatusType MoneyAccountStatus;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///汇钞标志

TThostFtdcCashExchangeCodeType CashExchangeCode;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///交易ID

TThostFtdcTIDType TID;

///用户标识

TThostFtdcUserIDType UserID;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：101001 银行发起转账开户

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l InstallID：CTP内部使用


CThostFtdcTraderSpi

OnRtnCancelAccountByBank

说明

银行发起银期销户通知，无Req私有流回报

函数原型

virtual void OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) {};

参数

///银期销户信息

struct CThostFtdcCancelAccountField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///性别

TThostFtdcGenderType Gender;

///国家代码

TThostFtdcCountryCodeType CountryCode;

///客户类型

TThostFtdcCustTypeType CustType;

///地址

TThostFtdcAddressType Address;

///邮编

TThostFtdcZipCodeType ZipCode;

///电话号码

TThostFtdcTelephoneType Telephone;

///手机

TThostFtdcMobilePhoneType MobilePhone;

///传真

TThostFtdcFaxType Fax;

///电子邮件

TThostFtdcEMailType EMail;

///资金账户状态

TThostFtdcMoneyAccountStatusType MoneyAccountStatus;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///安装编号

TThostFtdcInstallIDType InstallID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///汇钞标志

TThostFtdcCashExchangeCodeType CashExchangeCode;

///摘要

TThostFtdcDigestType Digest;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///渠道标志

TThostFtdcDeviceIDType DeviceID;

///期货单位帐号类型

TThostFtdcBankAccTypeType BankSecuAccType;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///期货单位帐号

TThostFtdcBankAccountType BankSecuAcc;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易柜员

TThostFtdcOperNoType OperNo;

///交易ID

TThostFtdcTIDType TID;

///用户标识

TThostFtdcUserIDType UserID;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l BankPassWord：为密文，显示“*”

l Password：为密文，显示“*”

l InstallID：CTP内部使用


CThostFtdcTraderSpi

OnRtnChangeAccountByBank

说明

银行发起变更银行账号通知，无Req属于私有流回报

函数原型

virtual void OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) {};

参数

///银期变更银行账号信息

struct CThostFtdcChangeAccountField

{

///业务功能码

TThostFtdcTradeCodeType TradeCode;

///银行代码

TThostFtdcBankIDType BankID;

///银行分支机构代码

TThostFtdcBankBrchIDType BankBranchID;

///期商代码

TThostFtdcBrokerIDType BrokerID;

///期商分支机构代码

TThostFtdcFutureBranchIDType BrokerBranchID;

///交易日期

TThostFtdcTradeDateType TradeDate;

///交易时间

TThostFtdcTradeTimeType TradeTime;

///银行流水号

TThostFtdcBankSerialType BankSerial;

///交易系统日期

TThostFtdcTradeDateType TradingDay;

///银期平台消息流水号

TThostFtdcSerialType PlateSerial;

///最后分片标志

TThostFtdcLastFragmentType LastFragment;

///会话号

TThostFtdcSessionIDType SessionID;

///客户姓名

TThostFtdcIndividualNameType CustomerName;

///证件类型

TThostFtdcIdCardTypeType IdCardType;

///证件号码

TThostFtdcIdentifiedCardNoType IdentifiedCardNo;

///性别

TThostFtdcGenderType Gender;

///国家代码

TThostFtdcCountryCodeType CountryCode;

///客户类型

TThostFtdcCustTypeType CustType;

///地址

TThostFtdcAddressType Address;

///邮编

TThostFtdcZipCodeType ZipCode;

///电话号码

TThostFtdcTelephoneType Telephone;

///手机

TThostFtdcMobilePhoneType MobilePhone;

///传真

TThostFtdcFaxType Fax;

///电子邮件

TThostFtdcEMailType EMail;

///资金账户状态

TThostFtdcMoneyAccountStatusType MoneyAccountStatus;

///银行帐号

TThostFtdcBankAccountType BankAccount;

///银行密码

TThostFtdcPasswordType BankPassWord;

///新银行帐号

TThostFtdcBankAccountType NewBankAccount;

///新银行密码

TThostFtdcPasswordType NewBankPassWord;

///投资者帐号

TThostFtdcAccountIDType AccountID;

///期货密码

TThostFtdcPasswordType Password;

///银行帐号类型

TThostFtdcBankAccTypeType BankAccType;

///安装编号

TThostFtdcInstallIDType InstallID;

///验证客户证件号码标志

TThostFtdcYesNoIndicatorType VerifyCertNoFlag;

///币种代码

TThostFtdcCurrencyIDType CurrencyID;

///期货公司银行编码

TThostFtdcBankCodingForFutureType BrokerIDByBank;

///银行密码标志

TThostFtdcPwdFlagType BankPwdFlag;

///期货资金密码核对标志

TThostFtdcPwdFlagType SecuPwdFlag;

///交易ID

TThostFtdcTIDType TID;

///摘要

TThostFtdcDigestType Digest;

///错误代码

TThostFtdcErrorIDType ErrorID;

///错误信息

TThostFtdcErrorMsgType ErrorMsg;

///长客户姓名

TThostFtdcLongIndividualNameType LongCustomerName;

};

l TradeCode：101003 银行发起银行账号变更

l BankBranchID：一般为0000

l BrokerBranchID：一般为空

l InstallID：CTP内部使用