> 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` в [Быстрый старт](/ru/sdk/agent-sdk/java/quick-start).

## Пример предварительных условий

Фрагменты Java разделяют этот импорт. Инициализируйте `client` с помощью быстрого запуска и получите `platformUserId` из сохраненной привязки. Примеры идентификаторов пользователей/заказов необходимо заменить вашими собственными сохраненными значениями.

```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 уникальных идентификаторов пользователей общедоступной платформы, принадлежащих текущему партнеру; пропуск и пустой массив недействительны. |
| `symbol`          | `String`                 | Нет         | Дополнительный фильтр торговых пар.                                                                                                                                  |
| `orderId`         | `String`                 | Нет         | Обычный идентификатор заказа; не номер заказа на передачу партнера.                                                                                                  |
| `startTime`       | `Long`                   | Нет         | Включительно миллисекунды Unix; используйте фиксированное окно истории UTC.                                                                                          |
| `endTime`         | `Long`                   | Нет         | Эксклюзивные миллисекунды Unix.                                                                                                                                      |
| `limit`           | `Integer`                | Нет         | По умолчанию 500; 1–1000.                                                                                                                                            |
| `cursor`          | `String`                 | Нет         | Используйте возвращенный nextCursor с неизмененными фильтрами; остановитесь, когда hasMore имеет значение false.                                                     |

Пример читает одну страницу. Для обязательных полей, области действия игрока, семантики фильтра, ограничения, курсора и ограниченных повторов следуйте инструкциям. [Обзор запроса](/ru/sdk/agent-sdk/java/perpetual-queries). Сохраняйте все фильтры неизменными при пейджинге; не интерпретируйте ошибку как пустой результат.

## Детали торгового заполнения

Интерфейс: `trades`. Требуется явный platformUserIds.

| Поле `data`    | тип     | значение                                                                                                                      |
| -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `fillId`       | string  | Идентификатор реквизитов торгового заполнения, соответствующий этой записи entityId                                           |
| `tradeId`      | string  | Соответствующий идентификатор транзакции, связанный с транзакцией; не заменяет подробный идентификатор                        |
| `orderId`      | string  | Общий идентификатор заказа, к которому относится данная деталь                                                                |
| `positionId`   | string  | Идентификатор связанной позиции                                                                                               |
| `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)
* [Обзор запроса и нумерация страниц](/ru/sdk/agent-sdk/java/perpetual-queries)
* [Финансирование кошелька](/ru/sdk/agent-sdk/java/funding-wallet)
* [Руководство по обновлению](/ru/sdk/agent-sdk/java/upgrade)