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