API Binance Futures

Binance

 

Binance は国際的な多言語対応の暗号通貨取引所です。Binance のデータにアクセスするための API を提供しています。このコンポーネントを使用すると、Binance Futures WebSocket マーケットストリームを取得できます。

 

https://binance-docs.github.io/apidocs/futures/en

https://binance-docs.github.io/apidocs/delivery/en

先物契約

Binance API には 2 種類のメソッドがあります: パブリックとプライベートです。パブリックメソッドは認証なしでアクセスできます(例: ティッカー価格の取得)。一部はプライベートでユーザーデータに関連しており、これらのメソッドは Binance API キーの使用が必要です。

 

 

クライアントは USDT または COIN Binance Futures に接続できます。FuturesContracts プロパティを使用して取引するコントラクトを設定します:

 

 

クライアントはProductionまたはDemoのBinanceアカウントに接続できます。TestNetプロパティが有効な場合はDemoアカウントに接続し、そうでない場合は本番のBinanceサーバーに接続します。

 

 

WebSocket Stream API

クライアントは接続が成功した後、イベントのサブスクライブ/サブスクライブ解除ができます。

以下のサブスクリプション/サブスクリプション解除メソッドがサポートされています。

 

メソッド パラメータ 説明
AggregateTrades 銘柄 アグリゲートトレードストリームは、100ミリ秒ごとに単一のテイカー注文のトレード情報を集約してプッシュします。
MarkPrice Symbol, UpdateSpeed 単一シンボルのマーク価格とファンディングレートを 3 秒ごとまたは毎秒プッシュします。
AllMarkPrice UpdateSpeed すべてのシンボルのマーク価格とファンディングレートが 3 秒ごとまたは毎秒プッシュされます。
KLine Symbol, Interval Kline/Candlestick Streamは、現在のkline/ローソク足の更新を250ミリ秒ごとにプッシュします(存在する場合)。
MiniTicker 銘柄 単一シンボルの 24 時間ローリングウィンドウのミニティッカー統計。これらは UTC 日の統計ではなく、requestTime から 24 時間前までの 24 時間ローリングウィンドウです。
AllMiniTicker   すべてのシンボルの 24 時間ローリングウィンドウミニティッカー統計。これは UTC 日の統計ではなく、requestTime から 24 時間前までの 24 時間ローリングウィンドウです。変更があったティッカーのみが配列に含まれます。
Ticker 銘柄 単一シンボルの 24 時間ローリングウィンドウティッカー統計。UTC 日付の統計ではなく、requestTime から 24 時間前までの 24 時間ローリングウィンドウです。
AllMarketTickers   すべてのシンボルの 24 時間ローリングウィンドウのティッカー統計。これらは UTC の日次統計ではなく、requestTime から 24 時間前までの 24 時間ローリングウィンドウです。変化したティッカーのみが配列に含まれることに注意してください。
BookTicker 銘柄 指定されたシンボルについて、最良買い気配または売り気配の価格や数量への更新をリアルタイムでプッシュします。
AllBookTickers   すべての銘柄の最良の売値または買値の価格または数量の更新をリアルタイムでプッシュします。
LiquidationOrders 銘柄 Liquidation Order Streams は、特定の銘柄の強制清算注文情報をプッシュします
AllLiquidationOrders   全清算注文ストリームは、市場のすべてのシンボルの強制清算注文情報をプッシュします。
PartialBookDepth Symbol、Depth 上位の買い注文と売り注文。有効値は5、10、または20です。
DiffDepth 銘柄 買い気配と売り気配。250ミリ秒、500ミリ秒、100ミリ秒ごと、またはリアルタイムでプッシュされます(存在する場合)

 

サブスクリプション/サブスクリプション解除が成功すると、クライアントはそれに関するメッセージを受信します。ここでidはSubscribed / Unsubscribedメソッドの結果です。

 


{
  "result": null,
  "id": 1
}

User Data Stream API

Binanceアカウントから取得した有効なApiKeyが必要で、ApiKey はコンポーネントの Binance.ApiKey プロパティに設定する必要があります。

 

変化があるたびに次のデータがクライアントにプッシュされます。任意のメソッドをサブスクライブする必要はありません。有効な ApiKey が設定されていれば自動的に行われます。

 

メソッド 説明
マージンコール ユーザーのポジションリスク比率が高すぎる場合、このストリームがプッシュされます。 このメッセージはリスクガイダンス情報としてのみ使用され、投資戦略としての使用は推奨されません。 市場が非常に変動した場合、このストリームがプッシュされると同時にユーザーのポジションが強制決済されている可能性があります。
残高およびポジションの更新

残高の更新は以下の場合に発生します:

 

  • 残高またはポジションが更新されると、このイベントがプッシュされます。
  • 「FUNDING FEE」がユーザーの残高に変更を加えるとき。
注文の更新 新しい注文が作成されたとき、注文ステータスが変更されるとこのようなイベントがプッシュされます。

 

 

REST API

すべてのエンドポイントは JSON オブジェクトまたは配列を返します。データは昇順 (古いものから新しいもの) で返されます。

 

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

 

これらのエンドポイントには認証なしでアクセスできます。

 

一般エンドポイント

 

メソッド パラメータ 説明
Ping   REST API への接続をテストします。
GetServerTime   REST API への接続をテストして現在のサーバー時刻を取得します。
GetExchangeInformation   現在の取引所の取引ルールとシンボル情報

 

 

Market Data エンドポイント

 

メソッド パラメータ 説明
GetOrderBook 銘柄 オーダーブックを取得します。
GetTrades 銘柄 最近の取引を取得します。
GetHistoricalTrades 銘柄 古い取引を取得します。
GetAggregateTrades 銘柄 圧縮された集約トレードを取得します。同じ注文から、同じ価格で、同時に約定したトレードは数量が集計されます。
GetKLines Symbol, Interval 銘柄の kline/ローソク足バー。Klines は開始時刻で一意に識別されます。
Get24hrTicker 銘柄 24 時間のローリングウィンドウの価格変動統計。シンボルなしでアクセスする場合は注意が必要です。
GetPriceTicker 銘柄 シンボルまたは複数のシンボルの最新価格。
GetBookTicker 銘柄 シンボルまたは複数シンボルの板注文における最良価格/数量。
GetMarkPrice 銘柄 マーク価格とファンディングレート
GetFundingRateHistory 銘柄  
GetOpenInterest 銘柄 特定シンボルの現在の建玉を取得します。
GetOpenInterestStatistics Symbol, Period  
GetTopTraderAccountRatio Symbol, Period  
GetTopTraderPositionRatio Symbol, Period  
GetGlobalAccountRatio Symbol, Period  
GetTakerVolume Symbol, Period
GetContinuousKLines Pair、ContractType、Interval 特定の契約タイプのKline/ローソク足バー。
GetIndexPriceKLines Pair, Interval ペアのインデックス価格のローソク足バー。
GetMarkPriceKLines Symbol, Interval シンボルのマーク価格のローソク足/Kline バー。
GetPremiumIndexKLines Symbol, Interval シンボルのプレミアムインデックスのローソク足バー。
GetFundingInfo すべてのシンボルのファンディングレート情報を取得します。
GetPriceTickerV2 銘柄 シンボルまたは複数シンボルの最新価格 (V2)。
GetIndexInfo 銘柄 インデックス情報を取得します。
GetAssetIndex 銘柄 マルチアセットモードのアセットインデックスを取得します。
GetConstituents 銘柄 インデックスの構成銘柄を取得します。
GetDeliveryPrice ペア 配達価格を取得します。
GetBasis Pair, ContractType, Period ベーシスデータを取得します。

 

 

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

 

サーバーによる認証を取得するために APIKey と APISecret が必要です。

 

アカウントおよびトレードエンドポイント

 

メソッド パラメータ 説明
ChangePositionMode DualPosition すべてのシンボルのユーザーのポジションモード(ヘッジモードまたはワンウェイモード)を変更します。
GetCurrentPositionMode   すべてのシンボルでユーザーのポジションモード (ヘッジモードまたは一方向モード) を取得します
NewOrder Symbol、Side、PositionSide、Type 新しい注文を送信します。
PlaceMarketOrder Side, Symbol, Quantity  
PlaceLimitOrder Side、Symbol、Quantity、LimitPrice  
PlaceStopOrder Side, Symbol, Quantity, StopPrice, LimitPrice  
PlaceTrailingStopOrder Side, Symbol, Quantity, aActivationPrice, aCallbackRate  
QueryOrder 銘柄 注文のステータスを確認します。
CancelOrder 銘柄 アクティブな注文をキャンセルします。OrderId または OrigClientOrderId のどちらかを送信する必要があります。
CancelAllOpenOrders 銘柄  
AutoCancelAllOpenOrders Symbol, CountDownTimer 指定されたカウントダウン終了時に指定シンボルのすべてのオープン注文をキャンセルします。
QueryCurrentOpenOrder 銘柄  
GetOpenOrders 銘柄 シンボルのすべてのオープン注文を取得します。シンボルなしでアクセスする場合は注意してください。
GetAllOrders 銘柄 すべてのアカウント注文(アクティブ、キャンセル済み、または約定済み)を取得します。
GetAccountBalance    
GetAccountInformation   現在のアカウント情報を取得します。
ChangeInitialLeverage Symbol, Leverage 特定のシンボルマーケットのユーザーの初期レバレッジを変更します。
ChangeMarginType Symbol, MarginType  
ModifyIsolatedPositionMargin Symbol、Amount、Type  
GetPositionMarginChangeHistory 銘柄  
GetPositionInformation 銘柄  
GetAccountTradeList 銘柄  
GetIncomeHistory 銘柄  
GetNotionalLeverageBracket 銘柄
TestNewOrder Symbol、Side、PositionSide、Type 新しい注文の作成と署名/recvWindow の長さをテストします。新しい注文を作成して検証しますが、マッチングエンジンには送信しません。
ModifyOrder 銘柄 既存の注文を変更します。
NewBatchOrders BatchOrders 複数の注文を発注します。
ModifyBatchOrders BatchOrders 複数の注文を変更します。
CancelBatchOrders 銘柄 複数の注文をキャンセルします。
GetOrderAmendment 銘柄 注文変更履歴を取得します。
CountdownCancelAll Symbol, CountdownTime 指定されたカウントダウン終了時に指定シンボルのすべてのオープン注文をキャンセルします。
GetForceOrders 銘柄 ユーザーの強制清算注文を取得します。
GetADLQuantile 銘柄 ポジションの ADL 分位数推定を取得します。
GetAccountBalanceV3 先物アカウント残高を取得します(V3)。
GetAccountInformationV3 現在のアカウント情報を取得します(V3)。
GetPositionInformationV3 銘柄 現在のポジション情報を取得します (V3)。
GetCommissionRate 銘柄 ユーザー手数料率を取得します。
GetAccountConfig 現在のアカウント設定を取得します。
GetSymbolConfig 銘柄 シンボル設定を取得します。
GetOrderRateLimit ユーザーの注文レート制限を取得します。
GetApiTradingStatus 銘柄 API取引の定量的ルールインジケーターを取得します。
ChangeMultiAssetsMode MultiAssetsMargin ユーザーのmulti-assetsモードを変更します。Multi-Assets Mode: true、Single-Asset Mode: false。
GetMultiAssetsMode ユーザーの現在のマルチアセットモードを取得します。
SetFeeBurn FeeBurn ユーザーのBNB手数料バーンステータスを変更します。
GetFeeBurn ユーザーの BNB 手数料バーン ステータスを取得します。
CreateListenKey 新しいユーザーデータストリームを開始します。キープアライブが送信されない場合、ストリームは 60 分後に閉じられます。
KeepAliveListenKey タイムアウトを防ぐためにユーザーデータストリームをkeepaliveします。
CloseListenKey ユーザーデータストリームを閉じます。

 

 

 

イベント

Binance Futures メッセージは TsgcWebSocketClient コンポーネントで受信されます。以下のイベントを使用できます:

 

OnConnect

Binance サーバーへの接続が成功した後。

OnDisconnect

Binance サーバーからの切断後

OnMessage

サーバーからクライアントに送信されたメッセージは、このイベントで処理されます。

OnError

プロトコルにエラーがある場合、このイベントが呼び出されます。

OnException

未処理の例外がある場合、このイベントが呼び出されます。

 

さらに、Binance APIコンポーネントには OnBinanceHTTPException という特定のイベントがあります。これはHTTPリクエスト(REST APIまたはWebSocketユーザーストリーム)の呼び出しにエラーが発生するたびに発生します。

 

(*)Binance サーバーの変更により、Rad Studio 10.1 より前の Indy バージョンではテストサーバーに接続できません。この問題は Enterprise Edition または Indy バージョンを最新にアップグレードした場合には影響しません。