Vai alla navigazione

Posizioni perpetue

Posizioni perpetue: Agent Java SDK Integrazione v0.3.0, esempi, parametri e semantica della risposta.

Visualizza come Markdown

Questa guida è rivolta a Agent Java SDK v0.3.0, Java 8+ e agli appalti pubblici contrassegnati. Gli esempi vengono eseguiti nel backend di un partner dopo aver inizializzato client in Avvio rapido.

Prerequisiti di esempio

Gli snippet Java condividono queste importazioni. Inizializza client utilizzando Quick Start e ottieni platformUserId dall’associazione salvata. Gli ID utente/ordine di esempio devono essere sostituiti con i tuoi valori persistenti.

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

listCurrentPerpetualPositions

Modello richiesto: 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);

Campi richiesta

CampoTipo JavaNecessarioSenso
platformUserIdsjava.util.List<String>CondizionaleDa 1 a 100 ID pubblici univoci; richiesto per esecuzioni e ordini condizionati. Omettere le query supportate per l’ambito del player diretto; [] non è valido.
symbolStringNOFiltro opzionale per le coppie di scambio.
limitIntegerNOPredefinito 500; 1–1000.
cursorStringNOUtilizza il nextCursor restituito con i filtri invariati; interrompere quando hasMore è falso.

L’esempio legge una pagina. Per i campi obbligatori, ambito del giocatore, semantica del filtro, limite, cursore e tentativi limitati, seguire Panoramica delle query. Mantieni invariati tutti i filtri durante la paginazione; non interpretare un errore come un risultato vuoto.

listPerpetualPositionHistory

Modello richiesto: 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);

Campi richiesta

CampoTipo JavaNecessarioSenso
platformUserIdsjava.util.List<String>CondizionaleDa 1 a 100 ID pubblici univoci; richiesto per esecuzioni e ordini condizionati. Omettere le query supportate per l’ambito del player diretto; [] non è valido.
symbolStringNOFiltro opzionale per le coppie di scambio.
positionSideStringNOFiltra utilizzando l’enumerazione lato posizione di origine.
startTimeLongNOMillisecondi Unix inclusi; utilizzare una finestra della cronologia UTC fissa.
endTimeLongNOMillisecondi Unix esclusivi.
limitIntegerNOPredefinito 500; 1–1000.
cursorStringNOUtilizza il nextCursor restituito con i filtri invariati; interrompere quando hasMore è falso.

L’esempio legge una pagina. Per i campi obbligatori, ambito del giocatore, semantica del filtro, limite, cursore e tentativi limitati, seguire Panoramica delle query. Mantieni invariati tutti i filtri durante la paginazione; non interpretare un errore come un risultato vuoto.

Posizioni: attuali e storiche

campo data.tipoPosizione attualePosizioni storicheSenso
positionIdstringforniturafornituraID posizione, corrispondente a entityId
symbolstringforniturafornituracoppia commerciale
positionSidestringforniturafornituraLONG / SHORT / BOTH e altre direzioni di posizione
statusstringforniturafornituraStringa con lo stato numerico della posizione, vedere la panoramica delle query
leverageintegerforniturafornituraLeva multipla
marginModestringforniturafornituraStringa di enumerazione numerica “1” per posizione completa, “2” per posizione isolata
quantitystringfornituraNon disponibileQuantità di posizione corrente
entryPricestringforniturafornituraPrezzo medio di apertura delle posizioni memorizzate
marginstringfornituraNon disponibileL’importo del margine della posizione corrente, non l’intero saldo del portafoglio contrattuale dell’utente
maxQuantitystringNon disponibilefornituraIl numero massimo di posizioni registrate in questa posizione storica
closeQuantitystringNon disponibilefornituraIl numero cumulativo di posizioni chiuse durante il ciclo di vita storico della posizione
closePricestringNon disponibilefornituraPrezzo di chiusura medio memorizzato
pnlstringNon disponibilefornituraProfitti e perdite della posizione storica; non combinarlo con la transazione realizedPnl semplicemente per ripeterla e accumularla
roestringNon disponibilefornituraIl valore proporzionale del rendimento storico della posizione, non moltiplicato per 100; ad esempio, "0.043" rappresenta 4.3%, "-0.05" rappresenta -5%
fundingFeeAccumstringforniturafornituraCommissione di finanziamento accumulata, mantenendo il simbolo della fonte e l’accuratezza
openedAtintegerforniturafornituraTempo di apertura della posizione, millisecondi
updatedAtintegerfornituraNon disponibileTempo di aggiornamento della posizione corrente, millisecondi
closedAtintegerNon disponibilefornituraTempo di chiusura, millisecondi; utilizzare questo campo per filtrare l’ora della posizione storica

Il calibro di calcolo della cronologia roe è pnl / (entryPrice × maxQuantity / leverage) e l’interfaccia restituisce direttamente il valore della proporzione salvato. Quando si visualizza la percentuale, utilizzare l’operazione decimale e moltiplicare per 100, quindi aggiungere %; il denominatore utilizza il margine nominale del record storico della posizione, non il saldo del portafoglio del conto. Quando il prezzo di apertura o la quantità massima della posizione è 0, la leva finanziaria non è valida, ecc. e non può essere calcolata, la fonte viene salvata come 0. Pertanto, non si può dedurre che il profitto o la perdita siano 0 solo sulla base di roe=0.

La posizione corrente non ha prezzo di riferimento in tempo reale, profitti e perdite fluttuanti in tempo reale, ROE in tempo reale o prezzo di liquidazione in tempo reale. Riflette lo stato della posizione memorizzata e non può utilizzare i campi dell’ora di aggiornamento e del margine per richiedere i risultati correnti del controllo del rischio in tempo reale.

Busta di risposta di esempio

Questa è una pagina vuota illustrativa, non un esempio di un’operazione completata. Le tabelle dei campi specifici della risorsa sopra descrivono il items[].data popolato.

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

Fonte e guide correlate