API MEXC Futures

MEXC les contrats perpétuels et de livraison exposent une API de streaming dédiée documentée dans la spécification WebSocket Futures officielle. Le composant TsgcWSAPI_MEXC_Futures encapsule la connexion, la négociation de connexion et la gestion des sujets nécessaires pour consommer des données dérivées en temps réel.

 

MEXC maintient également une interface REST pour le trading de dérivés. Le composant TsgcHTTP_API_MEXC_Futures contenu dans sgcHTTP_API_MEXC complète les flux WebSocket avec des assistants HTTP mappant un à un les endpoints officiels.

 

Configuration du composant

Le point de terminaison WebSocket Futures est wss://contract.mexc.com/edge. Les messages sont encodés en tant qu'objets JSON et l'échange nécessite des trames ping/pong périodiques qui sont gérées automatiquement par le composant.

 

Pour recevoir des notifications privées (données de commandes et de compte), vous devez vous authentifier. Définissez MEXCAPI.ApiKey et MEXCAPI.ApiSecret avant d'activer le client WebSocket. Lorsque des identifiants sont présents, le composant signe une requête de connexion (HMAC SHA256) dès que la socket se connecte.

 

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;

 

Propriétés

 

Événements

 

Le gestionnaire suivant enregistre les confirmations d'abonnement et imprime les instantanés de profondeur entrants :

 

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éthodes d'abonnement WebSocket

Chaque assistant encapsule une requête sub/unsub telle que décrite par l'API officielle. Utilisez la méthode UnSubscribe* correspondante pour annuler le flux.

 

Méthode Paramètres Description
SubscribeDeal Symbol Transactions exécutées sur le contrat (canal : deal).
SubscribeTickers Statistiques globales du ticker pour tous les contrats.
SubscribeTicker Symbol Résumé du ticker pour un seul instrument.
SubscribeDepth Symbol, Compress Mises à jour incrémentielles du carnet d'ordres
SubscribeDepthFull Symbol, Level Snapshots de profondeur complète avec un nombre de niveaux configurable (20 par défaut).
SubscribeKline Symbole, Intervalle Données de chandeliers pour les intervalles de temps pris en charge (Min1, Min5, Min15, Min30, Min60, Hour4, Hour12, Day1, Week1, Month1).
SubscribeFundingRate Symbol Dernières annonces de taux de financement.
SubscribeIndexPrice Symbol Flux du prix de l'indice sous-jacent.
SubscribeFairPrice Symbol Mises à jour du prix mark (équitable) transmises par l'exchange.

 

Lorsque le serveur acquitte une requête, l'événement OnMEXCSubscribed se déclenche avec le nom du canal (par exemple rs.sub.depth.BTC_USDT). Les erreurs sont transmises via OnMEXCError, incluant le message du serveur pour le débogage.

Canaux privés

Les canaux privés nécessitent une clé API valide. Le composant s'authentifie automatiquement lorsque des identifiants sont fournis.

Méthode Description
SubscribePersonalOrder Mises à jour des ordres personnels.
SubscribePersonalOrderDeal Mises à jour des transactions personnelles (fills).
SubscribePersonalPosition Mises à jour personnelles de position.
SubscribePersonalPlanOrder Mises à jour des ordres de plan personnel (déclencheur).
SubscribePersonalStopOrder Mises à jour personnelles des ordres stop.
SubscribePersonalStopPlanOrder Mises à jour personnelles des ordres stop-plan.
SubscribePersonalRiskLimit Mises à jour de la limite de risque personnelle.
SubscribePersonalADLLevel Mises à jour personnelles du niveau ADL (auto-délestage).
SubscribePersonalAsset Mises à jour des actifs personnels.

 

 

 

Points de terminaison REST publics

Méthodes REST disponibles publiquement.

 

Méthode Description
GetPing Vérifie l'accessibilité de l'API via /api/v1/ping.
GetServerTime Retourne le timestamp du serveur depuis /api/v1/time.
GetContracts Fournit la liste des contrats disponibles (/api/v1/contract/detail).
GetDepth Télécharge la profondeur du carnet d'ordres depuis /api/v1/contract/depth ; utilisez le paramètre optionnel limit (défaut 50) pour sélectionner le nombre de niveaux.
GetDeals Récupère les transactions récentes en utilisant /api/v1/contract/deals avec une limite optionnelle (par défaut 100).
GetKlines Retourne les données chandelier via /api/v1/contract/kline avec des filtres optionnels startTime, endTime et limit (par défaut 200).
GetIndexPrice Récupère le prix de l'indice sous-jacent pour le symbole demandé (/api/v1/contract/indexPrice).
GetFairPrice Retourne le prix équitable (mark) pour un contrat depuis /api/v1/contract/fairPrice.
GetFundingRate Signale le dernier taux de financement pour un symbole en utilisant /api/v1/contract/fundingRate.
GetAllTickers Obtenir tous les tickers de contrats à terme avec des résumés de prix en temps réel.
GetFundingRateHistory Obtenir l'historique des taux de financement pour un contrat.
GetFairPriceKline Récupère les données kline/chandelier du prix équitable (mark) pour un contrat.
GetIndexPriceKline Obtenir les données kline/chandelier de prix d'index pour un contrat.

 

Endpoints REST privés

Les points de terminaison de dérivés privés nécessitent des informations d'identification API. Le composant signe automatiquement chaque requête avec l'horodatage et recvWindow.

 

Méthode Description
GetAccountAssets Renvoie les soldes de marge depuis /api/v1/private/account/assets.
GetPositionList Liste les positions actuelles via /api/v1/private/position/list, avec un filtre optionnel par symbole.
SetPositionLeverage Met à jour l'effet de levier pour un symbole et, si fourni, le mode de marge.
PlaceOrder Place un ordre futures sur /api/v1/private/order en fournissant symbol, side, positionSide, type et quantity ainsi que les paramètres optionnels price, clientOrderId et autres.
CancelOrder Annule un ordre spécifique via /api/v1/private/order/cancel par orderId ou clientOrderId.
CancelAllOrders Annule tous les ordres ouverts pour un symbole via /api/v1/private/order/cancel-all.
GetOpenOrders Liste les ordres ouverts actuels via /api/v1/private/order/list/open avec un filtre de symbole optionnel.
GetOrderHistory Récupère l'historique des ordres (/api/v1/private/order/list/history) avec des paramètres optionnels de symbole, plage de temps et limite.
GetFundingHistory Retourne les paiements de financement passés depuis /api/v1/private/account/funding avec des filtres optionnels startTime, endTime et limit.
GetOpenPositions Obtenir toutes les positions actuellement ouvertes.
ChangeMargin Modifier le montant de marge pour une position.
GetPositionMode Obtenir le mode de position actuel (mode unidirectionnel ou de couverture).
ChangePositionMode Changer le mode de position entre le mode unidirectionnel et le mode de couverture.
PlaceBatchOrder Passer plusieurs ordres à terme en une seule requête en lot.
GetOrderDetail Obtenir des informations détaillées pour un ordre spécifique.
GetOrderDealDetails Obtenir les détails de remplissage/transaction pour un ordre spécifique.
PlaceTriggerOrder Passer un ordre déclencheur (plan) qui s'exécute lorsque les conditions sont remplies.
CancelTriggerOrder Annuler un ordre déclencheur spécifique.
CancelAllTriggerOrders Annuler tous les ordres trigger ouverts.
GetTriggerOrders Obtenir la liste des ordres déclencheurs (plan).
GetStopOrders Obtenir la liste des ordres stop.
CancelStopOrder Annuler un ordre stop spécifique.
CancelAllStopOrders Annuler tous les ordres stop ouverts.