Passer à la navigation

Remplissages commerciaux perpétuels

Perpetual Trade Fills : intégration Agent Java SDK v0.3.0, exemples, paramètres et sémantique de réponse.

Afficher en Markdown

Ce guide cible Agent Java SDK v0.3.0, Java 8+ et le contrat public étiqueté. Exemples exécutés dans un backend partenaire après l’initialisation de client dans Démarrage rapide.

Exemples de prérequis

Les extraits de code Java partagent ces importations. Initialisez client à l’aide de Quick Start et obtenez platformUserId à partir de la liaison enregistrée. Les exemples d’ID utilisateur/commande doivent être remplacés par vos propres valeurs persistantes.

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

listPerpetualTrades

Modèle de demande : 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);

Champs de requête

ChampJava tapezRequisSignification
platformUserIdsjava.util.List<String>OuiFournissez explicitement 1 à 100 identifiants d’utilisateur de plate-forme publique uniques appartenant au partenaire actuel ; l’omission et un tableau vide ne sont pas valides.
symbolStringNonFiltre de paire de trading en option.
orderIdStringNonID de commande ordinaire ; pas un numéro d’ordre de transfert de partenaire.
startTimeLongNonMillisecondes Unix incluses ; utilisez une fenêtre d’historique UTC fixe.
endTimeLongNonMillisecondes Unix exclusives.
limitIntegerNonPar défaut 500 ; 1 à 1000.
cursorStringNonUtilisez le nextCursor renvoyé avec des filtres inchangés ; arrêter lorsque hasMore est faux.

L’exemple lit une page. Pour les champs obligatoires, la portée du joueur, la sémantique du filtre, la limite, le curseur et les tentatives limitées, suivez Présentation de la requête. Gardez tous les filtres inchangés pendant la pagination ; n’interprètez pas une erreur comme un résultat vide.

Détails du remplissage des échanges

Interface : trades. Nécessite un platformUserIds.

Champ datatapersignification
fillIdstringID des détails de remplissage du commerce, correspondant à cet enregistrement entityId
tradeIdstringL’ID de transaction correspondant associé à la transaction ; ne remplace pas l’identifiant détaillé
orderIdstringL’ID de commande générale à laquelle appartient ce détail
positionIdstringID de poste associé
symbolstringpaire de trading
sidestringDirection d’achat et de vente de ce joueur BUY / SELL
roleTypestringLe personnage de transaction de ce joueur MAKER / TAKER
positionSidestringSens de position, expliqué en fonction de la valeur réelle LONG / SHORT / BOTH etc.
pricestringCe prix de transaction
quantitystringLa quantité de cette transaction n’est pas la quantité totale de la commande initiale.
tradeValuestringLa valeur nominale de cette transaction provient du notionnel de la transaction
handlingFeestringLes frais de transaction pour cette transaction conservent le symbole de la source et l’exactitude, et ne prennent pas en eux-mêmes la valeur absolue.
realizedPnlstringLe profit et la perte réalisés correspondant à cette opération ; pas le profit et la perte flottants en temps réel de la position actuelle
tradedAtintegerTemps de transaction, millisecondes ; utiliser ce champ pour le filtrage temporel

Une commande peut avoir plusieurs exécutions, qui doivent être enregistrées en détail. Ne fusionnez pas les enregistrements de différents joueurs/remplissez des rôles par tradeId, puis supprimez leurs identités d’enregistrement.

Exemple d’enveloppe de réponse

Il s’agit d’une page vide illustrative, et non d’un échantillon d’une transaction terminée. Les tableaux de champs spécifiques aux ressources ci-dessus décrivent les items[].data renseignés.

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

Source et guides associés