ReqQuoteInsert
报价录入请求,如果出错,则返回响应OnRspQuoteInsert和OnErrRtnQuoteInsert;正确则推送OnRtnQuote、OnRtnOrder和OnRtnTrade。
单边报价和双边报价,都是用一个接口 ReqQuoteInsert。
在
单边报价
的时候,只需要另一边的数量填0,交易核心就能区分开。另外,无论是单边还是双边,Ask/BidOrderRef都是要填的。
◇ 1.函数原型
virtual int ReqQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, int nRequestID) = 0;
◇ 2.参数
pInputQuote:输入的报价
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;
};
ForQuoteSysID:询价编号,用于唯一定位一笔询价
BidOrderRef:要比AskOrderRef大。
nRequestID:请求ID,对应响应里的nRequestID,无递增规则,由用户自行维护。
◇ 3.返回
0,代表成功。
-1,表示网络连接失败;
-2,表示未处理请求超过许可数;
-3,表示每秒发送请求数超过许可数。
◇ 4.示例调用
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++);
◇ 5.FAQ
询价时报:“没有该合约的做市商”?
这是因为询价合约不对,目前期权合约可以参加询价。 |
询价时报:“CTP:当前时间禁止询价”?
这是因为期货公司一般把询价限制时间设置为60秒询价一次,周期内不能多次询价。 |
询价时报:“CTP:当前价差禁止询价”?
交易所有询价价差的限制,期货公司可以在柜台上进行设置,一般如下:
询价价差的判断过程 1)看最新价对应于上面的哪一档次,确定价差的最小值 2)计算买价和卖价的价差,看是否大于设置的价差(等于也不行) 如果2)通过,那么询价单报入交易所,否则会被CTP直接拒绝。 |
“非法的做市商响应”是什么原因?
这可能是所用交易编码非做市商专用所致。 |
各家交易所第二次报价是否会撤销第一次报价?
中金所:不会撤销 大商所:不会撤销 郑商所:会撤销 上期所:会撤销 |