账户与订单订阅

订阅调用返回 uint 请求 ID;最终结果由回调异步确认。

订阅账户变动

操作名

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

请求

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

参数

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

Asset 默认每 5 秒推送一次全量资产快照;Position 默认每 5 秒推送一次全量持仓快照。实盘和模拟盘频率一致。数据分别进入 AssetChange 字段表、PositionChange 字段表、OrderStatusChange 字段表 或 OrderTransactionChange 字段表。

返回

Return: uint 请求 ID。订阅和取消结果分别进入 SubscribeEnd / CancelSubscribeEnd 完整字段表。

示例

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

响应类型

SubscribeEnd(int id, string subject, string result)。详见 SubscribeEnd / CancelSubscribeEnd 完整字段表。

数据回调

Asset:AssetChange(AssetData) 字段表;Position:PositionChange(PositionData) 字段表;OrderStatus:OrderStatusChange(OrderStatusData) 字段表;OrderTransaction:OrderTransactionChange(OrderTransactionData) 字段表。

回调数据示例

资产变动(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 请求 ID。订阅和取消结果分别进入 SubscribeEnd / CancelSubscribeEnd 完整字段表。

示例

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

响应类型

CancelSubscribeEnd(int id, string subject, string result)。详见 SubscribeEnd / CancelSubscribeEnd 完整字段表。

数据回调

取消订阅前接收的数据与订阅相同:AssetChange 字段表、PositionChange 字段表、OrderStatusChange 字段表 和 OrderTransactionChange 字段表。


Did this page help you?