> 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.

# Giao dịch 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.*;
```

## `listPerpetualTrades`

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

```java
import com.sixmm.agent.model.PerpetualTradesRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;

PerpetualTradesRequest request = new PerpetualTradesRequest();
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.listPerpetualTrades(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>` | Đúng    | Cung cấp rõ ràng 1–100 ID người dùng nền tảng công khai duy nhất thuộc về đối tác hiện tại; thiếu sót và một mảng trống là không hợp lệ. |
| `symbol`          | `String`                 | KHÔNG   | Bộ lọc cặp giao dịch tùy chọn.                                                                                                           |
| `orderId`         | `String`                 | KHÔNG   | ID đơn hàng thông thường; không phải là số thứ tự chuyển nhượng đối tác.                                                                 |
| `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.

## Chi tiết điền giao dịch

Giao diện: `trades`. Yêu cầu platformUserIds rõ ràng.

| Trường `data`  | kiểu    | nghĩa                                                                                                              |
| -------------- | ------- | ------------------------------------------------------------------------------------------------------------------ |
| `fillId`       | string  | ID chi tiết điền giao dịch, tương ứng với bản ghi này entityId                                                     |
| `tradeId`      | string  | ID giao dịch trùng khớp được liên kết với giao dịch; không thay thế ID chi tiết                                    |
| `orderId`      | string  | ID đơn đặt hàng chung mà chi tiết này thuộc về                                                                     |
| `positionId`   | string  | ID vị trí liên quan                                                                                                |
| `symbol`       | string  | cặp giao dịch                                                                                                      |
| `side`         | string  | Hướng mua bán của người chơi này BUY / SELL                                                                        |
| `roleType`     | string  | Ký tự giao dịch của người chơi này MAKER / TAKER                                                                   |
| `positionSide` | string  | Hướng vị trí, được giải thích theo giá trị thực tế LONG / SHORT / BOTH, v.v.                                       |
| `price`        | string  | Giá giao dịch này                                                                                                  |
| `quantity`     | string  | Số lượng của giao dịch này không phải là tổng số lượng của đơn hàng ban đầu.                                       |
| `tradeValue`   | string  | Giá trị danh nghĩa của giao dịch này xuất phát từ danh nghĩa giao dịch                                             |
| `handlingFee`  | string  | Phí giao dịch cho giao dịch này vẫn giữ nguyên biểu tượng nguồn và độ chính xác và không tự lấy giá trị tuyệt đối. |
| `realizedPnl`  | string  | Lãi lỗ thực hiện tương ứng với giao dịch này; không phải lãi và lỗ thả nổi theo thời gian thực của vị thế hiện tại |
| `tradedAt`     | integer | Thời gian giao dịch, mili giây; sử dụng trường này để lọc thời gian                                                |

Một đơn hàng có thể có nhiều lần điền, cần được lưu chi tiết. Không hợp nhất các bản ghi của những người chơi/điền vai trò khác nhau theo tradeId rồi loại bỏ danh tính bản ghi của họ.

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