加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[CTP综合交易平台教程六]CThostFtdcTraderApi接口

(2014-01-19 19:14:53)
标签:

ctp程序化交易

期货投资

量化交易

股票

分类: CTP_API技术开发

    CThostFtdcTraderApi 接口提供给用户的功能包括,报单与报价的录入、报单与报价的撤销、报单与报价的挂起、报单与报价的激活、报单与报价的修改、报单与报价的查询、成交单查询、会员客户查询、会员持仓查询、客户持仓查询、合约查询、合约交易状态查询、交易所公告查询等功能。
    以下简单举些例子说明函数的用法,其它函数可举一反三。


1.CreateFtdcTraderApi方法
产生一个CThostFtdcTradeApi的一个实例,不能通过 new 来产生。
函数原形:
static CThostFtdcTradeApi *CreateFtdcTradeApi(const char *pszFlowPath = "");
参数:
pszFlowPath:常量字符指针,用于指定一个文件目录来存贮交易托管系统发布消息的状态。 默认值代表当前目录。
返回值:
返回一个指向 CThostFtdcTradeApi 实例的指针。


2.ReqUserLogin 方法

用户发出登陆请求。
函数原形:
int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField,int nRequestID);
参数:
pReqUserLoginField:指向用户登录请求结构的地址。
用户登录请求结构:
struct CThostFtdcReqUserLoginField
{
///交易日
TThostFtdcDateTypeTradingDay;
///经纪公司代码
TThostFtdcBrokerIDTypeBrokerID;
///用户代码
TThostFtdcUserIDType UserID;
///密码
TThostFtdcPasswordTypePassword;
///用户端产品信息
TThostFtdcProductInfoType UserProductInfo;
///接口端产品信息
TThostFtdcProductInfoType InterfaceProductInfo;
///协议信息
TThostFtdcProtocolInfoType ProtocolInfo;
};
nRequestID:
用户登录请求的 ID,该 ID 由用户指定,管理。用户需要填写 UserProductInfo 字段,即客户端的产品信息,如软件开发商、版本号等,例如:SFITTraderV100。
InterfaceProductInfo 和 ProtocolInfo 只须占位,不必有效赋值。

0,代表成功。
-1,表示网络连接失败;
-2,表示未处理请求超过许可数;
-3,表示每秒发送请求数超过许可数。


3.ReqOrderAction 方法
客户端发出报单操作请求,包括报单的撤销、报单的挂起、报单的激活、报单的修改。
函数原形:
int ReqOrderAction(CThostFtdcOrderActionField *pOrderAction,int nRequestID);
参数:
pOrderAction:指向报单操作结构的地址。
报单操作结构:
///报单操作
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;
};

nRequestID:
用户报单操作请求的 ID,该 ID 由用户指定,管理。
返回值:
0,代表成功。
-1,表示网络连接失败;
-2,表示未处理请求超过许可数;
-3,表示每秒发送请求数超过许可数。


4.ReqQryInstrument方法

请求查询合约。
函数原形:
int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument,int nRequestID);
参数:
pQryInstrument:指向查询查询合约结构的地址。
查询合约结构:

struct CThostFtdcQryInstrumentField
{
 ///合约代码
 TThostFtdcInstrumentIDType InstrumentID;
 ///交易所代码
 TThostFtdcExchangeIDType ExchangeID;
 ///合约在交易所的代码
 TThostFtdcExchangeInstIDType ExchangeInstID;
 ///产品代码
 TThostFtdcInstrumentIDType ProductID;
};

nRequestID:合约查询请求的 ID,该 ID 由用户指定,管理。
返回值:
0,代表成功。
-1,表示网络连接失败;
-2,表示未处理请求超过许可数;
-3,表示每秒发送请求数超过许可数

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有