ReqQuoteInsert

CTP-API

ReqQuoteInsert

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:当前价差禁止询价”?

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

经纪公司代码合约代码交易所代码最新价价差
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直接拒绝。

“非法的做市商响应”是什么原因?

这可能是所用交易编码非做市商专用所致。

各家交易所第二次报价是否会撤销第一次报价?

中金所:不会撤销

大商所:不会撤销

郑商所:会撤销

上期所:会撤销


< 前页 回目录 后页 >