Przejdź do nawigacji

Zamówienia wieczyste

Zamówienia wieczyste: 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.*;

listCurrentPerpetualOrders

Zapytaj o model: CurrentPerpetualOrdersRequest.

import com.sixmm.agent.model.CurrentPerpetualOrdersRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
CurrentPerpetualOrdersRequest request = new CurrentPerpetualOrdersRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.orderCategory = "NORMAL";
request.symbol = "BTCUSDT";
PerpetualResponse response = client.listCurrentPerpetualOrders(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
orderCategoryStringTakNORMAL lub CONDITIONAL; zapytania warunkowe wymagają jawnych użytkowników.
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.

listPerpetualOrderHistory

Zapytaj o model: PerpetualOrderHistoryRequest.

import com.sixmm.agent.model.PerpetualOrderHistoryRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
PerpetualOrderHistoryRequest request = new PerpetualOrderHistoryRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.orderCategory = "NORMAL";
request.symbol = "BTCUSDT";
request.endTime = System.currentTimeMillis();
request.startTime = request.endTime - 3_600_000L;
PerpetualResponse response = client.listPerpetualOrderHistory(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
orderCategoryStringTakNORMAL lub CONDITIONAL; zapytania warunkowe wymagają jawnych użytkowników.
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.
orderIdStringNIEZwykły identyfikator zamówienia; a nie numer zamówienia przeniesienia partnera.
conditionIdStringNIEWarunkowy identyfikator zamówienia; nie mieszać z orderId.
clientOrderIdStringNIENumer referencyjny zlecenia klienta handlowego, a nie agentOrderNo.
sideStringNIEBUY / SELL filtr.
statusStringNIEStatus specyficzny dla zasobu; zobacz odniesienie do statusu.
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.

Zlecenia zwykłe: aktualne i historyczne

Prąd: orders/current + orderCategory=NORMAL; Historia: orders/history + orderCategory=NORMAL.

Pole data.typZnaczenie i zakres zastosowania
symbolstringPara handlowa, taka jak BTCUSDT
orderIdstringIdentyfikator zwykłego zamówienia platformy
orderCategorystringNaprawiono NORMAL
clientOrderIdstringnumer zamówienia klienta podany przez źródło zlecenia transakcji; nie to samo pole, co przelew środków sprzedawcy agentOrderNo
orderTypestringTyp delegata, taki jak LIMIT, MARKET; faktyczna wartość wyliczeniowa ma pierwszeństwo
sidestringKierunek kupna i sprzedaży BUY / SELL
statusstringZwykły status zamówienia, zobacz przegląd zapytań
timeInForcestringOkres ważności/strategia realizacji transakcji, taka jak GTC, IOC, FOK; interpretowane zgodnie z wartościami rzeczywistymi
pricestringPowierzona cena; można ją pominąć w przypadku braku podania ceny, a rynkowa cena transakcyjna nie będzie samodzielnie uzupełniana.
quantitystringOryginalna ilość zamówienia
filledQuantitystringIlość transakcji
remainingQuantitystringNieprzeprowadzona ilość; aktualne zapytanie przyjmuje ilość - filledQuantity, a zapytanie historyczne przyjmuje wartość rekordu historycznego
avgFilledPricestringŚrednia cena transakcyjna zrealizowanej części; nieukończone może nie mieć żadnej wartości
reduceOnlybooleanCzy tylko redukować pozycje
closeOnlybooleanCzy jest używany tylko do zamykania pozycji
makerOnlybooleanOkreśla, czy wykonać tylko jako Maker
leverageintegerWykorzystaj wiele; Historyczny porządek zwyczajny ma swoje źródło, a bieżący porządek zwyczajny tej wartości nie tworzy
marginModestringTryb marginesu; Historyczny porządek zwyczajny obecnie zwraca numeryczny ciąg wyliczeniowy, taki jak „1”, „2”; aktualne zamówienie zwyczajne nie jest przewidziane
createdAtintegerCzas utworzenia zamówienia, milisekundy; użyj tego pola do filtrowania historycznego czasu zamówienia
updatedAtintegerCzas aktualizacji rekordu delegata, milisekundy

Historia zamówień obejmuje zakończone zamówienia zwykłe. Żadnego rekordu nie można uznać za w pełni ukończony na podstawie samej nazwy interfejsu. Strona bieżącego zamówienia to zapytanie o bieżący status, a nie strumień zdarzeń dotyczących zamówienia.

Zlecenia warunkowe: aktualne i historyczne

Prąd: orders/current + orderCategory=CONDITIONAL; Historia: orders/history + orderCategory=CONDITIONAL. Obydwa wymagają wyraźnego platformUserIds.

Pole data.typoznaczający
symbolstringpara handlowa
conditionIdstringIdentyfikator zleceń warunkowych, niezależny od zwykłego orderId
orderCategorystringNaprawiono CONDITIONAL
generatedOrderIdstringZwykły identyfikator zamówienia generowany po uruchomieniu; można pominąć, jeśli nie został wygenerowany
clientOrderIdstringNumer zamówienia klienta w przypadku zamówień warunkowych, wyprowadzany, jeśli istnieje
sidestringBUY / SELL
orderTypestringTyp zlecenia po uruchomieniu, interpretowany według wartości rzeczywistej
triggerTypestringTyp reguły wyzwalacza, wyjaśniony przez rzeczywiste wyliczenie źródła
workingTypestringTyp zadania/źródło ceny, które powoduje cenę, interpretowane jako rzeczywiste wyliczenie
timeInForcestringOkres ważności/strategia realizacji zlecenia po uruchomieniu
pricestringCena zamówienia po uruchomieniu jest generowana, gdy źródło ma wartość
quantitystringWarunkowa wielkość zamówienia
triggerPricestringcena wywoławcza
reduceOnlybooleanCzy tylko redukować pozycje
closePositionbooleanNie można mylić tego, czy używać semantyki zamykania pełnych pozycji, z closeOnly jako tym samym polem
leverageintegerWykorzystaj wielokrotność, wyjście, gdy jest niezerowe
marginModestringTa klasa zwraca CROSS / ISOLATED, który jest ciągiem liczbowym różniącym się od zwykłych zleceń/pozycji historycznych
statusstringWarunkowy stan pojedynczego wyzwalacza, zobacz omówienie zapytań
triggerStatusstringBieżąca implementacja używa tej samej wartości statusu warunkowego co status
createdAtintegerCzas utworzenia zamówienia warunkowego, milisekundy; Warunki historyczne są filtrowane przez ten czas
updatedAtintegerCzas aktualizacji, wyjście, gdy istnieje wartość, milisekundy
deletedAtintegerUsuń czas zaznaczenia, wyprowadź wartość, milisekundy; nie jest to ujednolicone pole czasu transakcji/anulowania

Zlecenia warunkowe nie zapewniają filledQuantity, remainingQuantity, avgFilledPrice w przypadku zleceń zwykłych. Jeśli po uruchomieniu potrzebujesz statusu transakcji zwykłych zleceń/transakcji, zapytaj o zwykłe zamówienia/transakcje poprzez generatedOrderId i nie wnioskuj o wolumenie transakcji na podstawie statusu zamówienia warunkowego.

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