跳到导航

当前持仓与持仓历史

当前持仓与持仓历史: Agent Java SDK v0.3.0 接入、示例、参数及响应说明。

以 Markdown 格式查看

本文对应 Agent Java SDK v0.3.0、Java 8+ 与该标签的公开契约。示例在合作方后端运行;先按快速开始初始化 client。

示例前提

Java 示例共用以下导入。按快速开始初始化 client,从已保存的绑定取得 platformUserId。示例用户和订单 ID 必须替换为实际持久化值。

import com.sixmm.agent.*;
import com.sixmm.agent.model.*;
import java.util.*;

listCurrentPerpetualPositions

请求模型: CurrentPerpetualPositionsRequest.

import com.sixmm.agent.model.CurrentPerpetualPositionsRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
CurrentPerpetualPositionsRequest request = new CurrentPerpetualPositionsRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.symbol = "BTCUSDT";
PerpetualResponse response = client.listCurrentPerpetualPositions(request);
System.out.println(response.data.items.size());
System.out.println(response.data.hasMore);
System.out.println(response.data.nextCursor);

请求字段

字段Java 类型必填含义
platformUserIdsjava.util.List<String>条件必填1~100 个不重复公开 ID;成交及条件委托必填。支持省略的查询使用直属玩家范围;[] 非法。
symbolString否可选交易对筛选。
limitInteger否默认 500,范围 1~1000。
cursorString否保持筛选条件,用 nextCursor 续页;hasMore=false 时结束。

示例仅读取一页。必填条件、玩家范围、筛选语义、limit、cursor 与有限重试见查询概览。翻页保持全部筛选条件不变;不能把错误当作空结果。

listPerpetualPositionHistory

请求模型: PerpetualPositionHistoryRequest.

import com.sixmm.agent.model.PerpetualPositionHistoryRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
PerpetualPositionHistoryRequest request = new PerpetualPositionHistoryRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.symbol = "BTCUSDT";
request.endTime = System.currentTimeMillis();
request.startTime = request.endTime - 3_600_000L;
PerpetualResponse response = client.listPerpetualPositionHistory(request);
System.out.println(response.data.items.size());
System.out.println(response.data.hasMore);
System.out.println(response.data.nextCursor);

请求字段

字段Java 类型必填含义
platformUserIdsjava.util.List<String>条件必填1~100 个不重复公开 ID;成交及条件委托必填。支持省略的查询使用直属玩家范围;[] 非法。
symbolString否可选交易对筛选。
positionSideString否按来源持仓方向枚举筛选。
startTimeLong否包含起点,Unix 毫秒;使用固定 UTC 历史窗口。
endTimeLong否不包含终点,Unix 毫秒。
limitInteger否默认 500,范围 1~1000。
cursorString否保持筛选条件,用 nextCursor 续页;hasMore=false 时结束。

示例仅读取一页。必填条件、玩家范围、筛选语义、limit、cursor 与有限重试见查询概览。翻页保持全部筛选条件不变;不能把错误当作空结果。

持仓:当前与历史

data 字段类型当前持仓历史持仓含义
positionIdstring提供提供持仓 ID,对应 entityId
symbolstring提供提供交易对
positionSidestring提供提供LONG / SHORT / BOTH 等持仓方向
statusstring提供提供持仓数字状态的字符串,见相关指南
leverageinteger提供提供杠杆倍数
marginModestring提供提供数字枚举字符串 “1” 全仓、“2” 逐仓
quantitystring提供不提供当前持仓数量
entryPricestring提供提供存储的持仓开仓均价
marginstring提供不提供当前持仓保证金金额,不是用户整个合约钱包余额
maxQuantitystring不提供提供该历史持仓记录的最大持仓数量
closeQuantitystring不提供提供该历史持仓生命周期的累计平仓数量
closePricestring不提供提供存储的平仓均价
pnlstring不提供提供历史持仓损益;不将其与成交 realizedPnl 简单重复累加
roestring不提供提供历史持仓收益率的比例值,未乘以 100;例如 "0.043" 表示 4.3%,"-0.05" 表示 -5%
fundingFeeAccumstring提供提供累计资金费,保留来源符号与精度
openedAtinteger提供提供开仓时间,毫秒
updatedAtinteger提供不提供当前持仓更新时间,毫秒
closedAtinteger不提供提供平仓时间,毫秒;历史持仓时间筛选使用该字段

历史 roe 的计算口径为 pnl / (entryPrice × maxQuantity / leverage),接口直接返回保存的比例值。百分比展示时使用十进制运算乘以 100,再添加 %;分母使用该历史持仓记录的名义保证金,不是账户钱包余额。开仓价或最大持仓数量为 0、杠杆无效等无法计算的情况,来源保存为 0,因此不能仅凭 roe=0 推断该笔盈亏为 0。

当前持仓没有实时标记价格、实时浮盈亏、实时 ROE 或实时强平价。它反映存储的持仓状态,不能用更新时刻和保证金字段自行声称当前实时风控结果。

响应结构示例

以下为合法空页的结构示例,不代表一笔已成交记录。有记录时,items[].data 的字段按上面的资源字段表解释。

{"code":0,"message":"success","data":{"items":[],"nextCursor":"","hasMore":false}}

来源与相关指南