API MEXC Futures

MEXC expone una API de streaming dedicada para contratos perpetuos y de entrega, documentada en la especificación oficial de Futures WebSocket. El componente TsgcWSAPI_MEXC_Futures encapsula la conexión, el protocolo de inicio de sesión y la gestión de temas necesarios para consumir datos de derivados en tiempo real.

 

MEXC también mantiene una interfaz REST para el trading de derivados. El componente TsgcHTTP_API_MEXC_Futures incluido en sgcHTTP_API_MEXC complementa los feeds WebSocket con ayudantes HTTP que se corresponden uno a uno con los endpoints oficiales.

 

Configuración del componente

El endpoint WebSocket de Futuros es wss://contract.mexc.com/edge. Los mensajes se codifican como objetos JSON y el exchange requiere tramas periódicas de ping/pong que el componente gestiona automáticamente.

 

Para recibir notificaciones privadas (datos de órdenes y cuenta) debe autenticarse. Establezca MEXCAPI.ApiKey y MEXCAPI.ApiSecret antes de activar el cliente WebSocket. Cuando las credenciales están presentes, el componente firma una solicitud de inicio de sesión (HMAC SHA256) en cuanto se conecta el socket.

 

var
  WSClient: TsgcWebSocketClient;
  Futures: TsgcWSAPI_MEXC_Futures;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  Futures := TsgcWSAPI_MEXC_Futures.Create(nil);
  Futures.Client := WSClient;
  Futures.MEXCAPI.ApiKey := 'YOUR_KEY';
  Futures.MEXCAPI.ApiSecret := 'YOUR_SECRET';
  if WSClient.Connect then
    Futures.SubscribeDepth('BTC_USDT', True);
end;

 

Propiedades

 

Eventos

 

El siguiente manejador registra las confirmaciones de suscripción e imprime las instantáneas de profundidad entrantes:

 

procedure TMainForm.MEXCSubscribed(Sender: TObject; const aChannel, aRaw: string);
begin
  Memo1.Lines.Add('Subscribed to ' + aChannel);
end;
procedure TMainForm.MEXCMessage(Sender: TObject; const aChannel, aRaw: string);
begin
  if SameText(aChannel, 'push.depth') then
    Memo1.Lines.Add(aRaw);
end;

 

Métodos de suscripción WebSocket

Cada auxiliar encapsula una solicitud sub/unsub tal como describe la API oficial. Utilice el método UnSubscribe* correspondiente para cancelar el flujo.

 

Método Parámetros Descripción
SubscribeDeal Symbol Operaciones ejecutadas en el contrato (canal: deal).
SubscribeTickers Estadísticas globales del ticker para todos los contratos.
SubscribeTicker Symbol Resumen del ticker para un único instrumento.
SubscribeDepth Symbol, Compress Actualizaciones incrementales del libro de órdenes
SubscribeDepthFull Symbol, Level Instantáneas de profundidad completa con número de niveles configurable (predeterminado 20).
SubscribeKline Symbol, Interval Datos de velas japonesas para marcos temporales admitidos (Min1, Min5, Min15, Min30, Min60, Hour4, Hour12, Day1, Week1, Month1).
SubscribeFundingRate Symbol Últimos anuncios de tasas de financiación.
SubscribeIndexPrice Symbol Flujo del precio del índice subyacente.
SubscribeFairPrice Symbol Actualizaciones del precio mark (justo) enviadas por el exchange.

 

Cuando el servidor confirma una solicitud, el evento OnMEXCSubscribed se activa con el nombre del canal (por ejemplo, rs.sub.depth.BTC_USDT). Los errores se reenvían a través de OnMEXCError, incluido el mensaje del servidor para facilitar la resolución de problemas.

Canales privados

Los canales privados requieren una clave API válida. El componente se autentica automáticamente cuando se proporcionan las credenciales.

Método Descripción
SubscribePersonalOrder Actualizaciones de órdenes personales.
SubscribePersonalOrderDeal Actualizaciones de operaciones personales (fills).
SubscribePersonalPosition Actualizaciones de posición personal.
SubscribePersonalPlanOrder Actualizaciones de órdenes del plan personal (desencadenante).
SubscribePersonalStopOrder Actualizaciones personales de órdenes stop.
SubscribePersonalStopPlanOrder Actualizaciones de órdenes de plan de stop personal.
SubscribePersonalRiskLimit Actualizaciones del límite de riesgo personal.
SubscribePersonalADLLevel Actualizaciones del nivel ADL (auto-desapalancamiento) personal.
SubscribePersonalAsset Actualizaciones de activos personales.

 

 

 

Endpoints REST públicos

Métodos REST disponibles públicamente.

 

Método Descripción
GetPing Comprueba la accesibilidad de la API mediante /api/v1/ping.
GetServerTime Devuelve la marca de tiempo del servidor desde /api/v1/time.
GetContracts Proporciona la lista de contratos disponibles (/api/v1/contract/detail).
GetDepth Descarga la profundidad del libro de órdenes desde /api/v1/contract/depth; use el parámetro opcional limit (predeterminado 50) para seleccionar el número de niveles.
GetDeals Recupera las operaciones recientes usando /api/v1/contract/deals con un límite opcional (predeterminado 100).
GetKlines Devuelve datos de velas mediante /api/v1/contract/kline con filtros opcionales de startTime, endTime y limit (valor predeterminado 200).
GetIndexPrice Obtiene el precio del índice subyacente para el símbolo solicitado (/api/v1/contract/indexPrice).
GetFairPrice Devuelve el precio justo (mark) de un contrato desde /api/v1/contract/fairPrice.
GetFundingRate Informa la tasa de financiamiento más reciente para un símbolo usando /api/v1/contract/fundingRate.
GetAllTickers Obtiene todos los tickers de contratos de futuros con resúmenes de precios en tiempo real.
GetFundingRateHistory Obtenga registros históricos de la tasa de financiación para un contrato.
GetFairPriceKline Obtiene datos de velas/kline del precio justo (mark) para un contrato.
GetIndexPriceKline Obtiene datos kline/velas del precio índice para un contrato.

 

Endpoints REST privados

Los endpoints privados de derivados requieren credenciales de API. El componente firma cada solicitud con la marca de tiempo y recvWindow de forma automática.

 

Método Descripción
GetAccountAssets Devuelve los saldos de margen desde /api/v1/private/account/assets.
GetPositionList Lista las posiciones actuales a través de /api/v1/private/position/list, opcionalmente filtradas por símbolo.
SetPositionLeverage Actualiza el apalancamiento de un símbolo y, si se suministra, el modo de margen.
PlaceOrder Coloca una orden de futuros en /api/v1/private/order proporcionando symbol, side, positionSide, type y quantity, además de los parámetros opcionales price, clientOrderId y parámetros adicionales.
CancelOrder Cancela una orden específica usando /api/v1/private/order/cancel por orderId o clientOrderId.
CancelAllOrders Cancela todas las órdenes abiertas para un símbolo mediante /api/v1/private/order/cancel-all.
GetOpenOrders Lista las órdenes abiertas actuales a través de /api/v1/private/order/list/open con un filtro de símbolo opcional.
GetOrderHistory Recupera el historial de órdenes (/api/v1/private/order/list/history) con parámetros opcionales de símbolo, rango de tiempo y límite.
GetFundingHistory Devuelve los pagos de financiación pasados desde /api/v1/private/account/funding con los filtros opcionales startTime, endTime y limit.
GetOpenPositions Obtener todas las posiciones abiertas actualmente.
ChangeMargin Cambia el importe del margen para una posición.
GetPositionMode Obtener el modo de posición actual (modo unidireccional o de cobertura).
ChangePositionMode Cambie el modo de posición entre modo unidireccional y modo cobertura.
PlaceBatchOrder Coloque múltiples órdenes de futuros en una sola solicitud por lotes.
GetOrderDetail Obtener información detallada de una orden específica.
GetOrderDealDetails Obtener los detalles de ejecución/acuerdo para una orden específica.
PlaceTriggerOrder Coloque una orden de activación (plan) que se ejecute cuando se cumplan las condiciones.
CancelTriggerOrder Cancelar una orden de activación específica.
CancelAllTriggerOrders Cancela todas las órdenes trigger abiertas.
GetTriggerOrders Obtener la lista de órdenes de activación (plan).
GetStopOrders Obtiene la lista de órdenes de stop.
CancelStopOrder Cancelar una orden de stop específica.
CancelAllStopOrders Cancelar todas las órdenes stop abiertas.