获取订单信息
预览订单
对应的请求类 TradeOrderPreviewRequest
说明
预览订单,返回是否通过下单前检查以及资产信息。该接口仅执行提交前检查,不会提交或执行订单;预览通过也不代表订单一定成交。
附加订单和 OCA 订单不支持预览。多腿订单预览仅支持兼容该能力的综合账户和合约。
参数
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| account | string | Yes | 用户授权账户 |
| symbol | string | 条件必填 | 普通合约填写股票代码(如 AAPL);多腿预览通过 contract_legs 标识各腿合约 |
| sec_type | string | Yes | 合约类型 (STK 股票 OPT 美股期权 WAR 港股窝轮 IOPT 港股牛熊证 FUT 期货 FUND 基金 CC 数字货币 MLEG 多腿) |
| action | string | Yes | 交易方向 BUY/SELL |
| order_type | string | Yes | 订单类型 MKT(市价单),LMT(限价单), STP(止损单),STP_LMT(止损限价单),TRAIL(跟踪止损单) |
| total_quantity | Long | 条件必填 | 下单数量。除基金外均必填;基金买入可不传 |
| total_quantity_scale | int | No | 数量偏移量,与 total_quantity 组合表示碎股数量 |
| cash_amount | double | No | 按金额下单金额。支持基金买入;当前 SDK 不支持股票金额单 |
| limit_price | double | No | 限价,当 order_type 为 LMT、STP_LMT 时必需;STP 不要求该字段 |
| aux_price | double | No | 股票止损价。当 order_type 为 STP,STP_LMT 时该参数必需,当 order_type 为 TRAIL 时,为跟踪额 |
| trailing_percent | double | No | 跟踪止损百分比;TRAIL 同时传入 aux_price 和 trailing_percent 时,trailing_percent 优先 |
| adjust_limit | double | No | 价格微调幅度,默认 0 |
| outside_rth | boolean | No | true: 允许盘前盘后交易(美股专属),false: 不允许, 默认允许 |
| market | string | No | 市场 (美股 US 港股 HK 沪港通 CN) |
| currency | string | No | 货币(美股 USD 港股 HKD 沪港通 CNH) |
| time_in_force | string | No | 订单有效期:DAY、GTC、GTD、OPG。省略时普通订单默认为 DAY,CC 数字货币和 FUND 基金订单使用 GTC |
| expire_time | long | No | GTD 订单截止时间,毫秒时间戳 |
| trading_session_type | TradingSessionType | No | PRE_RTH_POST、OVERNIGHT、RTH、FULL、HK_AUC、HK_CTS、HK_AUC_CTS;实际支持范围取决于账户、市场、标的和订单类型 |
| exchange | string | No | 交易所 (美股 SMART 港股 SEHK 沪港通 SEHKNTL 深港通 SEHKSZSE) |
| expiry | string | No | 过期日(期权、窝轮、牛熊证专属) |
| strike | string | No | 行权价(期权、窝轮、牛熊证专属) |
| right | string | No | 期权方向 PUT/CALL (期权、窝轮、牛熊证专属) |
| multiplier | float | No | 乘数,每手对应的数量 (期权、窝轮、牛熊证专属) |
| local_symbol | string | No | 窝轮、牛熊证该字段必填,在 APP 中窝轮/牛熊证列表中名称下面的 5 位数字 |
| secret_key | string | No | 交易员密钥,机构用户专用 |
| user_mark | string | No | 订单备注;首尾空白、长度归一化和返回行为取决于账户类型。综合账户会去除首尾空白并最多保留前 200 个字符 |
| order_id | int | No | 订单编号 |
| alloc_accounts | List<String> | No | 仅支持环球账户 必须与 alloc_shares 同时传入;账户元素不能为空,两个列表长度相同且按索引一一对应 |
| alloc_shares | List<Double> | No | 仅支持环球账户 必须与 alloc_accounts 同时传入,每项必须大于 0,两个列表长度必须相同 |
| algo_strategy | string | No | 算法策略 |
| algo_params | List<TagValue> | No | 算法参数列表 |
| display_size | Integer | No | 冰山单每次展示数量。模型提供该字段,但 TradeOrderPreviewRequest 没有对应便捷 setter;仅适用于支持冰山单预览的账户和订单 |
| min_display_size | Integer | No | 冰山单最小展示数量;适用范围及 Java 调用限制同 display_size |
| check_intervals | Integer | No | 冰山单价格检查间隔(秒);适用范围及 Java 调用限制同 display_size |
| price_type | string | No | 冰山单价格类型;适用范围及 Java 调用限制同 display_size |
| start_time | Long | No | 冰山单生效开始时间,毫秒时间戳;适用范围及 Java 调用限制同 display_size |
| end_time | Long | No | 冰山单生效结束时间,毫秒时间戳;适用范围及 Java 调用限制同 display_size |
| source | string | No | 订单来源标识 |
| combo_type | string | No | 多腿组合类型 |
| contract_legs | List<ContractLeg> | No | 多腿合约列表 |
| attach_type | string | No | 附加订单类型;预览不支持附加订单 |
| profit_taker_orderId | int | No | 附加止盈单编号;预览不支持附加订单 |
| profit_taker_price | double | No | 附加止盈价格;预览不支持附加订单 |
| profit_taker_tif | string | No | 附加止盈单有效期;预览不支持附加订单 |
| profit_taker_rth | boolean | No | 附加止盈单是否允许盘前盘后;预览不支持附加订单 |
| stop_loss_order_type | string | No | 附加止损订单类型;预览不支持附加订单 |
| stop_loss_orderId | int | No | 附加止损单编号;预览不支持附加订单 |
| stop_loss_price | double | No | 附加止损触发价;预览不支持附加订单 |
| stop_loss_limit_price | double | No | 附加止损限价;预览不支持附加订单 |
| stop_loss_tif | string | No | 附加止损单有效期;预览不支持附加订单 |
| stop_loss_trailing_percent | double | No | 附加跟踪止损百分比;预览不支持附加订单 |
| stop_loss_trailing_amount | double | No | 附加跟踪止损金额;预览不支持附加订单 |
| oca_orders | List<TradeOrderModel> | No | OCA 订单列表;预览不支持 OCA 订单 |
返回
| 字段 | 类型 | 描述 |
|---|---|---|
| account | String | 账户 ID |
| status | String | 预览状态 |
| initMargin | Double | 假设订单成交后的初始保证金 |
| maintMargin | Double | 假设订单成交后的维持保证金 |
| equityWithLoan | Double | 假设订单成交后的可借贷资产 |
| initMarginBefore | Double | 假设订单成交前的初始保证金 |
| maintMarginBefore | Double | 假设订单成交前的维持保证金 |
| equityWithLoanBefore | Double | 假设订单成交前的可借贷资产 |
| marginCurrency | String | 上述资产和保证金预览值的币种 |
| commission | Double | 预估佣金,币种见 commissionCurrency |
| minCommission | Double | 最低预估佣金 |
| maxCommission | Double | 最高预估佣金 |
| maxOrderSize | Double | 最大可下单数量 |
| gst | Double | 预估消费税,币种见 commissionCurrency |
| commissionCurrency | String | 预估佣金和消费税的币种 |
| availableEE | Double | 假设订单成交后的可用剩余资产,币种见 marginCurrency |
| excessLiquidity | Double | 假设订单成交后的剩余流动性,币种见 marginCurrency |
| overnightLiquidation | Double | 假设订单成交后的隔夜剩余流动性,币种见 marginCurrency |
| warningText | String | 预警信息 |
| isPass | Boolean | 是否通过下单前检查 |
| message | String | 未通过检查时的错误原因 |
示例
ContractItem contract = ContractItem.buildStockContract("SPY", "USD");
TradeOrderPreviewRequest request = TradeOrderPreviewRequest.buildLimitOrder(contract, ActionType.BUY, 1, 100.0d);
TradeOrderPreviewResponse response = client.execute(request);
System.out.println(JSONObject.toJSONString(response));返回示例
{
"code": 0,
"message": "success",
"timestamp": 1748413352204,
"data": {
"account": "123456",
"initMargin": 432.617714,
"maintMargin": 424.264714,
"equityWithLoan": 1111.3237541,
"initMarginBefore": 387.617714,
"maintMarginBefore": 386.764714,
"equityWithLoanBefore": 1111.3237541,
"marginCurrency": "USD",
"commission": 0.0,
"commissionCurrency": "USD",
"availableEE": 677.8311632,
"excessLiquidity": 687.05904,
"overnightLiquidation": 687.05904,
"gst": 0.0,
"isPass": true
}
}获取订单
对应的请求类:TigerHttpRequest(MethodName.ORDERS)
说明
获取订单
参数
获取指定单个订单
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| account | string | Yes | 用户授权账户:572386 |
| id | int | Yes | 下单成功后返回的订单号 |
| secret_key | string | No | 交易员密钥,机构用户专用 |
| show_charges | bool | No | 是否返回订单的费用明细 |
获取订单列表
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| account | string | Yes | 用户授权账户: 572386 |
| seg_type | SegmentType | No | 账户划分类型, 可选值有: SegmentType.SEC 代表证券; SegmentType.FUT 代表期货; SegmentType.FUND 代表基金, SegmentType.ALL:代表证券+期货+基金。 默认为 SegmentType.SEC |
| sec_type | string | No | ALL/STK/OPT/FUT/FOP/CASH 默认 ALL |
| market | string | No | ALL/US/HK/CN 默认 ALL |
| symbol | string | No | 股票代码 |
| expiry | string | No | 过期日 (期权、窝轮、牛熊证专属) |
| strike | string | No | 行权价格 (期权、窝轮、牛熊证专属) |
| right | string | No | 期权方向 PUT/CALL (期权、窝轮、牛熊证专属) |
| start_date | string | No | 订单下单时间的起始时间(当 sort_by=LATEST_STATUS_UPDATED 时,按订单状态更新时间进行过滤),格式为'2018-05-01' 或者 "2018-05-01 10:00:00"(默认东八区,可指定时区) |
| end_date | string | No | 订单下单时间的截止时间(当 sort_by=LATEST_STATUS_UPDATED 时,按订单状态更新时间进行过滤),格式为'2018-05-15' 或者 "2018-05-01 10:00:00"(默认东八区,可指定时区) |
| states | array | No | 订单状态过滤,支持 Global、Prime 和 Paper;Global 查询前转换为状态码,Prime/Paper 在返回订单中筛选。省略时不按状态过滤。参考:订单状态 |
| isBrief | boolean | No | 仅支持环球账号 是否返回精简的订单信息 |
| limit | integer | No | 默认为 100,最大限制为 300 |
| sort_by | OrderSortBy | No | 仅支持综合账号 排序和起止时间作用字段,LATEST_CREATED/LATEST_STATUS_UPDATED; 默认值: LATEST_CREATED |
| secret_key | string | No | 交易员密钥, 机构用户专用 |
| lang | string | No | 语言支持(枚举类 Language):zh_CN, zh_TW, en_US, 默认:en_US |
| page_token | string | No | 分页查询 token,使用 pageToken 分页拉取数据时其他查询条件不能变 |
start_date 和 end_date 均为可选参数;省略任一边界时,不添加对应的时间过滤条件。当前接口未规定最大查询时间跨度,但返回结果按页且受单页数量上限限制。建议指定合理的时间范围,并使用 page_token 分页获取结果。
服务端会校验 page_token 对应的请求方法和时间范围;客户端分页时仍应保持所有过滤条件不变。使用 states 过滤时,单页结果可能少于 limit,甚至为空;只要 nextPageToken 非空就应继续拉取。订单持续新增或更新时,跨页结果可能发生变化,不应假设分页提供快照一致性。
返回
com.tigerbrokers.stock.openapi.client.https.response.trade.SingleOrderResponse 或
com.tigerbrokers.stock.openapi.client.https.response.trade.BatchOrderResponse
环球账户未找到订单时,成功响应中的 data 和 SingleOrderResponse.getItem() 可能为 null;综合账户的未找到错误由下游返回。
| 字段 | 类型 | 说明 |
|---|---|---|
| nextPageToken | string | 查询下一页用的 token |
| items | array | 订单数组,字段参考下面说明 |
其中订单数据 items 属性如下:
| 名称 | 示例 | 说明 |
|---|---|---|
| id | 27363676799501312 | 订单全局唯一 ID,下单成功后返回 |
| orderId | 830154374 | 用户本地的自增订单 ID,非全局唯一 |
| externalId | 830154374 | 扩展 ID, API 下单为 orderId 的值 |
| parentId | 0 | 父订单的订单 ID |
| account | 572386 | 交易账户 |
| action | BUY | 交易方向,BUY or SELL |
| orderType | LMT | 订单类型 |
| limitPrice | 108.62 | 限价单价格 |
| auxPrice | 0.0 | 止损单辅助价格-跟踪额 |
| trailingPercent | 5 | 跟踪止损单的跟踪百分比 |
| totalQuantity | 111 | 下单数量 |
| totalQuantityScale | 0 | 下单数量的偏移量,默认为 0。碎股单的 totalQuantity 和 totalQuantityScale 结合起来代表真实下单数量,如 totalQuantity=111 totalQuantityScale=2,那么真实 quantity=111*10^(-2)=1.11 |
| timeInForce | DAY | DAY/GTC/GTD/OPG |
| expireTime | 1669000183188 | timeInForce 为 GTD 时才有值 |
| outsideRth | true | 是否允许盘前、盘后 |
| filledQuantity | 50 | 成交数量 |
| filledQuantityScale | 0 | 成交数量偏移量,如 filledQuantity=11123, filledQuantityScale=2,那么实际 filledQuantity=11123*10^(-2)=111.23 |
| cashQuantity | 100 | 历史按金额下单字段;新金额单信息以 totalCashAmount 等金额字段为准 |
| totalCashAmount | 100 | 按金额下单的下单总金额;按股数下单时可能不返回 |
| filledCashAmount | 100 | 按金额下单的已成交金额;按股数下单时可能不返回或为 0 |
| refundCashAmount | 0 | 退回金额,等于下单总金额减去已成交金额 |
| lastFillPrice | 108.62 | 最近一笔成交价格 |
| avgFillPrice | 108.62 | 按成交价格加权计算的平均成交价,不含佣金和其他费用;费用通过 commission、gst 等字段单独返回;无平均成交价时返回 0 |
| remark | Order is expired | 错误描述 |
| status | Filled | 订单状态,参考:订单状态 |
| attrDesc | Exercise | 订单描述信息,参考:订单描述 |
| commission | 0.99 | 佣金及相关费用 |
| commissionCurrency | USD | 佣金币种 |
| gst | 1.34 | 商品及服务税(Goods and Services Tax) |
| realizedPnl | 0.0 | 此笔订单按 FIFO 计算的已实现盈亏。佣金和 GST 通过独立字段返回;准确的计算口径和币种请以账户结单为准。仅平仓订单成交后有意义,开仓订单或未成交订单通常为 0。 |
| openTime | 1657667486000 | 下单时间 |
| updateTime | 1657670428000 | 最后更新时间 |
| latestTime | 1657670428000 | 状态更新时间 |
| name | 阿里巴巴 | 合约名称 |
| symbol | BABA | 股票代码 |
| identifier | BABA | 合约标识 |
| currency | USD | 货币 |
| market | US | 交易市场 |
| expiry | 20251219 | 期权、窝轮、牛熊证和期货的到期日 |
| strike | 200 | 期权、窝轮和牛熊证的行权价 |
| right | CALL | 期权方向 |
| multiplier | 0.0 | 乘数,每手对应的数量 |
| secType | STK | 交易类型 |
| userMark | my_strategy_1 | 下单时备注参数,会按照设置值返回,长度不能超过 200 |
| canModify | false | 是否可修改订单 |
| canCancel | false | 是否可撤销订单 |
| liquidation | false | 是否强制平仓 |
| isOpen | true | 是否为开仓 |
| latestPrice | 108.62 | 返回订单时的最新市场价格 |
| tradingSessionType | RTH | 交易时段类型 |
| source | OpenApi | 订单来源 |
| discount | 0 | 折扣标识 |
| replaceStatus | NONE | 订单改单状态 |
| cancelStatus | NONE | 订单撤单状态 |
| charges | 订单佣金等费用明细(仅限单个订单查询)。详细说明见下方Charge描述。 | |
| commissionDiscountAmount | 0 | 免佣金额(仅限单个订单查询) |
| orderDiscountAmount | 0 | 订单扣减金额 |
| orderDiscount | 0 | 订单抵扣状态(仅限单个订单查询)。1:待抵扣;2:已抵扣;0:默认值 |
| attrList | ["EXERCISE"] | 订单属性列表. 各属性含义如下: LIQUIDATION 强平, FRACTIONAL_SHARE 碎股订单(非整股), EXERCISE 行权, EXPIRE 过期, ASSIGNMENT 被动行权分配, CASH_SETTLE 现金交割, KNOCK_OUT 敲出, RECALL 召回订单, ODD_LOT 碎股订单(非整手), DEALER 交易员下单, GREY_MARKET 港股暗盘订单, BLOCK_TRADE 大宗交易, ATTACHED_ORDER 附加订单, OCA OCA 订单 |
| ocaGroupId | 87055 | OCA 订单组 ID |
| comboLegs | 多腿组合信息 | |
| allocAccounts | ["123456"] | 环球账户分配订单的子账户列表 |
| allocShares | [100] | 环球账户分配到对应子账户的数量 |
| algoStrategy | VWAP | 算法策略 |
| algoParameters | 算法参数列表 | |
| comboType | VERTICAL | 多腿组合类型 |
| comboTypeDesc | Vertical Spread | 多腿组合类型描述 |
| legs | 多腿订单明细 | |
| displaySize | 100 | 冰山单展示数量 |
| minDisplaySize | 50 | 冰山单最小展示数量 |
| checkIntervals | 30 | 冰山单价格检查间隔(秒) |
| priceType | LIMIT_PRICE | 冰山单价格类型 |
| goodTillDate | 2025-12-31 | 订单有效截止日期 |
| triggerStatus | Triggered | 条件订单的触发状态 |
| startTime | 1687272600000 | 冰山单生效开始时间,毫秒时间戳 |
| endTime | 1687296000000 | 冰山单生效结束时间,毫秒时间戳 |
Charge说明:
| 名称 | 示例 | 说明 |
|---|---|---|
| category | TIGER | 费用类别:TIGER/THIRD_PARTY |
| categoryDesc | Tiger Charge | 费用类别描述:Tiger Charge; Third Parties |
| total | 18 | 当前类别费用总额 |
| details | 费用明细。详细说明见下方ChargeDetails描述。 |
ChargeDetails说明:
| 名称 | 示例 | 说明 |
|---|---|---|
| type | SETTLEMENT_FEE | 费用类型:SETTLEMENT_FEE/STAMP_DUTY/TRANSACTION_LEVY/EXCHANGE_FEE/FRC_TRANSACTION_LEVY |
| typeDesc | Settlement Fee | 费用类型描述:Settlement Fee(结算费); Stamp Duty(印花税); Transaction Levy(交易征费); Exchange Fee(交易所费用); AFRC Transaction Levy(会计及财汇局交易征费) |
| originalAmount | 4 | 费用金额 |
| afterDiscountAmount | 4 | 抵扣后的费用 |
示例
获取单个订单
TigerHttpClient client = TigerHttpClient.getInstance().clientConfig(
ClientConfig.DEFAULT_CONFIG);
QuerySingleOrderRequest request = new QuerySingleOrderRequest();
String bizContent = AccountParamBuilder.instance()
.account("572386")
.id(31227598058424320L)
.isShowCharges(true)
.lang(Language.en_US)
.buildJson();
request.setBizContent(bizContent);
SingleOrderResponse response = client.execute(request);
if (response.isSuccess()) {
System.out.println(JSONObject.toJSONString(response));
Long id = response.getItem().getId();
String action = response.getItem().getAction();
// ...
} else {
System.out.println(response.getMessage());
}获取订单列表
TigerHttpClient client = TigerHttpClient.getInstance().clientConfig(
ClientConfig.DEFAULT_CONFIG);
QueryOrderRequest request = new QueryOrderRequest();
String bizContent = AccountParamBuilder.instance()
.account("572386")
.startDate("2023-04-01 00:00:00", TimeZoneId.NewYork)
.endDate("2023-06-20 23:59:59", TimeZoneId.NewYork)
.secType(SecType.STK)
.sortBy(OrderSortBy.LATEST_CREATED)
.limit(5)
.buildJson();
request.setBizContent(bizContent);
BatchOrderResponse response = client.execute(request);
if (response.isSuccess()) {
System.out.println(JSONObject.toJSONString(response));
List<TradeOrder> orders = response.getItem().getOrders();
TradeOrder order1 = orders.get(0);
String symbol = order1.getSymbol();
Long id = order1.getId();
// ...
} else {
System.out.println(response.getMessage());
}使用 pageToken 分页获取订单
import java.text.SimpleDateFormat;
List<JSONObject> results = new ArrayList<>();
int page = 1;
String pageToken = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
long startTime = sdf.parse("2023-01-01").getTime();
long endTime = sdf.parse("2025-08-01").getTime();
while (true) {
TigerHttpRequest request = new TigerHttpRequest(MethodName.ORDERS);
String bizContent = AccountParamBuilder.instance()
.account("402501")
.symbol("AAPL")
.startDate(String.valueOf(startTime))
.endDate(String.valueOf(endTime))
.limit(10)
.pageToken(pageToken)
.buildJson();
request.setBizContent(bizContent);
TigerHttpResponse response = client.execute(request);
JSONObject responseData = JSON.parseObject(response.getData());
JSONArray items = responseData.getJSONArray("items");
System.out.println("page " + page + ", size " + items.size() +
", next_page_token: " + responseData.getString("nextPageToken"));
page++;
if (items != null && !items.isEmpty()) {
for (int i = 0; i < items.size(); i++) {
results.add(items.getJSONObject(i));
}
}
pageToken = responseData.getString("nextPageToken");
if (StringUtils.isEmpty(pageToken)) {
break;
}
}
System.out.println("total: " + results.size() + ", results: " + results);
返回示例
单个订单
{
"code": 0,
"data": {
"account": "572386",
"action": "SELL",
"algoStrategy": "LMT",
"attrDesc": "",
"attrList": [
"SETTLED"
],
"avgFillPrice": 3.54,
"canCancel": false,
"canModify": false,
"cancelStatus": "NONE",
"charges": [
{
"category": "TIGER",
"categoryDesc": "Tiger Charge",
"details": [
{
"afterDiscountAmount": 18,
"originalAmount": 18,
"type": "USER_COMMISSION",
"typeDesc": "Commission"
}
],
"total": 18
},
{
"category": "THIRD_PARTY",
"categoryDesc": "Third Parties",
"details": [
{
"afterDiscountAmount": 4,
"originalAmount": 4,
"type": "SETTLEMENT_FEE",
"typeDesc": "Settlement Fee"
},
{
"afterDiscountAmount": 22,
"originalAmount": 22,
"type": "STAMP_DUTY",
"typeDesc": "Stamp Duty"
},
{
"afterDiscountAmount": 0.58,
"originalAmount": 0.58,
"type": "TRANSACTION_LEVY",
"typeDesc": "Transaction Levy"
},
{
"afterDiscountAmount": 1.2,
"originalAmount": 1.2,
"type": "EXCHANGE_FEE",
"typeDesc": "Exchange Fee"
},
{
"afterDiscountAmount": 0.04,
"originalAmount": 0.04,
"type": "FRC_TRANSACTION_LEVY",
"typeDesc": "AFRC Transaction Levy"
}
],
"total": 27.82
}
],
"commission": 45.82,
"currency": "HKD",
"discount": 0,
"externalId": "710344498739626686",
"filledCashAmount": 21240,
"filledQuantity": 6000,
"filledQuantityScale": 0,
"gst": 0,
"id": 36810407788938240,
"identifier": "01177",
"isOpen": false,
"latestTime": 1729740324000,
"limitPrice": 3.54,
"liquidation": false,
"market": "HK",
"name": "SINO BIOPHARM",
"openTime": 1729740323000,
"orderDiscount": 0,
"orderId": 0,
"orderType": "LMT",
"outsideRth": false,
"realizedPnl": -6388.735,
"remark": "",
"replaceStatus": "NONE",
"secType": "STK",
"source": "android",
"status": "Filled",
"symbol": "01177",
"timeInForce": "GTC",
"totalQuantity": 6000,
"totalQuantityScale": 0,
"tradingSessionType": "RTH",
"updateTime": 1730045103000,
"userMark": ""
},
"message": "success",
"sign": "F9xRzsjqgFlfaUJVajSber2jfCOVt1DIovKcE3yxWK9DFqfTPXHxKqCJ3aT8bGPl/8THViWW0A62LlRL1RB41cLt6bsMUyG7+nSQOE2vPIdo29SyZGcPAiSdRHbY8h3Nq9V1PzVQVqs07joUOw5dUuO5M3TgY/R0UHFV0lwxkBM=",
"success": true,
"timestamp": 1730971141181
}订单列表
{
"code":0,
"data":{
"items":[
{
"account":"572386",
"action":"BUY",
"algoStrategy":"MKT",
"attrDesc":"",
"avgFillPrice":9.36,
"canCancel":false,
"canModify":false,
"commission":2.4,
"currency":"USD",
"discount":0,
"externalId":"980",
"filledQuantity":10,
"id":31227598058424320,
"identifier":"NIO.SI",
"isOpen":true,
"latestTime":1687146866000,
"liquidation":false,
"market":"SG",
"name":"NIO Inc.",
"openTime":1687146865000,
"orderId":980,
"orderType":"MKT",
"outsideRth":false,
"realizedPnl":0,
"remark":"",
"secType":"STK",
"source":"OpenApi",
"status":"Filled",
"symbol":"NIO.SI",
"timeInForce":"DAY",
"totalQuantity":10,
"updateTime":1687146866000,
"userMark":""
},
{
"account":"572386",
"action":"BUY",
"algoStrategy":"LMT",
"attrDesc":"",
"avgFillPrice":0,
"canCancel":false,
"canModify":false,
"commission":0,
"currency":"USD",
"discount":0,
"externalId":"979",
"filledQuantity":0,
"id":31227591745209344,
"identifier":"NIO.SI",
"isOpen":true,
"latestTime":1687146817000,
"limitPrice":2,
"liquidation":false,
"market":"SG",
"name":"NIO Inc.",
"openTime":1687146817000,
"orderId":979,
"orderType":"LMT",
"outsideRth":true,
"realizedPnl":0,
"remark":"Order Price exceed max price step (30) limit. For more information, please contact customer service at 400-603-7555.",
"secType":"STK",
"source":"OpenApi",
"status":"Invalid",
"symbol":"NIO.SI",
"timeInForce":"DAY",
"totalQuantity":10,
"updateTime":1687146817000,
"userMark":""
},
{
"account":"572386",
"action":"BUY",
"algoStrategy":"LMT",
"attrDesc":"",
"avgFillPrice":0,
"canCancel":false,
"canModify":false,
"commission":0,
"currency":"USD",
"discount":0,
"externalId":"978",
"filledQuantity":0,
"id":31227575457809408,
"identifier":"NIO.SI",
"isOpen":true,
"latestTime":1687146693000,
"limitPrice":9,
"liquidation":false,
"market":"SG",
"name":"NIO Inc.",
"openTime":1687146693000,
"orderId":978,
"orderType":"LMT",
"outsideRth":true,
"realizedPnl":0,
"remark":"Order Price exceed max price step (30) limit. For more information, please contact customer service at 400-603-7555.",
"secType":"STK",
"source":"OpenApi",
"status":"Invalid",
"symbol":"NIO.SI",
"timeInForce":"DAY",
"totalQuantity":10,
"updateTime":1687146693000,
"userMark":""
},
{
"account":"572386",
"action":"BUY",
"algoStrategy":"LMT",
"attrDesc":"",
"avgFillPrice":0,
"canCancel":false,
"canModify":false,
"commission":0,
"currency":"USD",
"discount":0,
"externalId":"977",
"filledQuantity":0,
"id":31175091790938112,
"identifier":"JD",
"isOpen":true,
"latestTime":1686788253000,
"limitPrice":35,
"liquidation":false,
"market":"US",
"name":"JD.com",
"openTime":1686746274000,
"orderId":977,
"orderType":"LMT",
"outsideRth":true,
"realizedPnl":0,
"remark":"Order is expired",
"secType":"STK",
"source":"OpenApi",
"status":"Inactive",
"symbol":"JD",
"timeInForce":"DAY",
"totalQuantity":1,
"updateTime":1686788253000,
"userMark":""
},
{
"account":"572386",
"action":"BUY",
"algoStrategy":"LMT",
"attrDesc":"",
"avgFillPrice":0,
"canCancel":false,
"canModify":false,
"commission":0,
"currency":"USD",
"discount":0,
"externalId":"976",
"filledQuantity":0,
"id":31175084828133376,
"identifier":"JD",
"isOpen":true,
"latestTime":1686788253000,
"limitPrice":35.9,
"liquidation":false,
"market":"US",
"name":"JD.com",
"openTime":1686746221000,
"orderId":976,
"orderType":"LMT",
"outsideRth":true,
"realizedPnl":0,
"remark":"Order is expired",
"secType":"STK",
"source":"OpenApi",
"status":"Inactive",
"symbol":"JD",
"timeInForce":"DAY",
"totalQuantity":1,
"updateTime":1686788253000,
"userMark":""
}
],
"nextPageToken":"b3JkZXJzfDE2ODAzMjE2MDAwMDB8MTY4NzMxOTk5OTAwMHwzMTE3NTA4NDgyODEzMzM3Ng=="
},
"message":"success",
"sign":"u59vLeh+5Wvim9SwxaW16k9nvTXfnSkZqPqUcq0p0CBtfXQNUFk4nxJXXA6jKXF2RcdfzZn+lkODMpxiI8dGC2bi+/4MoqpnkWGQFAlur/YCSSgTG+TUv1p2mfwZ2CLpKzzNaDk1NEcni+AX1JBeWJeo0GS6bgo8ic22hdS5BLE=",
"success":true,
"timestamp":1687251914180
}请求频率
基础限流为 120 次/分钟。
获取已成交订单列表
对应的请求类:QueryOrderRequest(MethodName.FILLED_ORDERS)
说明
获取状态为成交的订单列表
参数
参考获取订单,其中 start_date 和 end_date 为必传参数,用于限定成交订单时间范围;时间范围最长为 90 天。
示例
TigerHttpClient client = TigerHttpClient.getInstance().clientConfig(
ClientConfig.DEFAULT_CONFIG);
QueryOrderRequest request = new QueryOrderRequest(MethodName.FILLED_ORDERS);
String bizContent = AccountParamBuilder.instance()
.account("402901")
.secType(SecType.STK)
.startDate("2023-05-15 22:34:30")
.endDate("2023-06-06 22:34:31")
.buildJson();
request.setBizContent(bizContent);
BatchOrderResponse response = client.execute(request);返回
参考获取订单
请求频率
基础限流为 120 次/分钟。
获取待成交订单列表
对应的请求类:QueryOrderRequest(MethodName.ACTIVE_ORDERS)
参数
参考获取订单,可能包含部分成交的订单。省略起始时间时不添加 start_date 过滤。
示例
TigerHttpClient client = TigerHttpClient.getInstance().clientConfig(
ClientConfig.DEFAULT_CONFIG);
QueryOrderRequest request = new QueryOrderRequest(MethodName.ACTIVE_ORDERS);
String bizContent = AccountParamBuilder.instance()
.account("DU000001")
.secType(SecType.STK)
.buildJson();
request.setBizContent(bizContent);
BatchOrderResponse response = client.execute(request);返回
参考获取订单
请求频率
基础限流为 120 次/分钟。
获取已撤销订单列表
对应的请求类:QueryOrderRequest(MethodName.INACTIVE_ORDERS)
参数
参考获取订单。省略起始时间时不添加 start_date 过滤。
示例
TigerHttpClient client = TigerHttpClient.getInstance().clientConfig(
ClientConfig.DEFAULT_CONFIG);
QueryOrderRequest request = new QueryOrderRequest(MethodName.INACTIVE_ORDERS);
String bizContent = AccountParamBuilder.instance()
.account("DU000001")
.secType(SecType.STK)
.buildJson();
request.setBizContent(bizContent);
BatchOrderResponse response = client.execute(request);返回
参考获取订单
请求频率
基础限流为 120 次/分钟。
获取成交记录
对应的请求类:TigerHttpRequest(MethodName.ORDER_TRANSACTIONS)
说明
获取订单的成交记录
参数
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| account | String | Yes | 账户,支持综合账户和模拟账户 |
| order_id | long | No | 下单成功后返回的全局订单 ID,非本地订单 ID。提供后可直接按订单查询;limit 和 page_token 仍可用于分页 |
| symbol | String | 见说明 | 股票代码;按标的过滤时必须与 sec_type 同时提供 |
| sec_type | String | No | STK:股票/FUT:期货/OPT:期权/WAR:窝轮/IOPT:牛熊证/CC:数字货币。按合约过滤时建议提供;FUT 必须同时提供有效期货 symbol,其他品种可只按 sec_type 过滤 |
| expiry | String | No, sec_type 为 OPT/WAR/IOPT 且指定 symbol 时必传 | 到期日 |
| strike | double | No, sec_type 为 OPT/WAR/IOPT 且指定 symbol 时必传 | 行权价 |
| right | String | No, sec_type 为 OPT/WAR/IOPT 且指定 symbol 时必传 | CALL/PUT |
| start_date | long | No | 起始时间,毫秒时间戳 |
| end_date | long | No | 截止时间,毫秒时间戳 |
| since_date | String | No | 起始日期,支持 yyyyMMdd、yyyy-MM-dd、yyyy/MM/dd |
| to_date | String | No | 截止日期,支持 yyyyMMdd、yyyy-MM-dd、yyyy/MM/dd |
| limit | int | No | 返回数据数量限制,默认 20, 最大 100 |
| secretKey | String | No | 交易员密钥,机构用户专用 |
| page_token | String | No | 分页查询 token,使用该字段分页拉取数据时其他查询条件不能变 |
可接受的主要查询组合为:order_id;仅 sec_type(FUT 除外);或 sec_type 与 symbol。不要仅传 symbol:虽然该组合会通过参数校验,但服务端不会将其应用为过滤条件。OPT/WAR/IOPT 按 symbol 查询时还须提供 expiry、strike 和 right。所有组合均可使用 limit 和 page_token 分页;使用 page_token 时保持全部查询条件不变。
返回
| 字段 | 示例 | 说明 |
|---|---|---|
| id | 24653027221308416 | 成交记录 ID |
| accountId | 402190 | 账号 |
| orderId | 24637316162520064 | 订单 ID |
| secType | STK | 证券类型 |
| symbol | CII | symbol |
| currency | USD | 币种 |
| market | US | 市场 |
| action | BUY | 动作, BUY/SELL |
| filledQuantity | 100 | 成交数量 |
| filledQuantityScale | 0 | 成交数量的偏移量,默认为 0。filledQuantity 和 filledQuantityScale 结合起来代表一个下单数量,如 qty=111 scale=2,那么真实 qty=111*10^(-2)=1.11 |
| filledPrice | 21 | 成交价 |
| filledAmount | 2167.0 | 成交金额 |
| transactedAt | 2021-11-15 22:34:30 | 成交时间 |
| transactionTime | 1636986870000 | 成交时间戳 |
nextPageToken 位于分页结果中,与 items 同级,不是单条成交记录字段。
| 分页字段 | 示例 | 说明 |
|---|---|---|
| items | [] | 成交记录数组 |
| nextPageToken | xxxxxx | 下一页 token |
示例
// 按照symbol查询
TigerHttpRequest request = new TigerHttpRequest(MethodName.ORDER_TRANSACTIONS);
String bizContent = AccountParamBuilder.instance()
.account("402501")
.secType(SecType.STK)
.symbol("CII")
.limit(30)
.startDate("2021-11-15 22:34:30")
.endDate("2021-11-15 22:34:31")
.buildJson();
request.setBizContent(bizContent);
TigerHttpResponse response = client.execute(request);
JSONArray data = JSON.parseObject(response.getData()).getJSONArray("items");
JSONObject trans1 = data.getJSONObject(0);
// 按照orderId查询
TigerHttpRequest request = new TigerHttpRequest(MethodName.ORDER_TRANSACTIONS);
String bizContent = AccountParamBuilder.instance()
.account("402501")
.orderId(24637316162520064L)
.limit(30)
.buildJson();
request.setBizContent(bizContent);
TigerHttpResponse response = client.execute(request);
JSONArray data = JSON.parseObject(response.getData()).getJSONArray("items");
JSONObject trans1 = data.getJSONObject(0);
使用 pageToken 分页获取成交记录
import java.text.SimpleDateFormat;
List<JSONObject> results = new ArrayList<>();
int page = 1;
String pageToken = "";
// 构建查询参数
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
long startTime = sdf.parse("2023-01-01").getTime();
long endTime = sdf.parse("2025-08-01").getTime();
while (true) {
TigerHttpRequest request = new TigerHttpRequest(MethodName.ORDER_TRANSACTIONS);
String bizContent = AccountParamBuilder.instance()
.account("402501")
.secType(SecType.STK)
.startDate(String.valueOf(startTime))
.endDate(String.valueOf(endTime))
.limit(10)
.pageToken(pageToken)
.buildJson();
request.setBizContent(bizContent);
TigerHttpResponse response = client.execute(request);
JSONObject responseData = JSON.parseObject(response.getData());
JSONArray items = responseData.getJSONArray("items");
System.out.println("page " + page + ", size " + items.size() +
", next_page_token: " + responseData.getString("nextPageToken"));
page++;
if (items != null && !items.isEmpty()) {
for (int i = 0; i < items.size(); i++) {
results.add(items.getJSONObject(i));
}
}
pageToken = responseData.getString("nextPageToken");
if (StringUtils.isEmpty(pageToken)) {
break;
}
}
System.out.println("total: " + results.size() + ", results: " + results);返回示例
{
"items": [
{
"id": 24653027221308416,
"accountId": 402901,
"orderId": 24637316162520064,
"secType": "STK",
"symbol": "CII",
"currency": "USD",
"market": "US",
"action": "BUY",
"filledQuantity": 100,
"filledQuantityScale": 0,
"filledPrice": 21.67,
"filledAmount": 2167,
"transactedAt": "2021-11-15 22:34:30",
"transactionTime": 1636986870000
}
],
"nextPageToken": "xxxxxx"
}请求频率
基础限流为 60 次/分钟。
Updated 5 days ago
