Saltar a la navegación

Órdenes perpetuas

Órdenes perpetuas: Agent Java SDK v0.3.0 integración, ejemplos, parámetros y semántica de respuesta.

Ver como Markdown

Esta guía está dirigida a Agent Java SDK v0.3.0, Java 8+ y el contrato público etiquetado. Los ejemplos se ejecutan en un backend asociado después de inicializar client en Inicio rápido.

Requisitos previos de ejemplo

Los fragmentos Java comparten estas importaciones. Inicialice client usando el Inicio rápido y obtenga platformUserId del enlace guardado. Los ID de usuario/pedido de ejemplo deben reemplazarse con sus propios valores persistentes.

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

listCurrentPerpetualOrders

Modelo de solicitud: 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);

Campos de solicitud

CampoJava tipoRequeridoSignificado
orderCategoryStringSíNORMAL o CONDITIONAL; Las consultas condicionales requieren usuarios explícitos.
platformUserIdsjava.util.List<String>Condicional1 a 100 identificaciones públicas únicas; requerido para rellenos y pedidos condicionales. Omitir consultas admitidas para el alcance del jugador directo; [] no es válido.
symbolStringNoFiltro de pares comerciales opcional.
limitIntegerNoPredeterminado 500; 1–1000.
cursorStringNoUtilice el nextCursor devuelto con filtros sin cambios; detenerse cuando hasMore sea falso.

El ejemplo lee una página. Para campos obligatorios, alcance del reproductor, semántica de filtro, límite, cursor y reintentos limitados, siga Resumen de consultas. Mantenga todos los filtros sin cambios mientras busca; no interprete un error como un resultado vacío.

listPerpetualOrderHistory

Modelo de solicitud: 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);

Campos de solicitud

CampoJava tipoRequeridoSignificado
orderCategoryStringSíNORMAL o CONDITIONAL; Las consultas condicionales requieren usuarios explícitos.
platformUserIdsjava.util.List<String>Condicional1 a 100 identificaciones públicas únicas; requerido para rellenos y pedidos condicionales. Omitir consultas admitidas para el alcance del jugador directo; [] no es válido.
symbolStringNoFiltro de pares comerciales opcional.
orderIdStringNoID de pedido ordinario; no es un número de orden de transferencia de socio.
conditionIdStringNoID de orden condicional; no mezclar con orderId.
clientOrderIdStringNoReferencia de la orden del cliente comercial, no agentOrderNo.
sideStringNoFiltro BUY / SELL.
statusStringNoEstado específico del recurso; ver la referencia de estado.
startTimeLongNoMilisegundos Unix inclusivos; utilice una ventana de historial fija UTC.
endTimeLongNoMilisegundos exclusivos de Unix.
limitIntegerNoPredeterminado 500; 1–1000.
cursorStringNoUtilice el nextCursor devuelto con filtros sin cambios; detenerse cuando hasMore sea falso.

El ejemplo lee una página. Para campos obligatorios, alcance del reproductor, semántica de filtro, límite, cursor y reintentos limitados, siga Resumen de consultas. Mantenga todos los filtros sin cambios mientras busca; no interprete un error como un resultado vacío.

Órdenes ordinarias: actualidad e historia

Actual: orders/current + orderCategory=NORMAL; Historial: orders/history + orderCategory=NORMAL.

data campotipoSignificado y ámbito de aplicación.
symbolstringPar comercial, como BTCUSDT
orderIdstringID de pedido ordinario de la plataforma
orderCategorystringCorregido NORMAL
clientOrderIdstringNúmero de orden del cliente proporcionado por la fuente de la orden de la transacción; no es el mismo campo que transferencia de fondos mercantiles agentOrderNo
orderTypestringTipo de delegado, como LIMIT, MARKET; prevalecerá el valor de enumeración real
sidestringDirección de compra y venta BUY / SELL
statusstringEstado del pedido ordinario, consulte la descripción general de la consulta
timeInForcestringPeríodo de validez/estrategia de ejecución de la transacción, como GTC, IOC, FOK; interpretado según valores reales
pricestringPrecio confiado; se puede omitir cuando no se proporciona ningún precio y el precio de transacción del mercado no será complementado por uno mismo.
quantitystringCantidad de pedido original
filledQuantitystringCantidad de transacción
remainingQuantitystringCantidad no transada; la consulta actual toma la cantidad - filledQuantity, y la consulta histórica toma el valor del registro histórico
avgFilledPricestringEl precio medio de transacción de la pieza terminada; puede que no tenga valor si no se completa
reduceOnlybooleanSi solo reducir posiciones
closeOnlybooleanSi sólo se utiliza para cerrar posiciones.
makerOnlybooleanSi ejecutar solo como Maker
leverageintegerAprovechar múltiples; El orden ordinario histórico tiene una fuente y el orden ordinario actual no crea este valor
marginModestringModo de margen; Orden histórico ordinario actualmente devuelve una cadena de enumeración numérica, como “1”, “2”; No se proporciona el orden ordinario actual.
createdAtintegerTiempo de creación del pedido, milisegundos; Utilice este campo para filtrar el tiempo histórico del pedido.
updatedAtintegerTiempo de actualización del registro delegado, milisegundos

El historial de pedidos incluye pedidos ordinarios cancelados. No se puede considerar que cada registro esté completamente completo basándose únicamente en el nombre de la interfaz. La página del pedido actual es una consulta de estado actual, no un flujo de eventos de pedido.

Órdenes condicionales: actual e histórica.

Actual: orders/current + orderCategory=CONDITIONAL; Historial: orders/history + orderCategory=CONDITIONAL. Ambos requieren platformUserIds explícito.

data campotiposignificado
symbolstringpar comercial
conditionIdstringID de órdenes condicionales, independientes de las ordinarias orderId
orderCategorystringCorregido CONDITIONAL
generatedOrderIdstringID de pedido ordinario generado después de la activación; puede omitirse si no se genera
clientOrderIdstringEl número de pedido del cliente de pedidos condicionales, mostrado cuando existe
sidestringBUY / SELL
orderTypestringTipo de orden posterior al disparo, interpretada según el valor real
triggerTypestringTipo de regla de activación, explicado por la enumeración de fuentes reales
workingTypestringTipo de trabajo/fuente de precio que activa el precio, interpretado como enumeración real
timeInForcestringPeríodo de validez/estrategia de ejecución de la orden después de su activación
pricestringEl precio de la orden después de la activación, salida cuando la fuente tiene valor
quantitystringCantidad de pedido condicional
triggerPricestringprecio de activación
reduceOnlybooleanSi solo reducir posiciones
closePositionbooleanSi se utiliza la semántica de cierre de posición completa, no se puede confundir con closeOnly como el mismo campo
leverageintegerAproveche la salida múltiple cuando no sea cero
marginModestringEsta clase devuelve CROSS / ISOLATED, que es una cadena numérica que es diferente de las órdenes/posiciones históricas ordinarias.
statusstringEstado de disparo único condicional, consulte la descripción general de la consulta
triggerStatusstringLa implementación actual utiliza el mismo valor de estado condicional que status
createdAtintegerTiempo de creación de órdenes condicionales, milisegundos; Las condiciones históricas se filtran por este tiempo.
updatedAtintegerTiempo de actualización, salida cuando hay un valor, milisegundos
deletedAtintegerEliminar marca de tiempo, salida cuando hay un valor, milisegundos; no es un campo unificado de hora de transacción/cancelación

Las órdenes condicionales no proporcionan filledQuantity, remainingQuantity, avgFilledPrice para órdenes ordinarias. Si necesita el estado de las transacciones de los pedidos ordinarios después de la activación, consulte los pedidos/transacciones ordinarias a través de generatedOrderId y no infiera el volumen de transacciones del estado del pedido condicional.

Ejemplo de sobre de respuesta

Esta es una página vacía ilustrativa, no una muestra de una operación completada. Las tablas de campos específicos de recursos anteriores describen items[].data.

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

Guías fuente y relacionadas