获取订单信息

预览订单

对应的请求类 TradeOrderPreviewRequest

说明

预览订单,返回是否通过下单前检查以及资产信息。该接口仅执行提交前检查,不会提交或执行订单;预览通过也不代表订单一定成交。

附加订单和 OCA 订单不支持预览。多腿订单预览仅支持兼容该能力的综合账户和合约。

参数

参数类型是否必填描述
accountstringYes用户授权账户
symbolstring条件必填普通合约填写股票代码(如 AAPL);多腿预览通过 contract_legs 标识各腿合约
sec_typestringYes合约类型 (STK 股票 OPT 美股期权 WAR 港股窝轮 IOPT 港股牛熊证 FUT 期货 FUND 基金 CC 数字货币 MLEG 多腿)
actionstringYes交易方向 BUY/SELL
order_typestringYes订单类型 MKT(市价单),LMT(限价单), STP(止损单),STP_LMT(止损限价单),TRAIL(跟踪止损单)
total_quantityLong条件必填下单数量。除基金外均必填;基金买入可不传
total_quantity_scaleintNo数量偏移量,与 total_quantity 组合表示碎股数量
cash_amountdoubleNo按金额下单金额。支持基金买入;当前 SDK 不支持股票金额单
limit_pricedoubleNo限价,当 order_type 为 LMT、STP_LMT 时必需;STP 不要求该字段
aux_pricedoubleNo股票止损价。当 order_type 为 STP,STP_LMT 时该参数必需,当 order_type 为 TRAIL 时,为跟踪额
trailing_percentdoubleNo跟踪止损百分比;TRAIL 同时传入 aux_price 和 trailing_percent 时,trailing_percent 优先
adjust_limitdoubleNo价格微调幅度,默认 0
outside_rthbooleanNotrue: 允许盘前盘后交易(美股专属),false: 不允许, 默认允许
marketstringNo市场 (美股 US 港股 HK 沪港通 CN)
currencystringNo货币(美股 USD 港股 HKD 沪港通 CNH)
time_in_forcestringNo订单有效期:DAY、GTC、GTD、OPG。省略时普通订单默认为 DAY,CC 数字货币和 FUND 基金订单使用 GTC
expire_timelongNoGTD 订单截止时间,毫秒时间戳
trading_session_typeTradingSessionTypeNoPRE_RTH_POSTOVERNIGHTRTHFULLHK_AUCHK_CTSHK_AUC_CTS;实际支持范围取决于账户、市场、标的和订单类型
exchangestringNo交易所 (美股 SMART 港股 SEHK 沪港通 SEHKNTL 深港通 SEHKSZSE)
expirystringNo过期日(期权、窝轮、牛熊证专属)
strikestringNo行权价(期权、窝轮、牛熊证专属)
rightstringNo期权方向 PUT/CALL (期权、窝轮、牛熊证专属)
multiplierfloatNo乘数,每手对应的数量 (期权、窝轮、牛熊证专属)
local_symbolstringNo窝轮、牛熊证该字段必填,在 APP 中窝轮/牛熊证列表中名称下面的 5 位数字
secret_keystringNo交易员密钥,机构用户专用
user_markstringNo订单备注;首尾空白、长度归一化和返回行为取决于账户类型。综合账户会去除首尾空白并最多保留前 200 个字符
order_idintNo订单编号
alloc_accountsList<String>No仅支持环球账户 必须与 alloc_shares 同时传入;账户元素不能为空,两个列表长度相同且按索引一一对应
alloc_sharesList<Double>No仅支持环球账户 必须与 alloc_accounts 同时传入,每项必须大于 0,两个列表长度必须相同
algo_strategystringNo算法策略
algo_paramsList<TagValue>No算法参数列表
display_sizeIntegerNo冰山单每次展示数量。模型提供该字段,但 TradeOrderPreviewRequest 没有对应便捷 setter;仅适用于支持冰山单预览的账户和订单
min_display_sizeIntegerNo冰山单最小展示数量;适用范围及 Java 调用限制同 display_size
check_intervalsIntegerNo冰山单价格检查间隔(秒);适用范围及 Java 调用限制同 display_size
price_typestringNo冰山单价格类型;适用范围及 Java 调用限制同 display_size
start_timeLongNo冰山单生效开始时间,毫秒时间戳;适用范围及 Java 调用限制同 display_size
end_timeLongNo冰山单生效结束时间,毫秒时间戳;适用范围及 Java 调用限制同 display_size
sourcestringNo订单来源标识
combo_typestringNo多腿组合类型
contract_legsList<ContractLeg>No多腿合约列表
attach_typestringNo附加订单类型;预览不支持附加订单
profit_taker_orderIdintNo附加止盈单编号;预览不支持附加订单
profit_taker_pricedoubleNo附加止盈价格;预览不支持附加订单
profit_taker_tifstringNo附加止盈单有效期;预览不支持附加订单
profit_taker_rthbooleanNo附加止盈单是否允许盘前盘后;预览不支持附加订单
stop_loss_order_typestringNo附加止损订单类型;预览不支持附加订单
stop_loss_orderIdintNo附加止损单编号;预览不支持附加订单
stop_loss_pricedoubleNo附加止损触发价;预览不支持附加订单
stop_loss_limit_pricedoubleNo附加止损限价;预览不支持附加订单
stop_loss_tifstringNo附加止损单有效期;预览不支持附加订单
stop_loss_trailing_percentdoubleNo附加跟踪止损百分比;预览不支持附加订单
stop_loss_trailing_amountdoubleNo附加跟踪止损金额;预览不支持附加订单
oca_ordersList<TradeOrderModel>NoOCA 订单列表;预览不支持 OCA 订单

返回

字段类型描述
accountString账户 ID
statusString预览状态
initMarginDouble假设订单成交后的初始保证金
maintMarginDouble假设订单成交后的维持保证金
equityWithLoanDouble假设订单成交后的可借贷资产
initMarginBeforeDouble假设订单成交前的初始保证金
maintMarginBeforeDouble假设订单成交前的维持保证金
equityWithLoanBeforeDouble假设订单成交前的可借贷资产
marginCurrencyString上述资产和保证金预览值的币种
commissionDouble预估佣金,币种见 commissionCurrency
minCommissionDouble最低预估佣金
maxCommissionDouble最高预估佣金
maxOrderSizeDouble最大可下单数量
gstDouble预估消费税,币种见 commissionCurrency
commissionCurrencyString预估佣金和消费税的币种
availableEEDouble假设订单成交后的可用剩余资产,币种见 marginCurrency
excessLiquidityDouble假设订单成交后的剩余流动性,币种见 marginCurrency
overnightLiquidationDouble假设订单成交后的隔夜剩余流动性,币种见 marginCurrency
warningTextString预警信息
isPassBoolean是否通过下单前检查
messageString未通过检查时的错误原因

示例

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)

说明

获取订单

参数

获取指定单个订单

参数类型是否必填描述
accountstringYes用户授权账户:572386
idintYes下单成功后返回的订单号
secret_keystringNo交易员密钥,机构用户专用
show_chargesboolNo是否返回订单的费用明细

获取订单列表

参数类型是否必填描述
accountstringYes用户授权账户: 572386
seg_typeSegmentTypeNo账户划分类型, 可选值有: SegmentType.SEC 代表证券; SegmentType.FUT 代表期货; SegmentType.FUND 代表基金, SegmentType.ALL:代表证券+期货+基金。 默认为 SegmentType.SEC
sec_typestringNoALL/STK/OPT/FUT/FOP/CASH 默认 ALL
marketstringNoALL/US/HK/CN 默认 ALL
symbolstringNo股票代码
expirystringNo过期日 (期权、窝轮、牛熊证专属)
strikestringNo行权价格 (期权、窝轮、牛熊证专属)
rightstringNo期权方向 PUT/CALL (期权、窝轮、牛熊证专属)
start_datestringNo订单下单时间的起始时间(当 sort_by=LATEST_STATUS_UPDATED 时,按订单状态更新时间进行过滤),格式为'2018-05-01' 或者 "2018-05-01 10:00:00"(默认东八区,可指定时区)
end_datestringNo订单下单时间的截止时间(当 sort_by=LATEST_STATUS_UPDATED 时,按订单状态更新时间进行过滤),格式为'2018-05-15' 或者 "2018-05-01 10:00:00"(默认东八区,可指定时区)
statesarrayNo订单状态过滤,支持 Global、Prime 和 Paper;Global 查询前转换为状态码,Prime/Paper 在返回订单中筛选。省略时不按状态过滤。参考:订单状态
isBriefbooleanNo仅支持环球账号 是否返回精简的订单信息
limitintegerNo默认为 100,最大限制为 300
sort_byOrderSortByNo仅支持综合账号 排序和起止时间作用字段,LATEST_CREATED/LATEST_STATUS_UPDATED; 默认值: LATEST_CREATED
secret_keystringNo交易员密钥, 机构用户专用
langstringNo语言支持(枚举类 Language):zh_CN, zh_TW, en_US, 默认:en_US
page_tokenstringNo分页查询 token,使用 pageToken 分页拉取数据时其他查询条件不能变

start_dateend_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

环球账户未找到订单时,成功响应中的 dataSingleOrderResponse.getItem() 可能为 null;综合账户的未找到错误由下游返回。

字段类型说明
nextPageTokenstring查询下一页用的 token
itemsarray订单数组,字段参考下面说明

其中订单数据 items 属性如下:

名称示例说明
id27363676799501312订单全局唯一 ID,下单成功后返回
orderId830154374用户本地的自增订单 ID,非全局唯一
externalId830154374扩展 ID, API 下单为 orderId 的值
parentId0父订单的订单 ID
account572386交易账户
actionBUY交易方向,BUY or SELL
orderTypeLMT订单类型
limitPrice108.62限价单价格
auxPrice0.0止损单辅助价格-跟踪额
trailingPercent5跟踪止损单的跟踪百分比
totalQuantity111下单数量
totalQuantityScale0下单数量的偏移量,默认为 0。碎股单的 totalQuantity 和 totalQuantityScale 结合起来代表真实下单数量,如 totalQuantity=111 totalQuantityScale=2,那么真实 quantity=111*10^(-2)=1.11
timeInForceDAYDAY/GTC/GTD/OPG
expireTime1669000183188timeInForce 为 GTD 时才有值
outsideRthtrue是否允许盘前、盘后
filledQuantity50成交数量
filledQuantityScale0成交数量偏移量,如 filledQuantity=11123, filledQuantityScale=2,那么实际 filledQuantity=11123*10^(-2)=111.23
cashQuantity100历史按金额下单字段;新金额单信息以 totalCashAmount 等金额字段为准
totalCashAmount100按金额下单的下单总金额;按股数下单时可能不返回
filledCashAmount100按金额下单的已成交金额;按股数下单时可能不返回或为 0
refundCashAmount0退回金额,等于下单总金额减去已成交金额
lastFillPrice108.62最近一笔成交价格
avgFillPrice108.62按成交价格加权计算的平均成交价,不含佣金和其他费用;费用通过 commissiongst 等字段单独返回;无平均成交价时返回 0
remarkOrder is expired错误描述
statusFilled订单状态,参考:订单状态
attrDescExercise订单描述信息,参考:订单描述
commission0.99佣金及相关费用
commissionCurrencyUSD佣金币种
gst1.34商品及服务税(Goods and Services Tax)
realizedPnl0.0此笔订单按 FIFO 计算的已实现盈亏。佣金和 GST 通过独立字段返回;准确的计算口径和币种请以账户结单为准。仅平仓订单成交后有意义,开仓订单或未成交订单通常为 0。
openTime1657667486000下单时间
updateTime1657670428000最后更新时间
latestTime1657670428000状态更新时间
name阿里巴巴合约名称
symbolBABA股票代码
identifierBABA合约标识
currencyUSD货币
marketUS交易市场
expiry20251219期权、窝轮、牛熊证和期货的到期日
strike200期权、窝轮和牛熊证的行权价
rightCALL期权方向
multiplier0.0乘数,每手对应的数量
secTypeSTK交易类型
userMarkmy_strategy_1下单时备注参数,会按照设置值返回,长度不能超过 200
canModifyfalse是否可修改订单
canCancelfalse是否可撤销订单
liquidationfalse是否强制平仓
isOpentrue是否为开仓
latestPrice108.62返回订单时的最新市场价格
tradingSessionTypeRTH交易时段类型
sourceOpenApi订单来源
discount0折扣标识
replaceStatusNONE订单改单状态
cancelStatusNONE订单撤单状态
charges订单佣金等费用明细(仅限单个订单查询)。详细说明见下方Charge描述。
commissionDiscountAmount0免佣金额(仅限单个订单查询)
orderDiscountAmount0订单扣减金额
orderDiscount0订单抵扣状态(仅限单个订单查询)。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 订单
ocaGroupId87055OCA 订单组 ID
comboLegs多腿组合信息
allocAccounts["123456"]环球账户分配订单的子账户列表
allocShares[100]环球账户分配到对应子账户的数量
algoStrategyVWAP算法策略
algoParameters算法参数列表
comboTypeVERTICAL多腿组合类型
comboTypeDescVertical Spread多腿组合类型描述
legs多腿订单明细
displaySize100冰山单展示数量
minDisplaySize50冰山单最小展示数量
checkIntervals30冰山单价格检查间隔(秒)
priceTypeLIMIT_PRICE冰山单价格类型
goodTillDate2025-12-31订单有效截止日期
triggerStatusTriggered条件订单的触发状态
startTime1687272600000冰山单生效开始时间,毫秒时间戳
endTime1687296000000冰山单生效结束时间,毫秒时间戳

Charge说明:

名称示例说明
categoryTIGER费用类别:TIGER/THIRD_PARTY
categoryDescTiger Charge费用类别描述:Tiger Charge; Third Parties
total18当前类别费用总额
details费用明细。详细说明见下方ChargeDetails描述。

ChargeDetails说明:

名称示例说明
typeSETTLEMENT_FEE费用类型:SETTLEMENT_FEE/STAMP_DUTY/TRANSACTION_LEVY/EXCHANGE_FEE/FRC_TRANSACTION_LEVY
typeDescSettlement Fee费用类型描述:Settlement Fee(结算费); Stamp Duty(印花税); Transaction Levy(交易征费); Exchange Fee(交易所费用); AFRC Transaction Levy(会计及财汇局交易征费)
originalAmount4费用金额
afterDiscountAmount4抵扣后的费用

示例

获取单个订单

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_dateend_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)

说明

获取订单的成交记录

参数

参数类型是否必填描述
accountStringYes账户,支持综合账户和模拟账户
order_idlongNo下单成功后返回的全局订单 ID,非本地订单 ID。提供后可直接按订单查询;limit 和 page_token 仍可用于分页
symbolString见说明股票代码;按标的过滤时必须与 sec_type 同时提供
sec_typeStringNoSTK:股票/FUT:期货/OPT:期权/WAR:窝轮/IOPT:牛熊证/CC:数字货币。按合约过滤时建议提供;FUT 必须同时提供有效期货 symbol,其他品种可只按 sec_type 过滤
expiryStringNo, sec_type 为 OPT/WAR/IOPT 且指定 symbol 时必传到期日
strikedoubleNo, sec_type 为 OPT/WAR/IOPT 且指定 symbol 时必传行权价
rightStringNo, sec_type 为 OPT/WAR/IOPT 且指定 symbol 时必传CALL/PUT
start_datelongNo起始时间,毫秒时间戳
end_datelongNo截止时间,毫秒时间戳
since_dateStringNo起始日期,支持 yyyyMMddyyyy-MM-ddyyyy/MM/dd
to_dateStringNo截止日期,支持 yyyyMMddyyyy-MM-ddyyyy/MM/dd
limitintNo返回数据数量限制,默认 20, 最大 100
secretKeyStringNo交易员密钥,机构用户专用
page_tokenStringNo分页查询 token,使用该字段分页拉取数据时其他查询条件不能变

可接受的主要查询组合为:order_id;仅 sec_type(FUT 除外);或 sec_typesymbol。不要仅传 symbol:虽然该组合会通过参数校验,但服务端不会将其应用为过滤条件。OPT/WAR/IOPT 按 symbol 查询时还须提供 expirystrikeright。所有组合均可使用 limitpage_token 分页;使用 page_token 时保持全部查询条件不变。

返回

字段示例说明
id24653027221308416成交记录 ID
accountId402190账号
orderId24637316162520064订单 ID
secTypeSTK证券类型
symbolCIIsymbol
currencyUSD币种
marketUS市场
actionBUY动作, BUY/SELL
filledQuantity100成交数量
filledQuantityScale0成交数量的偏移量,默认为 0。filledQuantity 和 filledQuantityScale 结合起来代表一个下单数量,如 qty=111 scale=2,那么真实 qty=111*10^(-2)=1.11
filledPrice21成交价
filledAmount2167.0成交金额
transactedAt2021-11-15 22:34:30成交时间
transactionTime1636986870000成交时间戳

nextPageToken 位于分页结果中,与 items 同级,不是单条成交记录字段。

分页字段示例说明
items[]成交记录数组
nextPageTokenxxxxxx下一页 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 次/分钟


Did this page help you?