Przejdź do nawigacji

Pozycje stałe

Pozycje stałe: Agent Java SDK Integracja v0.3.0, przykłady, parametry i semantyka odpowiedzi.

Zobacz jako Markdown

Ten przewodnik jest przeznaczony dla Agent Java SDK v0.3.0, Java 8+ i oznaczonych zamówień publicznych. Przykłady działają w zapleczu partnera po inicjalizacji client w Szybki start.

Przykładowe wymagania wstępne

Fragmenty Java dzielą ten import. Zainicjuj client za pomocą Szybki start i uzyskaj platformUserId z zapisanego powiązania. Przykładowe identyfikatory użytkowników/zamówień należy zastąpić własnymi, utrwalonymi wartościami.

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

listCurrentPerpetualPositions

Zapytaj o model: 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);

Pola żądania

PoleJava typWymaganyOznaczający
platformUserIdsjava.util.List<String>Warunkowy1–100 unikalnych identyfikatorów publicznych; wymagane w przypadku wypełnień i zamówień warunkowych. Pomiń obsługiwane zapytania w zakresie bezpośredniego gracza; [] jest nieprawidłowe.
symbolStringNIEOpcjonalny filtr par handlowych.
limitIntegerNIEDomyślnie 500; 1–1000.
cursorStringNIEUżyj zwróconego nextCursor z niezmienionymi filtrami; przestań, gdy hasMore ma wartość fałszywą.

Przykład czyta jedną stronę. Aby zapoznać się z wymaganymi polami, zakresem gracza, semantyką filtra, limitem, kursorem i ograniczonymi próbami, wykonaj następujące czynności Przegląd zapytań. Zachowaj wszystkie filtry niezmienione podczas stronicowania; nie interpretuj błędu jako pustego wyniku.

listPerpetualPositionHistory

Zapytaj o model: 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);

Pola żądania

PoleJava typWymaganyOznaczający
platformUserIdsjava.util.List<String>Warunkowy1–100 unikalnych identyfikatorów publicznych; wymagane w przypadku wypełnień i zamówień warunkowych. Pomiń obsługiwane zapytania w zakresie bezpośredniego gracza; [] jest nieprawidłowe.
symbolStringNIEOpcjonalny filtr par handlowych.
positionSideStringNIEFiltruj przy użyciu wyliczenia po stronie pozycji źródłowej.
startTimeLongNIEWłącznie z milisekundami Uniksa; użyj stałego okna historii UTC.
endTimeLongNIEEkskluzywne milisekundy Uniksa.
limitIntegerNIEDomyślnie 500; 1–1000.
cursorStringNIEUżyj zwróconego nextCursor z niezmienionymi filtrami; przestań, gdy hasMore ma wartość fałszywą.

Przykład czyta jedną stronę. Aby zapoznać się z wymaganymi polami, zakresem gracza, semantyką filtra, limitem, kursorem i ograniczonymi próbami, wykonaj następujące czynności Przegląd zapytań. Zachowaj wszystkie filtry niezmienione podczas stronicowania; nie interpretuj błędu jako pustego wyniku.

Stanowiska: aktualne i historyczne

Pole data.typAktualna pozycjaStanowiska historyczneoznaczający
positionIdstringdostarczaćdostarczaćIdentyfikator pozycji odpowiadający entityId
symbolstringdostarczaćdostarczaćpara handlowa
positionSidestringdostarczaćdostarczaćLONG / SHORT / BOTH i inne kierunki pozycji
statusstringdostarczaćdostarczaćCiąg znaków z numerycznym statusem pozycji, zobacz przegląd zapytań
leverageintegerdostarczaćdostarczaćWykorzystaj wiele
marginModestringdostarczaćdostarczaćNumeryczny ciąg wyliczeniowy „1” dla pełnej pozycji, „2” dla izolowanej pozycji
quantitystringdostarczaćNiedostępneAktualna ilość pozycji
entryPricestringdostarczaćdostarczaćŚrednia cena otwarcia przechowywanych pozycji
marginstringdostarczaćNiedostępneBieżąca kwota depozytu zabezpieczającego pozycję, a nie całe saldo portfela kontraktowego użytkownika
maxQuantitystringNiedostępnedostarczaćMaksymalna liczba pozycji zarejestrowanych w tej pozycji historycznej
closeQuantitystringNiedostępnedostarczaćSkumulowana liczba pozycji zamkniętych w cyklu życia pozycji historycznej
closePricestringNiedostępnedostarczaćPrzechowywana średnia cena zamknięcia
pnlstringNiedostępnedostarczaćDane historyczne dotyczące zysków i strat; nie łącz tego z transakcją realizedPnl, aby po prostu powtórzyć i akumulować
roestringNiedostępnedostarczaćProporcjonalna wartość zwrotu z pozycji historycznej, niemnożona przez 100; na przykład "0.043" reprezentuje 4.3%, "-0.05" reprezentuje -5%
fundingFeeAccumstringdostarczaćdostarczaćSkumulowana opłata za finansowanie, przy zachowaniu symbolu źródła i dokładności
openedAtintegerdostarczaćdostarczaćCzas otwarcia pozycji, milisekundy
updatedAtintegerdostarczaćNiedostępneCzas aktualizacji aktualnej pozycji, milisekundy
closedAtintegerNiedostępnedostarczaćCzas zamknięcia, milisekundy; użyj tego pola, aby filtrować historyczny czas pozycji

Kalibr obliczeniowy historii roe wynosi pnl / (entryPrice × maxQuantity / leverage), a interfejs bezpośrednio zwraca zapisaną wartość proporcji. Wyświetlając wartość procentową, użyj operacji dziesiętnej i pomnóż przez 100, a następnie dodaj %; w mianowniku wykorzystuje się nominalny depozyt z rekordu pozycji historycznej, a nie saldo portfela konta. Gdy cena otwarcia lub maksymalna wielkość pozycji wynosi 0, dźwignia jest nieprawidłowa itp. i nie można jej obliczyć, źródło jest zapisywane jako 0. Dlatego nie można wywnioskować, że zysk lub strata wynosi 0 tylko na podstawie roe=0.

Bieżąca pozycja nie zawiera ceny rynkowej w czasie rzeczywistym, zmiennego zysku i straty w czasie rzeczywistym, ROE ani ceny likwidacyjnej w czasie rzeczywistym. Odzwierciedla przechowywany status pozycji i nie może wykorzystywać pól czasu aktualizacji i depozytu zabezpieczającego do uzyskiwania bieżących wyników kontroli ryzyka w czasie rzeczywistym.

Przykładowa koperta odpowiedzi

To jest przykładowa pusta strona, a nie próbka zakończonej transakcji. Powyższe tabele pól specyficznych dla zasobu opisują zapełnione items[].data.

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

Źródło i powiązane przewodniki