API MEXC Futures

MEXC Perpetual- und Delivery-Kontrakte stellen eine dedizierte Streaming-API bereit, die in der offiziellen Futures-WebSocket-Spezifikation dokumentiert ist. Die Komponente TsgcWSAPI_MEXC_Futures kapselt die Verbindung, den Login-Handshake und die Topic-Verwaltung, die zum Abrufen von Echtzeit-Derivatedaten erforderlich sind.

 

MEXC pflegt außerdem eine REST-Schnittstelle für den Derivatehandel. Die TsgcHTTP_API_MEXC_Futures-Komponente, die in sgcHTTP_API_MEXC enthalten ist, ergänzt die WebSocket-Feeds um HTTP-Helfer, die eins zu eins den offiziellen Endpunkten zugeordnet sind.

 

Komponentenkonfiguration

Der Futures-WebSocket-Endpunkt ist wss://contract.mexc.com/edge. Nachrichten werden als JSON-Objekte kodiert und die Börse erfordert periodische ping/pong-Frames, die von der Komponente automatisch behandelt werden.

 

Um private Benachrichtigungen (Order- und Kontodaten) zu erhalten, müssen Sie sich authentifizieren. Setzen Sie MEXCAPI.ApiKey und MEXCAPI.ApiSecret, bevor Sie den WebSocket-Client aktivieren. Wenn Anmeldeinformationen vorhanden sind, signiert die Komponente eine Login-Anfrage (HMAC SHA256), sobald der Socket verbunden ist.

 

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;

 

Properties

 

Ereignisse

 

Der folgende Handler zeichnet Abonnementbestätigungen auf und gibt eingehende Tiefen-Snapshots aus:

 

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;

 

WebSocket-Abonnementmethoden

Jeder Helfer umschließt eine sub/unsub-Anfrage, wie von der offiziellen API beschrieben. Verwenden Sie die passende UnSubscribe*-Methode, um den Stream abzubrechen.

 

Method Parameter Beschreibung
SubscribeDeal Symbol Auf dem Kontrakt ausgeführte Trades (Kanal: deal).
SubscribeTickers – Globale Ticker-Statistiken für alle Kontrakte.
SubscribeTicker Symbol Ticker-Zusammenfassung für ein einzelnes Instrument.
SubscribeDepth Symbol, Compress Inkrementelle Orderbuch-Aktualisierungen
SubscribeDepthFull Symbol, Level Vollständige Tiefen-Snapshots mit konfigurierbarer Anzahl von Stufen (Standard 20).
SubscribeKline Symbol, Interval Candlestick-Daten für unterstützte Zeitrahmen (Min1, Min5, Min15, Min30, Min60, Hour4, Hour12, Day1, Week1, Month1).
SubscribeFundingRate Symbol Aktuelle Funding-Rate-Ankündigungen.
SubscribeIndexPrice Symbol Zugrunde liegender Index-Preis-Stream.
SubscribeFairPrice Symbol Mark-(Fair-)Price-Aktualisierungen, die von der Börse übertragen werden.

 

Wenn der Server eine Anfrage bestätigt, wird das Ereignis OnMEXCSubscribed mit dem Kanalnamen ausgelöst (zum Beispiel rs.sub.depth.BTC_USDT). Fehler werden über OnMEXCError weitergeleitet, einschließlich der Servernachricht zur Fehlerbehebung.

Private Kanäle

Private Kanäle erfordern einen gültigen API-Schlüssel. Die Komponente authentifiziert sich automatisch, wenn Anmeldedaten bereitgestellt werden.

Method Beschreibung
SubscribePersonalOrder Persönliche Order-Updates.
SubscribePersonalOrderDeal Aktualisierungen zu persönlichen Auftragsabschlüssen (Fills).
SubscribePersonalPosition Persönliche Positions-Updates.
SubscribePersonalPlanOrder Persönliche (Trigger-)Order-Updates.
SubscribePersonalStopOrder Aktualisierungen zu persönlichen Stop-Aufträgen.
SubscribePersonalStopPlanOrder Aktualisierungen zu persönlichen Stop-Plan-Aufträgen.
SubscribePersonalRiskLimit Aktualisierungen des persönlichen Risikolimits.
SubscribePersonalADLLevel Persönliche ADL-(Auto-Deleveraging-)Level-Updates.
SubscribePersonalAsset Persönliche Vermögensaktualisierungen.

 

 

 

Öffentliche REST-Endpunkte

Öffentlich verfügbare REST-Methoden.

 

Method Beschreibung
GetPing Prüft die API-Erreichbarkeit über /api/v1/ping.
GetServerTime Gibt den Server-Zeitstempel von /api/v1/time zurück.
GetContracts Stellt die Liste der verfügbaren Kontrakte bereit (/api/v1/contract/detail).
GetDepth Lädt die Orderbuchtiefe von /api/v1/contract/depth herunter; verwenden Sie den optionalen Parameter limit (Standard 50), um die Anzahl der Ebenen auszuwählen.
GetDeals Ruft die jüngsten Trades über /api/v1/contract/deals mit einem optionalen limit ab (Standard 100).
GetKlines Gibt Candlestick-Daten über /api/v1/contract/kline mit optionalen Filtern startTime, endTime und limit zurück (Standard 200).
GetIndexPrice Ruft den zugrunde liegenden Indexpreis für das angeforderte Symbol ab (/api/v1/contract/index_price).
GetFairPrice Gibt den fairen (Mark-)Preis für einen Kontrakt von /api/v1/contract/fair_price zurück.
GetFundingRate Meldet die neueste Funding-Rate für ein Symbol über /api/v1/contract/funding_rate.
GetAllTickers Ruft alle Ticker für Futures-Kontrakte mit Echtzeit-Preiszusammenfassungen ab.
GetFundingRateHistory Ruft historische Funding-Rate-Datensätze für einen Kontrakt ab.
GetFairPriceKline Ruft Fair-Price- (Mark-Price-)Kline-/Candlestick-Daten für einen Kontrakt ab.
GetIndexPriceKline Ruft Indexpreis-Kline-/Candlestick-Daten für einen Kontrakt ab.

 

Private REST-Endpunkte

Private Derivate-Endpunkte erfordern API-Anmeldedaten. Die Komponente signiert jede Anfrage automatisch mit dem Zeitstempel und recvWindow.

 

Breaking Change: die Signaturen von PlaceOrder und SetPositionLeverage haben sich geändert, um den von MEXC veröffentlichten Kontrakt-Endpunkten zu entsprechen, sodass eine Anwendung, die sie aufruft, nicht mehr kompiliert, solange sie nicht angepasst wird. PlaceOrder hat seinen Parameter positionSide durch openType ersetzt, und SetPositionLeverage hat marginMode, das der Endpunkt nicht akzeptiert, durch positionId, openType und positionType ersetzt. Außerdem wurden mehrere Endpunkt-Routen korrigiert.

 

Method Beschreibung
GetAccountAssets Gibt Margin-Salden von /api/v1/private/account/assets zurück.
GetPositionList Listet aktuelle Positionen über /api/v1/private/position/list/history_positions auf.
SetPositionLeverage Aktualisiert die Hebelwirkung einer Position über /api/v1/private/position/change_leverage. Sie nimmt das symbol und den leverage entgegen, dazu eine optionale positionId sowie openType (1 Isoliert, 2 Cross) und positionType (1 Long, 2 Short), die nur erforderlich sind, wenn die Position noch nicht offen ist.
PlaceOrder Platziert eine Futures-Order auf /api/v1/private/order/submit und stellt symbol, side, type, openType (1 Isoliert, 2 Cross), die Menge, die als vol übertragen wird, und den price bereit, den der Endpunkt auch für Market-Orders verlangt, sowie optional externalOid und zusätzliche Parameter.
CancelOrder Bricht eine bestimmte Order über /api/v1/private/order/cancel anhand der orderId oder clientOrderId ab.
CancelAllOrders Storniert alle offenen Orders für ein Symbol über /api/v1/private/order/cancel_all.
GetOpenOrders Listet aktuelle offene Orders über /api/v1/private/order/list/open_orders mit einem optionalen Symbol-Filter auf.
GetOrderHistory Ruft den Order-Verlauf ab (/api/v1/private/order/list/history) mit optionalen Symbol-, Zeitbereichs- und Limit-Parametern.
GetFundingHistory Gibt vergangene Funding-Zahlungen von /api/v1/private/account/funding mit optionalen Filtern startTime, endTime und limit zurück.
GetOpenPositions Ruft alle derzeit offenen Positionen ab.
ChangeMargin Ändert den Margin-Betrag für eine Position.
GetPositionMode Den aktuellen Positionsmodus abrufen (One-Way- oder Hedge-Modus).
ChangePositionMode Wechselt den Positionsmodus zwischen Einweg- und Hedge-Modus.
PlaceBatchOrder Platziert mehrere Futures-Orders in einer einzigen Batch-Anfrage.
GetOrderDetail Ruft detaillierte Informationen für einen bestimmten Auftrag ab.
GetOrderDealDetails Fill-/Deal-Details für eine bestimmte Order abrufen.
PlaceTriggerOrder Platzieren Sie eine Trigger-Order (Plan-Order), die ausgeführt wird, wenn die Bedingungen erfüllt sind.
CancelTriggerOrder Storniert einen bestimmten Trigger-Auftrag.
CancelAllTriggerOrders Storniert alle offenen Trigger-Orders.
GetTriggerOrders Ruft die Liste der Trigger-Aufträge (Plan) ab.
GetStopOrders Ruft die Liste der Stop-Orders ab.
CancelStopOrder Eine bestimmte Stop-Order stornieren.
CancelAllStopOrders Alle offenen Stop-Orders stornieren.