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/indexPrice).
GetFairPrice Gibt den fairen (Mark-)Preis für einen Kontrakt von /api/v1/contract/fairPrice zurück.
GetFundingRate Meldet die neueste Funding-Rate für ein Symbol über /api/v1/contract/fundingRate.
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.

 

Method Beschreibung
GetAccountAssets Gibt Margin-Salden von /api/v1/private/account/assets zurück.
GetPositionList Listet aktuelle Positionen über /api/v1/private/position/list auf, optional nach Symbol gefiltert.
SetPositionLeverage Aktualisiert die Hebelwirkung für ein Symbol und, falls angegeben, den Margin-Modus.
PlaceOrder Platziert eine Futures-Order auf /api/v1/private/order und stellt symbol, side, positionSide, type und quantity sowie optional price, clientOrderId und zusätzliche Parameter bereit.
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 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.