Skip to navigation

Вічні торгові заповнення

Perpetual Trade Fills: інтеграція Agent Java SDK v0.3.0, приклади, параметри та семантика відповіді.

View as Markdown

Цей посібник призначений для Agent Java SDK v0.3.0, Java 8+ і публічного контракту з тегами. Приклади виконуються в серверній частині партнера після ініціалізації client у Швидкий старт.

Приклад передумов

Фрагменти Java поділяють ці імпортовані файли. Ініціалізуйте client за допомогою швидкого запуску та отримайте platformUserId із збереженого зв’язування. Приклади ідентифікаторів користувача/замовлення потрібно замінити вашими постійними значеннями.

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

listPerpetualTrades

Модель запиту: PerpetualTradesRequest.

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.Обов’язковийЗначення
platformUserIdsjava.util.List<String>такЯвно вкажіть 1–100 унікальних ідентифікаторів користувачів публічної платформи, що належать поточному партнеру; пропуск і порожній масив недійсні.
symbolStringнемаєДодатковий фільтр торгових пар.
orderIdStringнемаєID звичайного замовлення; не номер замовлення на переказ партнера.
startTimeLongнемаєВключно Unix мілісекунди; використовуйте фіксоване вікно історії UTC.
endTimeLongнемаєЕксклюзивні мілісекунди Unix.
limitIntegerнемаєЗа замовчуванням 500; 1–1000.
cursorStringнемаєВикористовуйте повернутий nextCursor із незмінними фільтрами; зупинятися, коли hasMore невірно.

Приклад читає одну сторінку. Для обов’язкових полів, обсягу гравця, семантики фільтра, обмеження, курсору та обмежених повторних спроб див Огляд запиту. Зберігайте всі фільтри незмінними під час перегляду сторінок; не інтерпретуйте помилку як порожній результат.

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

Інтерфейс: trades. Потрібен явний platformUserIds.

data полетипузначення
fillIdstringІдентифікатор даних про торгівлю, що відповідає цьому запису entityId
tradeIdstringІдентифікатор транзакції, що відповідає транзакції; не замінює детальний ідентифікатор
orderIdstringЗагальний ідентифікатор замовлення, до якого належить ця деталь
positionIdstringІдентифікатор пов’язаної позиції
symbolstringторгова пара
sidestringНапрям купівлі та продажу цього гравця BUY / SELL
roleTypestringПерсонаж транзакції цього гравця MAKER / TAKER
positionSidestringНапрямок позиції, пояснений відповідно до фактичного значення LONG / SHORT / BOTH тощо.
pricestringЦя ціна угоди
quantitystringКількість цієї транзакції не є загальною кількістю оригінального замовлення.
tradeValuestringНомінальна вартість цієї операції походить від умовної вартості операції
handlingFeestringКомісія за цю транзакцію зберігає вихідний символ і точність і не приймає абсолютного значення.
realizedPnlstringРеалізований прибуток і збиток, що відповідають цій операції; не плаваючий прибуток і збиток поточної позиції в реальному часі
tradedAtintegerЧас транзакції, мілісекунди; використовуйте це поле для фільтрації часу

Замовлення може мати кілька заповнень, які необхідно детально зберегти. Не об’єднуйте записи різних гравців/заповнюйте ролі за допомогою tradeId, а потім скидайте їхні записи.

Приклад конверта відповіді

Це ілюстративна порожня сторінка, а не зразок завершеної торгівлі. У наведених вище таблицях полів для певних ресурсів описано заповнені items[].data.

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

Джерело та відповідні посібники