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

# 永續交易成交

本指南針對 **Agent Java SDK `v0.3.0`**、Java 8+ 以及標記的公共合約。初始化 `client` 後在合作伙伴後端運行示例 [快速入門](/zh-TW/sdk/agent-sdk/java/quick-start).

## 先決條件示例

Java 片段共享這些導入。使用快速啟動初始化 `client` 並從保存的綁定中獲取 `platformUserId`。示例用戶/訂單 ID 必須替換為您自己的持久值。

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

## `listPerpetualTrades`

請求模型：`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);
```

### 請求字段

| 場地                | Java 類型                  | 必需的 | 意義                                               |
| ----------------- | ------------------------ | --- | ------------------------------------------------ |
| `platformUserIds` | `java.util.List<String>` | 是的  | 明確提供屬於當前合作伙伴的1-100個唯一的公共平臺用戶ID；省略和空數組無效。         |
| `symbol`          | `String`                 | 不   | 可選的交易對過濾器。                                       |
| `orderId`         | `String`                 | 不   | 普通訂單ID；不是合作伙伴轉移訂單號。                              |
| `startTime`       | `Long`                   | 不   | 包含 Unix 毫秒；使用固定的 UTC 歷史窗口。                       |
| `endTime`         | `Long`                   | 不   | Unix 獨有的毫秒。                                      |
| `limit`           | `Integer`                | 不   | 默認500； 1–1000。                                   |
| `cursor`          | `String`                 | 不   | 使用返回的 nextCursor 和未更改的過濾器；當 hasMore 為 false 時停止。 |

該示例讀取一頁。對於必填字段、播放器範圍、過濾器語義、限制、光標和有界重試，請遵循 [查詢概覽](/zh-TW/sdk/agent-sdk/java/perpetual-queries)。分頁時保持所有過濾器不變；不要將錯誤解釋為空結果。

## 交易填寫詳細信息

接口：`trades`。需要明確的platformUserIds。

| `data` 字段      | 類型      | 意義                              |
| -------------- | ------- | ------------------------------- |
| `fillId`       | string  | 交易填寫明細ID，對應這條記錄entityId         |
| `tradeId`      | string  | 與交易關聯的匹配交易ID；不取代詳細 ID           |
| `orderId`      | string  | 該明細所屬的通用訂單ID                    |
| `positionId`   | string  | 關聯職位 ID                         |
| `symbol`       | string  | 交易對                             |
| `side`         | string  | 該玩家的買賣方向 BUY / SELL             |
| `roleType`     | string  | 該玩家的交易角色 MAKER / TAKER          |
| `positionSide` | string  | 位置方向，按實際值解釋LONG / SHORT / BOTH等 |
| `price`        | string  | 本次交易價格                          |
| `quantity`     | string  | 本次交易數量並非原訂單總數量。                 |
| `tradeValue`   | string  | 本次交易的名義價值來源於交易名義                |
| `handlingFee`  | string  | 本次交易的交易手續費保留來源符號和準確性，本身不取絕對值。   |
| `realizedPnl`  | string  | 本次交易對應的已實現損益；並非當前倉位的實時浮動盈虧      |
| `tradedAt`     | integer | 交易時間，毫秒；使用該字段進行時間過濾             |

一個訂單可能有多次成交，應詳細保存。不要合併不同玩家的記錄/按tradeId填充角色，然後丟棄他們的記錄身份。

## 響應信封示例

這是一個說明性的空白頁面，而不是已完成交易的示例。上面的資源特定字段表描述了填充的 `items[].data`。

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

## 來源及相關指南

* [官方v0.3.0源碼](https://github.com/6mm-com/agent-java-sdk/tree/54aa3c1)
* [查詢概覽和分頁](/zh-TW/sdk/agent-sdk/java/perpetual-queries)
* [資金錢包](/zh-TW/sdk/agent-sdk/java/funding-wallet)
* [升級指南](/zh-TW/sdk/agent-sdk/java/upgrade)