> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.6mm.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.6mm.com/_mcp/server.

# Vị thế vĩnh viễn

Hướng dẫn này hướng tới **Agent Java SDK `v0.3.0`**, Java 8+ và hợp đồng công khai được gắn thẻ. Các ví dụ chạy trong phần phụ trợ của đối tác sau khi khởi tạo `client` trong [Bắt đầu nhanh](/vi/sdk/agent-sdk/java/quick-start).

## Điều kiện tiên quyết mẫu

Đoạn mã Java chia sẻ những nội dung nhập này. Khởi tạo `client` bằng cách sử dụng Bắt đầu nhanh và lấy `platformUserId` từ liên kết đã lưu. ID người dùng/đơn đặt hàng mẫu phải được thay thế bằng các giá trị cố định của riêng bạn.

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

## `listCurrentPerpetualPositions`

Mẫu yêu cầu: `CurrentPerpetualPositionsRequest`.

```java
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);
```

### Các trường yêu cầu

| Cánh đồng         | Java loại                | Yêu cầu      | Nghĩa                                                                                                                                                                      |
| ----------------- | ------------------------ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `platformUserIds` | `java.util.List<String>` | có điều kiện | 1–100 ID công khai duy nhất; cần thiết cho việc điền và các đơn đặt hàng có điều kiện. Bỏ qua các truy vấn được hỗ trợ cho phạm vi trình phát trực tiếp; \[] không hợp lệ. |
| `symbol`          | `String`                 | KHÔNG        | Bộ lọc cặp giao dịch tùy chọn.                                                                                                                                             |
| `limit`           | `Integer`                | KHÔNG        | Mặc định 500; 1–1000.                                                                                                                                                      |
| `cursor`          | `String`                 | KHÔNG        | Sử dụng nextCursor được trả về với các bộ lọc không thay đổi; dừng khi hasMore sai.                                                                                        |

Ví dụ đọc một trang. Đối với các trường bắt buộc, phạm vi trình phát, ngữ nghĩa bộ lọc, giới hạn, con trỏ và số lần thử giới hạn, hãy làm theo [Tổng quan về truy vấn](/vi/sdk/agent-sdk/java/perpetual-queries). Giữ tất cả các bộ lọc không thay đổi trong khi phân trang; không hiểu lỗi là kết quả trống.

## `listPerpetualPositionHistory`

Mẫu yêu cầu: `PerpetualPositionHistoryRequest`.

```java
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);
```

### Các trường yêu cầu

| Cánh đồng         | Java loại                | Yêu cầu      | Nghĩa                                                                                                                                                                      |
| ----------------- | ------------------------ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `platformUserIds` | `java.util.List<String>` | có điều kiện | 1–100 ID công khai duy nhất; cần thiết cho việc điền và các đơn đặt hàng có điều kiện. Bỏ qua các truy vấn được hỗ trợ cho phạm vi trình phát trực tiếp; \[] không hợp lệ. |
| `symbol`          | `String`                 | KHÔNG        | Bộ lọc cặp giao dịch tùy chọn.                                                                                                                                             |
| `positionSide`    | `String`                 | KHÔNG        | Lọc bằng cách sử dụng enum bên vị trí nguồn.                                                                                                                               |
| `startTime`       | `Long`                   | KHÔNG        | Bao gồm Unix mili giây; sử dụng cửa sổ lịch sử UTC cố định.                                                                                                                |
| `endTime`         | `Long`                   | KHÔNG        | Unix mili giây độc quyền.                                                                                                                                                  |
| `limit`           | `Integer`                | KHÔNG        | Mặc định 500; 1–1000.                                                                                                                                                      |
| `cursor`          | `String`                 | KHÔNG        | Sử dụng nextCursor được trả về với các bộ lọc không thay đổi; dừng khi hasMore sai.                                                                                        |

Ví dụ đọc một trang. Đối với các trường bắt buộc, phạm vi trình phát, ngữ nghĩa bộ lọc, giới hạn, con trỏ và số lần thử giới hạn, hãy làm theo [Tổng quan về truy vấn](/vi/sdk/agent-sdk/java/perpetual-queries). Giữ tất cả các bộ lọc không thay đổi trong khi phân trang; không hiểu lỗi là kết quả trống.

## Vị trí: Hiện tại và Lịch sử

| Trường `data`     | kiểu    | Vị trí hiện tại | Vị trí lịch sử | nghĩa                                                                                                                                 |
| ----------------- | ------- | --------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `positionId`      | string  | cung cấp        | cung cấp       | ID vị trí, tương ứng với entityId                                                                                                     |
| `symbol`          | string  | cung cấp        | cung cấp       | cặp giao dịch                                                                                                                         |
| `positionSide`    | string  | cung cấp        | cung cấp       | LONG / SHORT / BOTH và các hướng vị trí khác                                                                                          |
| `status`          | string  | cung cấp        | cung cấp       | Chuỗi có trạng thái số của vị trí, xem tổng quan về truy vấn                                                                          |
| `leverage`        | integer | cung cấp        | cung cấp       | Tận dụng nhiều                                                                                                                        |
| `marginMode`      | string  | cung cấp        | cung cấp       | Chuỗi liệt kê số "1" cho vị trí đầy đủ, "2" cho vị trí biệt lập                                                                       |
| `quantity`        | string  | cung cấp        | Không có sẵn   | Số lượng vị trí hiện tại                                                                                                              |
| `entryPrice`      | string  | cung cấp        | cung cấp       | Giá mở trung bình của các vị trí được lưu trữ                                                                                         |
| `margin`          | string  | cung cấp        | Không có sẵn   | Số tiền ký quỹ vị thế hiện tại, không phải toàn bộ số dư trong ví hợp đồng của người dùng                                             |
| `maxQuantity`     | string  | Không có sẵn    | cung cấp       | Số lượng vị trí tối đa được ghi lại ở vị trí lịch sử này                                                                              |
| `closeQuantity`   | string  | Không có sẵn    | cung cấp       | Số lượng vị trí tích lũy được đóng trong vòng đời vị trí lịch sử                                                                      |
| `closePrice`      | string  | Không có sẵn    | cung cấp       | Giá đóng cửa trung bình được lưu trữ                                                                                                  |
| `pnl`             | string  | Không có sẵn    | cung cấp       | Lãi lỗ lịch sử; không kết hợp nó với giao dịch realizedPnl chỉ để lặp lại và tích lũy                                                 |
| `roe`             | string  | Không có sẵn    | cung cấp       | Giá trị tỷ lệ của việc trả lại vị trí lịch sử, không nhân với 100; ví dụ: `"0.043"` đại diện cho `4.3%`, `"-0.05"` đại diện cho `-5%` |
| `fundingFeeAccum` | string  | cung cấp        | cung cấp       | Phí tài trợ tích lũy, giữ lại biểu tượng nguồn và độ chính xác                                                                        |
| `openedAt`        | integer | cung cấp        | cung cấp       | Thời gian mở vị trí, mili giây                                                                                                        |
| `updatedAt`       | integer | cung cấp        | Không có sẵn   | Thời gian cập nhật vị trí hiện tại, mili giây                                                                                         |
| `closedAt`        | integer | Không có sẵn    | cung cấp       | Thời gian đóng, mili giây; sử dụng trường này để lọc thời gian vị trí lịch sử                                                         |

Tầm cỡ tính toán của lịch sử `roe` là `pnl / (entryPrice × maxQuantity / leverage)` và giao diện trả về trực tiếp giá trị tỷ lệ đã lưu. Khi hiển thị tỷ lệ phần trăm, sử dụng phép tính thập phân và nhân với 100, sau đó thêm `%`; mẫu số sử dụng ký quỹ danh nghĩa của bản ghi vị thế lịch sử chứ không phải số dư ví tài khoản. Khi giá mở cửa hoặc số lượng vị thế tối đa là 0, đòn bẩy không hợp lệ, v.v. và không thể tính toán, nguồn được lưu là 0. Do đó, không thể suy ra rằng lãi hoặc lỗ là 0 chỉ dựa trên `roe=0`.

Vị thế hiện tại không có giá đánh dấu theo thời gian thực, lãi và lỗ thả nổi theo thời gian thực, ROE hoặc giá thanh lý theo thời gian thực. Nó phản ánh trạng thái vị thế được lưu trữ và không thể sử dụng thời gian cập nhật và các trường ký quỹ để yêu cầu kết quả kiểm soát rủi ro theo thời gian thực hiện tại.

## Ví dụ về phong bì phản hồi

Đây là trang trống minh họa, không phải mẫu giao dịch đã hoàn thành. Các bảng trường dành riêng cho tài nguyên ở trên mô tả `items[].data`.

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

## Nguồn và hướng dẫn liên quan

* [Nguồn v0.3.0 chính thức](https://github.com/6mm-com/agent-java-sdk/tree/54aa3c1)
* [Tổng quan về truy vấn và phân trang](/vi/sdk/agent-sdk/java/perpetual-queries)
* [Ví tiền tài trợ](/vi/sdk/agent-sdk/java/funding-wallet)
* [Hướng dẫn nâng cấp](/vi/sdk/agent-sdk/java/upgrade)