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

# Perpetual Trade Fills

Dieser Leitfaden richtet sich an **Agent Java SDK `v0.3.0`**, Java 8+ und den getaggten öffentlichen Auftrag. Beispiele werden nach der Initialisierung von `client` in einem Partner-Backend ausgeführt [Schnellstart](/de/sdk/agent-sdk/java/quick-start).

## Beispielvoraussetzungen

Die Java-Snippets teilen diese Importe. Initialisieren Sie `client` mit Quick Start und rufen Sie `platformUserId` aus der gespeicherten Bindung ab. Beispiel-Benutzer-/Bestell-IDs müssen durch Ihre eigenen persistenten Werte ersetzt werden.

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

## `listPerpetualTrades`

Anforderungsmodell: `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);
```

### Anforderungsfelder

| Feld              | Java Typ                 | Erforderlich | Bedeutung                                                                                                                                                            |
| ----------------- | ------------------------ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `platformUserIds` | `java.util.List<String>` | Ja           | Geben Sie explizit 1–100 eindeutige Benutzer-IDs für die öffentliche Plattform an, die zum aktuellen Partner gehören. Auslassung und ein leeres Array sind ungültig. |
| `symbol`          | `String`                 | NEIN         | Optionaler Handelspaarfilter.                                                                                                                                        |
| `orderId`         | `String`                 | NEIN         | Gewöhnliche Bestell-ID; keine Partnerübertragungsauftragsnummer.                                                                                                     |
| `startTime`       | `Long`                   | NEIN         | Inklusive Unix-Millisekunden; Verwenden Sie ein festes UTC-Verlaufsfenster.                                                                                          |
| `endTime`         | `Long`                   | NEIN         | Exklusive Unix-Millisekunden.                                                                                                                                        |
| `limit`           | `Integer`                | NEIN         | Standard 500; 1–1000.                                                                                                                                                |
| `cursor`          | `String`                 | NEIN         | Verwenden Sie den zurückgegebenen nextCursor mit unveränderten Filtern. stoppen, wenn hasMore falsch ist.                                                            |

Das Beispiel liest eine Seite. Informationen zu erforderlichen Feldern, Player-Bereich, Filtersemantik, Limit, Cursor und begrenzten Wiederholungsversuchen finden Sie hier [Abfrageübersicht](/de/sdk/agent-sdk/java/perpetual-queries). Lassen Sie beim Blättern alle Filter unverändert; Interpretieren Sie einen Fehler nicht als leeres Ergebnis.

## Details zur Handelsfüllung

Schnittstelle: `trades`. Erfordert explizites platformUserIds.

| `data` Feld    | Typ     | Bedeutung                                                                                                                                   |
| -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `fillId`       | string  | ID der Handelsabwicklungsdetails, die diesem Datensatz entspricht entityId                                                                  |
| `tradeId`      | string  | Die mit der Transaktion verknüpfte übereinstimmende Transaktions-ID; ersetzt nicht die detaillierte ID                                      |
| `orderId`      | string  | Die allgemeine Bestell-ID, zu der dieses Detail gehört                                                                                      |
| `positionId`   | string  | Zugehörige Positions-ID                                                                                                                     |
| `symbol`       | string  | Handelspaar                                                                                                                                 |
| `side`         | string  | Die Kauf- und Verkaufsrichtung dieses Spielers BUY / SELL                                                                                   |
| `roleType`     | string  | Der Transaktionscharakter dieses Spielers MAKER / TAKER                                                                                     |
| `positionSide` | string  | Positionsrichtung, erklärt nach Istwert LONG / SHORT / BOTH usw.                                                                            |
| `price`        | string  | Dieser Transaktionspreis                                                                                                                    |
| `quantity`     | string  | Die Menge dieser Transaktion entspricht nicht der Gesamtmenge der ursprünglichen Bestellung.                                                |
| `tradeValue`   | string  | Der Nominalwert dieser Transaktion ergibt sich aus dem Nominalwert der Transaktion                                                          |
| `handlingFee`  | string  | Die Transaktionsgebühr für diese Transaktion behält das Quellsymbol und die Genauigkeit bei und nimmt nicht den absoluten Wert an.          |
| `realizedPnl`  | string  | Der dieser Transaktion entsprechende realisierte Gewinn und Verlust; nicht der Echtzeit-Floating-Gewinn und -Verlust der aktuellen Position |
| `tradedAt`     | integer | Transaktionszeit, Millisekunden; Verwenden Sie dieses Feld zur Zeitfilterung                                                                |

Eine Bestellung kann mehrere Ausführungen haben, die im Detail gespeichert werden sollten. Führen Sie Datensätze verschiedener Spieler/Besetzungsrollen nicht nach tradeId zusammen und verwerfen Sie dann deren Datensatzidentitäten.

## Beispiel eines Antwortumschlags

Dies ist eine leere Seite zur Veranschaulichung, kein Beispiel eines abgeschlossenen Handels. Die obigen ressourcenspezifischen Feldtabellen beschreiben ausgefüllte `items[].data`.

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

## Quelle und zugehörige Leitfäden

* [Offizielle Quelle v0.3.0](https://github.com/6mm-com/agent-java-sdk/tree/54aa3c1)
* [Abfrageübersicht und Paginierung](/de/sdk/agent-sdk/java/perpetual-queries)
* [Funding-Wallet](/de/sdk/agent-sdk/java/funding-wallet)
* [Upgrade-Anleitung](/de/sdk/agent-sdk/java/upgrade)