Zur Navigation springen

Daueraufträge

Daueraufträge: Agent Java SDK v0.3.0-Integration, Beispiele, Parameter und Antwortsemantik.

Als Markdown anzeigen

Dieser Leitfaden richtet sich an Agent Java SDK v0.3.0, Java 8+ und den getaggten öffentlichen Auftrag. Beispiele werden nach der Initialisierung von client in einem Partner-Backend ausgeführt Schnellstart.

Beispielvoraussetzungen

Die Java-Snippets teilen diese Importe. Initialisieren Sie client mit Quick Start und rufen Sie platformUserId aus der gespeicherten Bindung ab. Beispiel-Benutzer-/Bestell-IDs müssen durch Ihre eigenen persistenten Werte ersetzt werden.

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

listCurrentPerpetualOrders

Anforderungsmodell: 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);

Anforderungsfelder

FeldJava TypErforderlichBedeutung
orderCategoryStringJaNORMAL oder CONDITIONAL; Bedingte Abfragen erfordern explizite Benutzer.
platformUserIdsjava.util.List<String>Bedingt1–100 eindeutige öffentliche IDs; erforderlich für Ausführungen und bedingte Bestellungen. Bei unterstützten Abfragen für den Direktspielerbereich weglassen; [] ist ungültig.
symbolStringNEINOptionaler Handelspaarfilter.
limitIntegerNEINStandard 500; 1–1000.
cursorStringNEINVerwenden Sie den zurückgegebenen nextCursor mit unveränderten Filtern. stoppen, wenn hasMore falsch ist.

Das Beispiel liest eine Seite. Informationen zu erforderlichen Feldern, Player-Bereich, Filtersemantik, Limit, Cursor und begrenzten Wiederholungsversuchen finden Sie hier Abfrageübersicht. Lassen Sie beim Blättern alle Filter unverändert; Interpretieren Sie einen Fehler nicht als leeres Ergebnis.

listPerpetualOrderHistory

Anforderungsmodell: 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);

Anforderungsfelder

FeldJava TypErforderlichBedeutung
orderCategoryStringJaNORMAL oder CONDITIONAL; Bedingte Abfragen erfordern explizite Benutzer.
platformUserIdsjava.util.List<String>Bedingt1–100 eindeutige öffentliche IDs; erforderlich für Ausführungen und bedingte Bestellungen. Bei unterstützten Abfragen für den Direktspielerbereich weglassen; [] ist ungültig.
symbolStringNEINOptionaler Handelspaarfilter.
orderIdStringNEINGewöhnliche Bestell-ID; keine Partnerübertragungsauftragsnummer.
conditionIdStringNEINBedingte Bestell-ID; Nicht mit orderId vermischen.
clientOrderIdStringNEINAuftragsreferenz des Handelskunden, nicht agentOrderNo.
sideStringNEINBUY / SELL Filter.
statusStringNEINRessourcenspezifischer Status; siehe Statusreferenz.
startTimeLongNEINInklusive Unix-Millisekunden; Verwenden Sie ein festes UTC-Verlaufsfenster.
endTimeLongNEINExklusive Unix-Millisekunden.
limitIntegerNEINStandard 500; 1–1000.
cursorStringNEINVerwenden Sie den zurückgegebenen nextCursor mit unveränderten Filtern. stoppen, wenn hasMore falsch ist.

Das Beispiel liest eine Seite. Informationen zu erforderlichen Feldern, Player-Bereich, Filtersemantik, Limit, Cursor und begrenzten Wiederholungsversuchen finden Sie hier Abfrageübersicht. Lassen Sie beim Blättern alle Filter unverändert; Interpretieren Sie einen Fehler nicht als leeres Ergebnis.

Gewöhnliche Bestellungen: aktuell und Geschichte

Aktuell: orders/current + orderCategory=NORMAL; Verlauf: orders/history + orderCategory=NORMAL.

data FeldTypBedeutung und Anwendungsbereich
symbolstringHandelspaar, z. B. BTCUSDT
orderIdstringOrdentliche Bestell-ID der Plattform
orderCategorystringBehoben NORMAL
clientOrderIdstringKundenauftragsnummer, die von der Transaktionsauftragsquelle bereitgestellt wird; nicht dasselbe Feld wie Händler-Geldtransfer agentOrderNo
orderTypestringDelegatentyp, z. B. LIMIT, MARKET; der tatsächliche Zählwert ist maßgebend
sidestringKauf- und Verkaufsrichtung BUY / SELL
statusstringOrdentlicher Auftragsstatus, siehe Abfrageübersicht
timeInForcestringGültigkeitszeitraum/Deal-Ausführungsstrategie, z. B. GTC, IOC, FOK; entsprechend den tatsächlichen Werten interpretiert
pricestringAnvertrauter Preis; Es kann weggelassen werden, wenn kein Preis angegeben ist, und der Markttransaktionspreis wird nicht durch einen selbst ergänzt.
quantitystringUrsprüngliche Bestellmenge
filledQuantitystringTransaktionsmenge
remainingQuantitystringNicht abgewickelte Menge; Die aktuelle Abfrage benötigt die Menge − filledQuantity und die historische Abfrage den historischen Datensatzwert
avgFilledPricestringDer durchschnittliche Transaktionspreis des fertiggestellten Teils; Es gibt möglicherweise keinen Wert, wenn es nicht abgeschlossen ist
reduceOnlybooleanOb nur Positionen reduziert werden sollen
closeOnlybooleanOb es nur zum Schließen von Positionen verwendet wird
makerOnlybooleanOb nur als Maker ausgeführt werden soll
leverageintegerNutzen Sie mehrere; Historische gewöhnliche Ordnung hat eine Quelle, und die aktuelle gewöhnliche Ordnung schafft diesen Wert nicht
marginModestringMargin-Modus; Historische gewöhnliche Reihenfolge gibt derzeit eine numerische Aufzählungszeichenfolge zurück, z. B. „1“, „2“; Die aktuelle ordentliche Bestellung ist nicht vorgesehen
createdAtintegerAuftragserstellungszeit, Millisekunden; Verwenden Sie dieses Feld, um die historische Bestellzeit zu filtern
updatedAtintegerAktualisierungszeit des Delegiertendatensatzes, Millisekunden

Die Bestellhistorie umfasst beendete normale Bestellungen. Allein aufgrund des Schnittstellennamens kann nicht jeder Datensatz als vollständig abgeschlossen angesehen werden. Bei der aktuellen Bestellseite handelt es sich um eine aktuelle Statusabfrage, nicht um einen Bestellereignis-Stream.

Bedingte Bestellungen: aktuell und historisch

Aktuell: orders/current + orderCategory=CONDITIONAL; Verlauf: orders/history + orderCategory=CONDITIONAL. Beide erfordern explizites platformUserIds.

data FeldTypBedeutung
symbolstringHandelspaar
conditionIdstringBedingte Bestell-ID, unabhängig von gewöhnlichen orderId
orderCategorystringBehoben CONDITIONAL
generatedOrderIdstringGewöhnliche Bestell-ID, die nach dem Auslösen generiert wird; kann weggelassen werden, wenn es nicht generiert wird
clientOrderIdstringDie Kundenauftragsnummer der bedingten Aufträge, ausgegeben, wenn sie vorhanden ist
sidestringBUY / SELL
orderTypestringPost-Trigger-Auftragstyp, interpretiert entsprechend dem tatsächlichen Wert
triggerTypestringAuslöserregeltyp, erklärt durch tatsächliche Quellenaufzählung
workingTypestringJobtyp/Preisquelle, die den Preis auslöst, interpretiert als tatsächliche Aufzählung
timeInForcestringGültigkeitsdauer/Ausführungsstrategie der Order nach Auslösung
pricestringDer Bestellpreis nach dem Auslösen wird ausgegeben, wenn die Quelle einen Wert hat
quantitystringBedingte Bestellmenge
triggerPricestringAuslösepreis
reduceOnlybooleanOb nur Positionen reduziert werden sollen
closePositionbooleanOb die vollständige Positionsschließungssemantik verwendet werden soll, kann nicht mit closeOnly als demselben Feld verwechselt werden
leverageintegerNutzen Sie ein Vielfaches und geben Sie es aus, wenn es nicht Null ist
marginModestringDiese Klasse gibt CROSS / ISOLATED zurück, eine numerische Zeichenfolge, die sich von gewöhnlichen historischen Bestellungen/Positionen unterscheidet
statusstringBedingter einzelner Triggerstatus, siehe Abfrageübersicht
triggerStatusstringDie aktuelle Implementierung verwendet denselben bedingten Statuswert wie Status
createdAtintegerBedingte Auftragserstellungszeit, Millisekunden; Historische Bedingungen werden nach dieser Zeit gefiltert
updatedAtintegerAktualisierungszeit, Ausgabe, wenn ein Wert vorhanden ist, Millisekunden
deletedAtintegerMarkierungszeit löschen, Ausgabe, wenn ein Wert vorhanden ist, Millisekunden; Es handelt sich nicht um ein einheitliches Transaktions-/Stornierungszeitfeld

Bedingte Bestellungen bieten keine filledQuantity, remainingQuantity, avgFilledPrice für normale Bestellungen. Wenn Sie nach dem Auslösen den Transaktionsstatus normaler Bestellungen benötigen, fragen Sie normale Bestellungen/Transaktionen über generatedOrderId ab und schließen Sie das Transaktionsvolumen nicht aus dem bedingten Bestellstatus ab.

Beispiel eines Antwortumschlags

Dies ist eine leere Seite zur Veranschaulichung, kein Beispiel eines abgeschlossenen Handels. Die obigen ressourcenspezifischen Feldtabellen beschreiben ausgefüllte items[].data.

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

Quelle und zugehörige Leitfäden