API MEXC Futures

MEXC の永久および配信契約は、公式の Futures WebSocket 仕様に記載された専用ストリーミング API を公開しています。TsgcWSAPI_MEXC_Futures コンポーネントは、リアルタイムデリバティブデータを消費するために必要な接続、ログインハンドシェイク、トピック管理をカプセル化します。

 

MEXCはデリバティブ取引用のRESTインターフェイスも維持しています。sgcHTTP_API_MEXCに含まれるTsgcHTTP_API_MEXC_Futuresコンポーネントは、公式エンドポイントと1対1に対応するHTTPヘルパーでWebSocketフィードを補完します。

 

コンポーネントの設定

Futures WebSocket エンドポイントは wss://contract.mexc.com/edge です。メッセージは JSON オブジェクトとしてエンコードされ、取引所はコンポーネントによって自動的に処理される定期的な ping/pong フレームを要求します。

 

プライベート通知(注文およびアカウントデータ)を受け取るには、認証が必要です。WebSocket クライアントを有効にする前に MEXCAPI.ApiKeyMEXCAPI.ApiSecret を設定してください。認証情報が存在する場合、コンポーネントはソケット接続後すぐにログインリクエスト(HMAC SHA256)に署名します。

 

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;

 

プロパティ

 

イベント

 

次のハンドラーは、サブスクリプションの確認を記録し、受信した板情報スナップショットを出力します:

 

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 サブスクリプションメソッド

各ヘルパーは公式 API で説明された sub/unsub リクエストをラップします。ストリームをキャンセルするには対応する UnSubscribe* メソッドを使用してください。

 

メソッド パラメータ 説明
SubscribeDeal 銘柄 契約で実行された取引(チャンネル: deal)。
SubscribeTickers すべての契約のグローバルなティッカー統計です。
SubscribeTicker 銘柄 単一銘柄のティッカーサマリー。
SubscribeDepth Symbol, Compress 増分オーダーブックの更新
SubscribeDepthFull Symbol, Level 設定可能なレベル数(デフォルト 20)での完全な深さスナップショット。
SubscribeKline Symbol, Interval サポートされているタイムフレームのローソク足データ(Min1、Min5、Min15、Min30、Min60、Hour4、Hour12、Day1、Week1、Month1)。
SubscribeFundingRate 銘柄 最新のファンディングレートのお知らせ。
SubscribeIndexPrice 銘柄 原資産の価格ストリーム。
SubscribeFairPrice 銘柄 取引所がプッシュするマーク (フェア) 価格の更新。

 

サーバーがリクエストを確認すると、チャネル名(例: rs.sub.depth.BTC_USDT)とともに OnMEXCSubscribed イベントが発生します。エラーはトラブルシューティング用のサーバーメッセージを含む OnMEXCError を通じて転送されます。

プライベートチャンネル

プライベートチャネルには有効なAPIキーが必要です。資格情報が提供されると、コンポーネントは自動的に認証します。

メソッド 説明
SubscribePersonalOrder 個人の注文更新。
SubscribePersonalOrderDeal 個人注文の約定(フィル)更新。
SubscribePersonalPosition 個人のポジション更新。
SubscribePersonalPlanOrder 個人プランの(トリガー)注文のアップデート。
SubscribePersonalStopOrder 個人の逆指値注文の更新。
SubscribePersonalStopPlanOrder 個人の停止プラン注文の更新。
SubscribePersonalRiskLimit 個人リスク制限の更新。
SubscribePersonalADLLevel 個人 ADL (自動デレバレッジ) レベルの更新。
SubscribePersonalAsset 個人資産の更新。

 

 

 

パブリック REST エンドポイント

公開されている REST メソッド。

 

メソッド 説明
GetPing /api/v1/ping で API の到達可能性を確認します。
GetServerTime /api/v1/timeからサーバーのタイムスタンプを返します。
GetContracts 利用可能なコントラクトのリストを提供します(/api/v1/contract/detail)。
GetDepth /api/v1/contract/depth から板情報をダウンロードします。オプションの limit パラメータ(デフォルト 50)で価格レベルの数を選択できます。
GetDeals /api/v1/contract/deals を使用して、オプションの limit(デフォルト 100)付きで最近の取引を取得します。
GetKlines オプションの startTimeendTimelimit フィルター(デフォルト 200)付きで /api/v1/contract/kline を通じてローソク足データを返します。
GetIndexPrice 要求したシンボルの基礎となるインデックス価格を取得します(/api/v1/contract/indexPrice)。
GetFairPrice /api/v1/contract/fairPrice からコントラクトの公正(マーク)価格を返します。
GetFundingRate /api/v1/contract/fundingRate を使用して、シンボルの最新のファンディングレートを報告します。
GetAllTickers リアルタイム価格サマリーを含むすべての先物コントラクトのティッカーを取得します。
GetFundingRateHistory コントラクトの過去のファンディングレートレコードを取得します。
GetFairPriceKline 契約の公正(マーク)価格のローソク足データを取得します。
GetIndexPriceKline 契約のインデックス価格Kline/ローソク足データを取得します。

 

プライベート REST エンドポイント

プライベートデリバティブエンドポイントには API 認証情報が必要です。コンポーネントはタイムスタンプと recvWindow を使用して各リクエストに自動的に署名します。

 

メソッド 説明
GetAccountAssets /api/v1/private/account/assetsからマージン残高を返します。
GetPositionList /api/v1/private/position/list を通じて現在のポジションを一覧表示します。オプションでシンボルによってフィルタリングできます。
SetPositionLeverage シンボルのレバレッジと、指定されている場合はマージンモードを更新します。
PlaceOrder /api/v1/private/order で先物注文を発注します。symbolsidepositionSidetypequantity を指定し、オプションで priceclientOrderId、追加パラメータを指定します。
CancelOrder /api/v1/private/order/cancelを使用して、orderIdまたはclientOrderIdで特定の注文をキャンセルします。
CancelAllOrders /api/v1/private/order/cancel-all を通じてシンボルのすべてのオープン注文をキャンセルします。
GetOpenOrders オプションのシンボルフィルター付きで /api/v1/private/order/list/open を通じて現在のオープン注文を一覧表示します。
GetOrderHistory オプションの銘柄、時間範囲、件数パラメーターを指定して注文履歴を取得します(/api/v1/private/order/list/history)。
GetFundingHistory /api/v1/private/account/fundingから過去のfunding支払いを、オプションのstartTimeendTimelimitフィルターとともに返します。
GetOpenPositions 現在開いているすべてのポジションを取得します。
ChangeMargin ポジションのマージン額を変更します。
GetPositionMode 現在のポジションモード(一方向モードまたはヘッジモード)を取得します。
ChangePositionMode 一方向モードとヘッジモード間でポジションモードを変更します。
PlaceBatchOrder 単一のバッチリクエストで複数の先物注文を発注します。
GetOrderDetail 特定の注文の詳細情報を取得します。
GetOrderDealDetails 特定の注文の約定/取引の詳細を取得します。
PlaceTriggerOrder 条件が満たされたときに実行されるトリガー(プラン)注文を発注します。
CancelTriggerOrder 特定のトリガー注文をキャンセルします。
CancelAllTriggerOrders すべてのオープントリガー注文をキャンセルします。
GetTriggerOrders トリガー(プラン)注文のリストを取得します。
GetStopOrders ストップ注文の一覧を取得します。
CancelStopOrder 特定のストップ注文をキャンセルします。
CancelAllStopOrders すべてのオープンストップ注文をキャンセルします。