跳转至

ReqOrderAction

报单操作请求

错误响应: OnRspOrderAction,OnErrRtnOrderAction

正确响应:OnRtnOrder

1.函数原型

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

2.参数

pInputOrderAction:输入报单操作

字段类型字段名称含义
TThostFtdcBrokerIDType BrokerID 经纪公司代码 必填*2
TThostFtdcInvestorIDType InvestorID 投资者代码
TThostFtdcOrderRefType OrderRef 报单引用 必填*1
TThostFtdcExchangeIDType ExchangeID 交易所代码 必填*2
TThostFtdcOrderSysIDType OrderSysID 报单编号 必填*2
TThostFtdcUserIDType UserID 用户代码
TThostFtdcInstrumentIDType InstrumentID 合约代码 必填*1
TThostFtdcOrderActionRefType OrderActionRef 报单操作引用
TThostFtdcRequestIDType RequestID 请求编号
TThostFtdcFrontIDType FrontID 前置编号 必填*1
TThostFtdcSessionIDType SessionID 会话编号 必填*1
TThostFtdcVolumeType VolumeChange 数量变化
TThostFtdcActionFlagType ActionFlag 操作标志 必填
TThostFtdcPriceType LimitPrice 价格
TThostFtdcInvestUnitIDType InvestUnitID 投资单元代码
TThostFtdcIPAddressType IPAddress IP地址
TThostFtdcMacAddressType MacAddress Mac地址

必填*1、必填*2:两组选一组必填,能对应要撤的报单。

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

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

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

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

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

ActionFlag:只支持删除,不支持修改。

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

3.返回

0,代表成功。

-1,表示网络连接失败;

-2,表示未处理请求超过许可数;

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

4.调用示例

//第一种方法,使用OrderSysID撤单(推荐使用

OrderAction()
{
CThostFtdcInputOrderActionField OrderField;
memset(&OrderField, 0, sizeof(OrderField));
strcpy(OrderField.BrokerID, "8888");
strcpy(OrderField.ExchangeID, "SSE");
strcpy(OrderField.OrderSysID, "1057630"); //对应要撤报单的OrderSysID
OrderField.ActionFlag = THOST_FTDC_AF_Delete;
m_pUserApi->ReqOrderAction(&OrderField, nRequestID++);
} 

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

{
CThostFtdcInputOrderActionField OrderField;
memset(&OrderField, 0, sizeof(OrderField));
OrderField.ActionFlag = THOST_FTDC_AF_Delete;
strcpy(OrderField.InstrumentID, "10002733");
strcpy(OrderField.OrderRef, "9");//对应要撤报单的OrderRef
OrderField.FrontID = 5;//对应要撤报单的FrontID
OrderField.SessionID = 1599602710;//对应要撤报单的SessionID
m_pUserApi->ReqOrderAction(&OrderField, nRequestID++);
}

5.FAQ