账户与订单订阅

以下签名直接来自 PushClient.cs。除连接和状态方法外,订阅调用返回 uint 请求 ID;最终结果由回调异步确认。

订阅账户变动

操作名

PushClient.Subscribe. 已连接通道上的订阅、取消订阅或订阅状态查询命令。发送成功不等于服务端确认成功。

请求

uint Subscribe(Subject subject)
uint Subscribe(Subject subject, string? account)

参数

subject 为 Asset、Position、OrderStatus 或 OrderTransaction;Subscribe 可选 account 重载。

返回

Return: uint request ID. 订阅结果进入 SubscribeEnd;取消结果进入 CancelSubscribeEnd。

示例

uint requestId = client.Subscribe(Subject.Asset, account);

响应类型

// 实际完成回调
SubscribeEnd(int, string, string)

回调数据示例

资产变动(Asset):

{
    "account": "13810712",
    "currency": "USD",
    "segment": "S",
    "availableFunds": 2285040.55,
    "netLiquidation": 2285529.37,
    "buyingPower": 9140162.19,
    "cashBalance": 2284275.24,
    "grossPositionValue": 1143.04,
    "timestamp": "1669888806020"
}

持仓变动(Position):

{
    "account": "13810712",
    "symbol": "AAPL",
    "identifier": "AAPL",
    "market": "US",
    "secType": "STK",
    "positionQty": 4.0,
    "averageCost": 75.0,
    "latestPrice": 147.23,
    "marketValue": 588.92,
    "unrealizedPnl": 288.92,
    "timestamp": "1669888802018"
}

订单状态变动(OrderStatus):

{
    "id": "28875370355884032",
    "account": "736845",
    "symbol": "CL",
    "action": "BUY",
    "orderType": "LMT",
    "totalQuantity": "1",
    "filledQuantity": "1",
    "avgFillPrice": 77.76,
    "status": "Filled",
    "timestamp": "1669200782221"
}

取消订阅账户变动

操作名

PushClient.CancelSubscribe. 已连接通道上的订阅、取消订阅或订阅状态查询命令。发送成功不等于服务端确认成功。

请求

uint CancelSubscribe(Subject subject)

参数

subject 为 Asset、Position、OrderStatus 或 OrderTransaction;Subscribe 可选 account 重载。

返回

Return: uint request ID. 订阅结果进入 SubscribeEnd;取消结果进入 CancelSubscribeEnd。

示例

uint requestId = client.CancelSubscribe(Subject.Asset);

响应类型

// 实际完成回调
CancelSubscribeEnd(int, string, string)

Did this page help you?