nano FPGA回报加速使用手册

1. API使用

1.1. API接口:设置FPGA参数,在Init接口前调用

/// Description:设置FPGA参数,在Init接口前调用
/// bFpgaReturn : FPGA回报加速开关。设置true表示开启FPGA回报加速
/// nStreamLogCpuID : FPGA流日志开关。默认不开启流日志
virtual void SetFPGAParams(bool bFpgaReturn, bool bStreamLog = false) = 0;

1.2. 开发流程

参考demo目录下面的main.cpp的程序

2. 上期中金回报

2.1. 各委托状态下支持的字段

2.1.1. 委托回报(确认,部成,部撤,撤单,全成)

字段字段说明是否赋值备注
AccountID账号
OrderSysID报单编码√
BrokerOrderID经纪公司报单编码
SessionID会话编码√
OrderRef报单引用√
InstrumentID合约代码√
Direction买卖方向√
OffsetFlag开平标志√
HedgeType投机/套保/备兑类型√
OrderPrice报单价格√nano回报:市价单价格为0,FPGA回报:市价单为具体的价格
OrderVolume报单数量√
OrderStatus报单状态√
TradeVolume成交数量√
CancelVolume撤单数量√
TradePrice成交价格
TradingDay交易日
InsertDate报单日期√
InsertTime报单时间√nano回报:精确到msFPGA回报:精确到s
ReportTime申报时间
ExchangeID交易所代码√
OrderCommand报单指令
MinVolume最小成交量√
SpringPrice止损止盈价√
SwapOrderFlag互换标志
ForceCloseReason强平原因√
ErrorMsg错误信息
UnderlyingInstrID期权对应的标的合约代码
OrderSource报单发起方√
CombPositionID组合持仓编码
ExchangeAccountID交易编码√
SeatIndex席位索引

2.1.2. 委托回报(废单)

字段字段说明是否赋值
AccountID账号
OrderSysID报单编码
BrokerOrderID经纪公司报单编码
SessionID会话编码√
OrderRef报单引用√
InstrumentID合约代码√
Direction买卖方向√
OffsetFlag开平标志√
HedgeType投机/套保/备兑类型√
OrderPrice报单价格√
OrderVolume报单数量√
OrderStatus报单状态√
TradeVolume成交数量
CancelVolume撤单数量
TradePrice成交价格
TradingDay交易日
InsertDate报单日期
InsertTime报单时间
ReportTime申报时间
ExchangeID交易所代码√
OrderCommand报单指令
MinVolume最小成交量√
SpringPrice止损止盈价√
SwapOrderFlag互换标志
ForceCloseReason强平原因√
ErrorMsg错误信息√
UnderlyingInstrID期权对应的标的合约代码
OrderSource报单发起方√
CombPositionID组合持仓编码
ExchangeAccountID交易编码√
SeatIndex席位索引

2.1.3. 委托回报(撤废)

字段字段说明是否赋值
AccountID账号
OrderSysID报单编码√
BrokerOrderID经纪公司报单编码
SessionID会话编码√
OrderRef报单引用√
InstrumentID合约代码
Direction买卖方向
OffsetFlag开平标志
HedgeType投机/套保/备兑类型
OrderPrice报单价格
OrderVolume报单数量
OrderStatus报单状态√
TradeVolume成交数量
CancelVolume撤单数量
TradePrice成交价格
TradingDay交易日
InsertDate报单日期
InsertTime报单时间
ReportTime申报时间
ExchangeID交易所代码√
OrderCommand报单指令
MinVolume最小成交量
SpringPrice止损止盈价
SwapOrderFlag互换标志
ForceCloseReason强平原因
ErrorMsg错误信息√
UnderlyingInstrID期权对应的标的合约代码
OrderSource报单发起方√
CombPositionID组合持仓编码
ExchangeAccountID交易编码√
SeatIndex席位索引

2.1.4. 成交回报

字段字段说明是否赋值
AccountID账号
TradeID成交编码√
OrderSysID报单编码√
BrokerOrderID经纪公司报单编码
SessionID会话编码√
OrderRef报单引用√
ExchangeID交易所代码√
InstrumentID合约代码√
Direction买卖方向√
OffsetFlag开平标志√
HedgeType投机/套保/备兑类型√
TradeVolume成交数量√
TradePrice成交价格√
TradingDay交易日√
TradeTime成交时间√
UnderlyingInstrID期权对应的标的合约代码
CombPositionID组合持仓编码
TradeCommission成交手续费
ExchangeAccountID交易编码√

2.2. 注意事项

1,回报接口通过下面两个接口返回,和nano柜台回报接口一致

注意点:废单分柜台废单和交易所废单,需要处理下OnRtnOrder的废单回报。

柜台废单:调用交易所API返回错误(超过交易所API流控)只能通过OnRtnOrder返回

交易所废单:可以通过OnRtnOrder和OnFPGARtnOrder返回

2,关于FAK单子的委托回报

全部撤单

nano柜台回报先后顺序是HS_OS_Reported--->HS_OS_Canceled

FPGA回报加速先后顺序是HS_OS_Canceled

部分成交

nano柜台回报先后顺序是HS_OS_Reported--->HS_OS_CanceledWithPartsTraded--->HS_OS_PartsTraded

FPGA回报加速先后顺序是HS_OS_CanceledWithPartsTraded--->HS_OS_PartsTraded

全部成交

nano柜台回报先后顺序是HS_OS_Reported--->HS_OS_Traded

FPGA回报加速先后顺序是HS_OS_Traded

2,关于FOK单子的委托回报

全部撤单

nano柜台回报先后顺序是HS_OS_Reported--->HS_OS_Canceled

FPGA回报加速先后顺序是HS_OS_Canceled

全部成交

nano柜台回报先后顺序是HS_OS_Reported--->HS_OS_Traded

FPGA回报加速先后顺序是HS_OS_Traded

3,关于撤废的单子

nano柜台回报是该委托原先的状态,比如被撤委托是HS_OS_Reported,则推送回来的还是HS_OS_Reported

FPGA回报是撤废状态:HS_OS_CancelFailed

3. 大连回报加速

3.1. 各委托状态下支持的字段

3.1.1. 委托回报(确认)

字段字段说明是否赋值备注
AccountID账号
OrderSysID报单编码√
BrokerOrderID经纪公司报单编码√交易所定单的委托批次号,使用回报加速撤单接口时必须传入此字段
SessionID会话编码
OrderRef报单引用
ExchangeID交易所代码√
InstrumentID合约代码√
Direction买卖方向√
OffsetFlag开平标志√
HedgeType投机/套保/备兑类型√
OrderPrice报单价格√
OrderVolume报单数量√
OrderStatus报单状态√
TradeVolume成交数量
CancelVolume撤单数量
TradePrice成交价格
TradingDay交易日
InsertDate报单日期√
InsertTime报单时间√nano回报:精确到msFPGA回报:精确到s
ReportTime申报时间
OrderCommand报单指令
MinVolume最小成交量
SpringPrice止损止盈价
SwapOrderFlag互换标志
ForceCloseReason强平原因
ErrorMsg错误信息
UnderlyingInstrID期权对应的标的合约代码
OrderSource报单发起方
CombPositionID组合持仓编码
ExchangeAccountID交易编码√
SeatIndex席位索引

3.1.2. 委托回报(废单)

字段字段说明是否赋值
AccountID账号√
OrderSysID报单编码
BrokerOrderID经纪公司报单编码√
SessionID会话编码√
OrderRef报单引用√
ExchangeID交易所代码√
InstrumentID合约代码√
Direction买卖方向√
OffsetFlag开平标志√
HedgeType投机/套保/备兑类型√
OrderPrice报单价格√
OrderVolume报单数量√
OrderStatus报单状态√
TradeVolume成交数量
CancelVolume撤单数量
TradePrice成交价格
TradingDay交易日
InsertDate报单日期
InsertTime报单时间
ReportTime申报时间
OrderCommand报单指令√
MinVolume最小成交量
SpringPrice止损止盈价
SwapOrderFlag互换标志
ForceCloseReason强平原因
ErrorMsg错误信息√
UnderlyingInstrID期权对应的标的合约代码
OrderSource报单发起方
CombPositionID组合持仓编码
ExchangeAccountID交易编码√
SeatIndex席位索引√

3.1.3. 委托回报(部撤,已撤,撤废)

字段字段说明是否赋值备注
AccountID账号
OrderSysID报单编码√
BrokerOrderID经纪公司报单编码√
SessionID会话编码
OrderRef报单引用
ExchangeID交易所代码√
InstrumentID合约代码√
Direction买卖方向
OffsetFlag开平标志
HedgeType投机/套保/备兑类型
OrderPrice报单价格
OrderVolume报单数量
OrderStatus报单状态√
TradeVolume成交数量√当前定单的总成交数量
CancelVolume撤单数量√当前定单的总撤单数量
TradePrice成交价格
TradingDay交易日
InsertDate报单日期
InsertTime报单时间
ReportTime申报时间
OrderCommand报单指令
MinVolume最小成交量
SpringPrice止损止盈价
SwapOrderFlag互换标志
ForceCloseReason强平原因
ErrorMsg错误信息√
UnderlyingInstrID期权对应的标的合约代码
OrderSource报单发起方√
CombPositionID组合持仓编码
ExchangeAccountID交易编码√
SeatIndex席位索引

3.1.4. 委托回报(部成或已成)

字段字段说明是否赋值备注
AccountID账号
OrderSysID报单编码√
BrokerOrderID经纪公司报单编码√交易所定单的委托批次号,使用回报加速撤单接口时必须传入此字段
SessionID会话编码
OrderRef报单引用
ExchangeID交易所代码√
InstrumentID合约代码√
Direction买卖方向√
OffsetFlag开平标志√
HedgeType投机/套保/备兑类型√
OrderPrice报单价格
OrderVolume报单数量√
OrderStatus报单状态√
TradeVolume成交数量√当前定单的总成交数量。区别于本次成交的数量。
CancelVolume撤单数量
TradePrice成交价格√
TradingDay交易日√
InsertDate报单日期
InsertTime报单时间
ReportTime申报时间
OrderCommand报单指令
MinVolume最小成交量
SpringPrice止损止盈价
SwapOrderFlag互换标志
ForceCloseReason强平原因
ErrorMsg错误信息
UnderlyingInstrID期权对应的标的合约代码
OrderSource报单发起方
CombPositionID组合持仓编码
ExchangeAccountID交易编码√
SeatIndex席位索引

3.1.5. 成交回报

字段字段说明是否赋值备注
AccountID账号
TradeID成交编码√
OrderSysID报单编码√
BrokerOrderID经纪公司报单编码√交易所定单委托批次号
SessionID会话编码
OrderRef报单引用
ExchangeID交易所代码√
InstrumentID合约代码√
Direction买卖方向√
OffsetFlag开平标志√
HedgeType投机/套保/备兑类型√
TradeVolume成交数量√本次成交的数量。区别于当前定单的总成交数量。
TradePrice成交价格√
TradingDay交易日√
TradeTime成交时间√
UnderlyingInstrID期权对应的标的合约代码
CombPositionID组合持仓编码
TradeCommission成交手续费
ExchangeAccountID交易编码√

3.2. 注意事项

  1. API开启大连回报加速并登录成功后,会收到OnNotifyReturnSource接口回报来源通知。
    • 当通知接口中DceReturnSource字段为1的时候,表示后续回报是来自大连回报加速服务,需使用回报加速撤单ReqFpgaOrderAction接口进行撤单
    • 当通知接口中DceReturnSource字段为0的时候,表示后续回报是来自nano柜台,需使用裸协议撤单ReqNakedProtocolOrderAction接口进行撤单
  2. 调用API ReqFpgaOrderAction 回报加速撤单接口,撤单大连报单,请求参数中不需要填写SessionID和OrderRef字段,必须取已报回报中的BrokerOrderID字段填入撤单请求的OrderSysID。
  3. 调用APIReqFpgaOrderAction回报加速撤单接口,撤单大连报单,当请求参数OrderSysID字段填写错误时,API将收不到交易所撤废主推。原因是这种场景下,大连交易所的撤废应答中不包含交易编码,导致大连回报加速服务端无法推送撤废。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注