Skip to navigation

Вічні посади

Вічні посади: Інтеграція 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.*;

listCurrentPerpetualPositions

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

import com.sixmm.agent.model.CurrentPerpetualPositionsRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
CurrentPerpetualPositionsRequest request = new CurrentPerpetualPositionsRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.symbol = "BTCUSDT";
PerpetualResponse response = client.listCurrentPerpetualPositions(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немаєДодатковий фільтр торгових пар.
limitIntegerнемаєЗа замовчуванням 500; 1–1000.
cursorStringнемаєВикористовуйте повернутий nextCursor із незмінними фільтрами; зупинятися, коли hasMore невірно.

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

listPerpetualPositionHistory

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

import com.sixmm.agent.model.PerpetualPositionHistoryRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
PerpetualPositionHistoryRequest request = new PerpetualPositionHistoryRequest();
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.listPerpetualPositionHistory(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немаєДодатковий фільтр торгових пар.
positionSideStringнемаєФільтруйте за допомогою enum на стороні вихідної позиції.
startTimeLongнемаєВключно Unix мілісекунди; використовуйте фіксоване вікно історії UTC.
endTimeLongнемаєЕксклюзивні мілісекунди Unix.
limitIntegerнемаєЗа замовчуванням 500; 1–1000.
cursorStringнемаєВикористовуйте повернутий nextCursor із незмінними фільтрами; зупинятися, коли hasMore невірно.

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

Посади: поточні та історичні

data полетипуПоточна позиціяІсторичні позиціїзначення
positionIdstringпостачанняпостачанняID позиції, що відповідає entityId
symbolstringпостачанняпостачанняторгова пара
positionSidestringпостачанняпостачанняLONG / SHORT / BOTH та інші напрямки розташування
statusstringпостачанняпостачанняРядок із числовим статусом позиції див. огляд запиту
leverageintegerпостачанняпостачанняКредитне плече кілька
marginModestringпостачанняпостачанняЧисловий рядок нумерації “1” для повної позиції, “2” для ізольованої позиції
quantitystringпостачанняНе доступнийПоточна кількість позицій
entryPricestringпостачанняпостачанняСередня ціна відкриття збережених позицій
marginstringпостачанняНе доступнийСума маржі поточної позиції, а не весь контрактний баланс гаманця користувача
maxQuantitystringНе доступнийпостачанняМаксимальна кількість позицій, записаних у цій історичній позиції
closeQuantitystringНе доступнийпостачанняСукупна кількість закритих позицій протягом історичного життєвого циклу позиції
closePricestringНе доступнийпостачанняЗбережена середня ціна закриття
pnlstringНе доступнийпостачанняІсторичні прибутки та збитки; не поєднуйте його з транзакцією realizedPnl, щоб просто повторювати та накопичувати
roestringНе доступнийпостачанняПропорційне значення прибутку історичної позиції, не помножене на 100; наприклад, "0.043" представляє 4.3%, "-0.05" представляє -5%
fundingFeeAccumstringпостачанняпостачанняКомісія за накопичене фінансування, збереження символу джерела та точності
openedAtintegerпостачанняпостачанняЧас відкриття позиції, мілісекунди
updatedAtintegerпостачанняНе доступнийЧас оновлення поточної позиції, мілісекунди
closedAtintegerНе доступнийпостачанняЧас закриття, мілісекунди; використовуйте це поле для фільтрації історичного часу позиції

Калібр обчислення історії roe — pnl / (entryPrice × maxQuantity / leverage), і інтерфейс безпосередньо повертає збережене значення пропорції. Відображаючи відсотки, використовуйте десяткову операцію та помножте на 100, потім додайте %; у знаменнику використовується номінальна маржа запису історичної позиції, а не баланс гаманця облікового запису. Коли ціна відкриття або максимальна кількість позицій дорівнює 0, кредитне плече недійсне тощо, і його неможливо обчислити, джерело зберігається як 0. Тому не можна зробити висновок, що прибуток або збиток дорівнює 0 лише на основі roe=0.

Поточна позиція не має ціни позначки в реальному часі, плаваючого прибутку та збитку в реальному часі, ROE або ціни ліквідації в реальному часі. Він відображає статус збереженої позиції та не може використовувати поля часу оновлення та маржі для отримання поточних результатів контролю ризиків у реальному часі.

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

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

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

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