Bitmex は暗号通貨取引所およびデリバティブ取引プラットフォームです。
次のAPIがサポートされています。
Bitmex API には public と private の2種類のメソッドがあります。パブリックメソッドはティッカー価格の取得など、認証なしでアクセスできます。一部はプライベートであり、ユーザーデータに関連するため、Bitmex APIキーの使用が必要です。
REST API
サブスクライブ / アンサブスクライブ
BitMEX はリアルタイムデータへのサブスクライブをサポートしています。このアクセスは接続後にレートが制限されず、プログラムに最新のデータを取得するための最善の方法です。一部のトピックでは、取引、クォートなどのイベントをシンボルでフィルタリングするためにシンボルを渡すことができます。
以下のサブスクリプショントピックは認証なしで利用可能です:
btmAnnouncement: サイトアナウンス
btmChat: Trollbox チャット
btmConnected: 接続されているユーザー/ボットの統計
btmFunding: スワップファンディングレートの更新。ファンディング間隔ごとに送信されます(通常 8 時間)。
btmInstrument: 売買高と買値/売値を含むインストゥルメントの更新
btmInsurance: 毎日の保険基金の更新
btmLiquidation: 板に入力された清算注文
btmOrderBookL2_25: レベル 2 オーダーブックのトップ 25 レベル
btmOrderBookL2: フルレベル 2 オーダーブック
btmOrderBook10: 従来のフルブックプッシュを使用した上位10レベル
btmPublicNotifications: システム全体の通知(短期間のメッセージに使用)
btmQuote: 板の最上位
btmQuoteBin1m: 1分間の相場ビン
btmQuoteBin5m: 5 分間のクォートビン
btmQuoteBin1h: 1 時間クォートビン
btmQuoteBin1d: 1日のクオートビン
btmSettlement: 決済
btmTrade: ライブ取引
btmTradeBin1m: 1分間の取引ビン
btmTradeBin5m: 5分間の取引ビン
btmTradeBin1h:1 時間の取引ビン
btmTradeBin1d: 1日の取引ビン
以下のサブジェクトには認証が必要です:
btmAffiliate: 総紹介ユーザー数や支払いパーセンテージなどのアフィリエイトステータス
btmExecution: 個別の約定。1 注文に対して複数発生する場合があります
btmOrder: 注文に関するライブ更新
btmMargin: 現在の口座残高と証拠金要件に関する更新
btmPosition: ポジションの更新
btmPrivateNotifications: 個別通知(現在は未使用)
btmTransact: 入出金の更新
btmWallet: 総預金 & 出金を含む Bitcoin アドレス残高データ
受信したメッセージの例:
{
"table":"orderBookL2_25",
"keys":["symbol","id","side"],
"types":{"id":"long","price":"float","side":"symbol","size":"long","symbol":"symbol"}
"foreignKeys":{"side":"side","symbol":"instrument"},
"attributes":{"id":"sorted","symbol":"grouped"},
"action":"partial",
"data":[
{"symbol":"XBTUSD","id":17999992000,"side":"Sell","size":100,"price":80},
{"symbol":"XBTUSD","id":17999993000,"side":"Sell","size":20,"price":70},
{"symbol":"XBTUSD","id":17999994000,"side":"Sell","size":10,"price":60},
{"symbol":"XBTUSD","id":17999995000,"side":"Buy","size":10,"price":50},
{"symbol":"XBTUSD","id":17999996000,"side":"Buy","size":20,"price":40},
{"symbol":"XBTUSD","id":17999997000,"side":"Buy","size":100,"price":30}
]
}
{
"table":"orderBookL2_25",
"action":"update",
"data":[
{"symbol":"XBTUSD","id":17999995000,"side":"Buy","size":5}
]
}
{
"table":"orderBookL2_25",
"action":"delete",
"data":[
{"symbol":"XBTUSD","id":17999995000,"side":"Buy"}
]
}
{
"table":"orderBookL2_25",
"action":"insert",
"data":[
{"symbol":"XBTUSD","id":17999995500,"side":"Buy","size":10,"price":45},
]
}
認証
ユーザーロックされたストリームにサブスクライブする場合は、最初に認証する必要があります。無効な認証は接続を閉じることに注意してください。
BitMEX API の使用には API キーが必要です。
永続的な API キーは IP アドレス範囲にロックでき、メインの認証情報を侵害することなくいつでも失効できます。また更新も不要です。
API キー認証を使用するには、アカウントで API キーを生成する必要があります。
認証が必要なトピックをサブスクライブする前に、Authenticateメソッドを呼び出してください。
CancelAllAfter(デッドマンズスイッチ)
CancelAllAfterメソッドは、デッドマンスイッチ機能を実装します。タイムアウト値(ミリ秒単位)を指定して呼び出すと、タイムアウト期間内に後続のCancelAllAfter呼び出しを受信しない場合、すべての未約定注文をキャンセルするようサーバーに指示します。これは、ネットワーク切断時に注文がキャンセルされることを保証するのに便利です。
| メソッド | 説明 |
| GetExecutions | これは、注文の開始とキャンセル、および注文ステータスの変更を含む、すべての生のトランザクションを返します。 |
| GetExecutionsTradeHistory | これにより、より焦点を絞ったトランザクションが返されます。 |
| GetInstruments | これにより、決済済みまたは非上場のものを含む、すべての商品とインデックスが返されます。個々の商品を照会したり、複雑なフィルターを使用したりする場合は、このエンドポイントを使用してください。 |
| GetOrders | オープン注文のみを取得するには |
| PlaceOrder | TsgcHTTPBitmexOrder オブジェクトを使用してローの注文を発注します。 |
| PlaceMarketOrder | 新しいMARKET注文を発注します。 |
| PlaceLimitOrder | 新しい LIMIT 注文を発注します。 |
| PlaceStopOrder | 新しいSTOP注文を発注します。 |
| PlaceStopLimitOrder | 新しい STOPLIMIT 注文を発注します。 |
| AmendOrder | 既存の注文を変更します。 |
| CancelOrder | アクティブな注文をキャンセルします。 |
| CancelAllOrders | すべてのアクティブな注文をキャンセルします。 |
| CancelAllOrdersAfter | 一定時間後にすべての注文をキャンセルします。 |
| ClosePosition | オープンポジションをクローズします。 |
| GetOrderBook | 縦形式で現在のオーダーブックを取得する |
| GetPosition | ポジションを取得します。 |
| SetPositionIsolate | ポジションごとに分離マージンまたはクロスマージンを有効にします。 |
| SetPositionLeverage | ポジションごとにレバレッジを選択します。 |
| SetPositionRiskLimit | リスク上限を更新します。 |
| SetPositionTransferMargin | ポジションへのエクイティを振り込むまたは引き出す。 |
| GetQuotes | クォートを取得します。 |
| GetTrades | Get Trades |
| GetFunding | ファンディングデータを取得します。 |
| GetInsurance | 保険基金データを取得します。 |
| GetTradeBucketed | 設定可能なビンサイズでバケット化されたトレードデータ(OHLCV)を取得します。 |
| GetQuoteBucketed | 設定可能なビンサイズでバケット化されたクォートデータを取得します。 |
| GetSettlement | 決済データを取得します。 |
| GetLiquidation | 清算注文を取得します。 |
| GetInstrumentIndices | 機器のインデックスを取得します。 |
| GetInstrumentCompositeIndex | インストゥルメントの複合インデックスデータを取得します。 |
| GetStats | 取引所全体の統計を取得します。 |
| GetStatsHistory | 過去の取引所統計を取得します。 |
| GetStatsHistoryUSD | USD の過去の為替統計を取得します。 |
| GetUserMargin | アカウントのマージンデータを取得します。 |
| GetUserWallet | ウォレット情報を取得します。 |
| GetUserWalletHistory | ウォレットのトランザクション履歴を取得します。 |
| GetUserWalletSummary | ウォレットのサマリーを取得します。 |