API Binance Futures

Binance

 

Binance는 국제적인 다국어 cryptocurrency 거래소입니다. Binance 데이터에 액세스하기 위한 일부 API를 제공합니다. 이 구성 요소를 사용하면 Binance Futures WebSocket Market Streams를 가져올 수 있습니다.

 

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

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

Futures Contracts

Binance API에는 public과 private 두 가지 유형의 메서드가 있습니다. Public 메서드는 인증 없이 액세스할 수 있습니다(예: ticker 가격 가져오기). 일부는 private이며 사용자 데이터와 관련이 있습니다. 이러한 메서드는 Binance API 키 사용을 요구합니다.

 

 

클라이언트는 USDT 또는 COIN Binance Futures에 연결할 수 있습니다. FuturesContracts 속성을 사용하여 거래하려는 계약을 설정하십시오:

 

 

클라이언트는 Production 또는 Demo Binance 계정에 연결할 수 있습니다. TestNet 속성이 활성화되면 Demo 계정에 연결되고, 그렇지 않으면 production Binance 서버에 연결됩니다.

 

 

WebSocket Stream API

클라이언트는 성공적인 연결 후 이벤트를 구독/구독 취소할 수 있습니다.

다음 Subscription / Unsubscription 메서드가 지원됩니다.

 

Method 매개변수 설명
AggregateTrades Symbol Aggregate Trade Stream은 100밀리초마다 단일 taker 주문에 대해 집계된 거래 정보를 푸시합니다.
MarkPrice Symbol, UpdateSpeed 단일 심볼에 대한 마크 가격과 펀딩 비율이 3초마다 또는 1초마다 푸시됩니다.
AllMarkPrice UpdateSpeed 모든 심볼에 대한 mark price와 펀딩 비율을 3초마다 또는 매초마다 푸시합니다.
KLine Symbol, Interval Kline/Candlestick Stream은 현재 kline/candlestick에 대한 업데이트를 250밀리초마다 푸시합니다(존재하는 경우).
MiniTicker Symbol 단일 심볼에 대한 24시간 롤링 윈도우 미니 티커 통계입니다. 이는 UTC 일의 통계가 아니라 requestTime부터 24시간 전까지의 24시간 롤링 윈도우입니다.
AllMiniTicker   모든 심볼에 대한 24시간 롤링 윈도우 미니 ticker 통계입니다. 이는 UTC 날짜의 통계가 아니라 requestTime부터 24시간 전까지의 24시간 롤링 윈도우입니다. 변경된 ticker만 배열에 존재한다는 점에 유의하십시오.
Ticker Symbol 단일 심볼에 대한 24시간 롤링 윈도우 티커 통계입니다. 이는 UTC 일자의 통계가 아니라 requestTime부터 그 24시간 전까지의 24시간 롤링 윈도우입니다.
AllMarketTickers   모든 심볼에 대한 24시간 롤링 윈도우 티커 통계입니다. 이것은 UTC 일자의 통계가 아니라, requestTime에서 24시간 전까지의 24시간 롤링 윈도우입니다. 변경된 티커만 배열에 표시됩니다.
BookTicker Symbol 지정된 symbol에 대한 최우선 매수 또는 매도 호가의 가격 또는 수량에 대한 모든 업데이트를 실시간으로 푸시합니다.
AllBookTickers   모든 심볼에 대해 최고 매수 또는 매도의 가격이나 수량에 대한 모든 업데이트를 실시간으로 푸시합니다.
LiquidationOrders Symbol Liquidation Order Stream은 특정 심볼에 대한 강제 청산 주문 정보를 푸시합니다
AllLiquidationOrders   All Liquidation Order Streams는 시장의 모든 심볼에 대한 강제 청산 주문 정보를 푸시합니다.
PartialBookDepth Symbol, Depth 최상위 bids 및 asks, 유효 값은 5, 10, 20입니다.
DiffDepth Symbol 매수 및 매도 호가로, 250밀리초, 500밀리초, 100밀리초마다 또는 실시간으로(존재하는 경우) 푸시됩니다

 

구독 / 구독 해지가 성공한 후, 클라이언트는 이에 대한 메시지를 받으며, 여기서 id는 Subscribed / Unsubscribed 메서드의 결과입니다.

 


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

User Data Stream API

binance 계정에서 얻은 유효한 ApiKey가 필요하며, ApiKey는 구성 요소의 Binance.ApiKey 속성에 설정해야 합니다.

 

다음 데이터는 변경이 있을 때마다 클라이언트에 푸시됩니다. 어떤 메서드도 구독할 필요가 없으며, 유효한 ApiKey를 설정하면 자동으로 수행됩니다.

 

Method 설명
Margin Call 사용자의 포지션 위험 비율이 너무 높으면 이 스트림이 푸시됩니다. 이 메시지는 위험 안내 정보로만 사용되며 투자 전략에는 권장되지 않습니다. 변동성이 큰 시장의 경우, 이 스트림이 푸시될 때 사용자의 포지션이 동시에 청산될 가능성이 있을 수 있습니다.
Balance and Position Update

Balance Update는 다음 중에 발생합니다:

 

  • 잔액 또는 포지션이 업데이트되면 이 이벤트가 푸시됩니다.
  • "FUNDING FEE"가 사용자의 잔액으로 변경될 때.
Order Update 새 주문이 생성되거나 주문 상태가 변경되면 이러한 이벤트가 푸시됩니다.

 

 

REST API

모든 엔드포인트는 JSON 객체 또는 배열을 반환합니다. 데이터는 오름차순으로 반환됩니다. 가장 오래된 것이 먼저, 가장 새로운 것이 나중입니다.

 

Public API EndPoints

 

이러한 엔드포인트는 권한 부여 없이 접근할 수 있습니다.

 

General EndPoints

 

Method 매개변수 설명
Ping   Rest API에 대한 연결을 테스트합니다.
GetServerTime   Rest API에 대한 연결성을 테스트하고 현재 서버 시간을 가져옵니다.
GetExchangeInformation   현재 거래소 거래 규칙 및 심볼 정보

 

 

Market Data EndPoints

 

Method 매개변수 설명
GetOrderBook Symbol 호가창을 가져옵니다.
GetTrades Symbol 최근 거래를 가져옵니다
GetHistoricalTrades Symbol 이전 거래를 가져옵니다.
GetAggregateTrades Symbol 압축된 집계 거래를 가져옵니다. 동일한 주문에서 동일한 가격으로 동시에 체결되는 거래는 수량이 집계됩니다.
GetKLines Symbol, Interval 심볼에 대한 Kline/캔들스틱 바입니다. Klines는 open time으로 고유하게 식별됩니다.
Get24hrTicker Symbol 24시간 롤링 창 가격 변동 통계. 심볼 없이 이에 접근할 때는 주의하십시오.
GetPriceTicker Symbol 심볼 또는 심볼들의 최신 가격입니다.
GetBookTicker Symbol 심볼 또는 심볼들에 대한 오더북의 최적 가격/수량.
GetMarkPrice Symbol Mark Price 및 Funding Rate
GetFundingRateHistory Symbol  
GetOpenInterest Symbol 특정 심볼의 현재 미결제약정을 가져옵니다.
GetOpenInterestStatistics Symbol, Period  
GetTopTraderAccountRatio Symbol, Period  
GetTopTraderPositionRatio Symbol, Period  
GetGlobalAccountRatio Symbol, Period  
GetTakerVolume Symbol, Period
GetContinuousKLines Pair, ContractType, Interval 특정 계약 유형에 대한 Kline/캔들스틱 바입니다.
GetIndexPriceKLines Pair, Interval 페어의 인덱스 가격에 대한 Kline/캔들스틱 바입니다.
GetMarkPriceKLines Symbol, Interval 심볼의 mark price에 대한 Kline/캔들스틱 바입니다.
GetPremiumIndexKLines Symbol, Interval 심볼의 premium index kline 바입니다.
GetFundingInfo 모든 심볼에 대한 펀딩 비율 정보를 가져옵니다.
GetPriceTickerV2 Symbol 심볼 또는 심볼들의 최신 가격입니다(V2).
GetIndexInfo Symbol 인덱스 정보를 가져옵니다.
GetAssetIndex Symbol 멀티 에셋 모드의 자산 인덱스를 가져옵니다.
GetConstituents Symbol 인덱스 구성 종목을 가져옵니다.
GetDeliveryPrice Pair delivery price를 가져옵니다.
GetBasis Pair, ContractType, Period 기준 데이터를 가져옵니다.

 

 

Private API EndPoints

 

서버의 권한을 받으려면 APIKey와 APISecret이 필요합니다.

 

Account and Trades EndPoints

 

Method 매개변수 설명
ChangePositionMode DualPosition 모든 심볼에서 사용자의 포지션 모드(Hedge Mode 또는 One-way Mode)를 변경합니다
GetCurrentPositionMode   모든 심볼에서 사용자의 포지션 모드(Hedge Mode 또는 One-way Mode)를 가져옵니다
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 Symbol 주문의 상태를 확인합니다.
CancelOrder Symbol 활성 주문을 취소합니다. OrderId 또는 OrigClientOrderId 중 하나를 보내야 합니다.
CancelAllOpenOrders Symbol  
AutoCancelAllOpenOrders Symbol, CountDownTimer 지정된 카운트다운이 끝날 때 지정된 심볼의 모든 미체결 주문을 취소합니다.
QueryCurrentOpenOrder Symbol  
GetOpenOrders Symbol 심볼의 모든 미결제 주문을 가져옵니다. 심볼 없이 이에 접근할 때 주의하십시오.
GetAllOrders Symbol 모든 계정 주문을 가져옵니다. 활성, 취소됨 또는 체결됨.
GetAccountBalance    
GetAccountInformation   현재 계정 정보를 가져옵니다.
ChangeInitialLeverage Symbol, Leverage 특정 심볼 시장에 대한 사용자의 초기 레버리지를 변경합니다.
ChangeMarginType Symbol, MarginType  
ModifyIsolatedPositionMargin Symbol, Amount, Type  
GetPositionMarginChangeHistory Symbol  
GetPositionInformation Symbol  
GetAccountTradeList Symbol  
GetIncomeHistory Symbol  
GetNotionalLeverageBracket Symbol
TestNewOrder Symbol, Side, PositionSide, Type 새 주문 생성 및 signature/recvWindow long을 테스트합니다. 새 주문을 생성하고 검증하지만 매칭 엔진으로 보내지는 않습니다.
ModifyOrder Symbol 기존 주문 수정.
NewBatchOrders BatchOrders 여러 주문을 배치합니다.
ModifyBatchOrders BatchOrders 여러 주문을 수정합니다.
CancelBatchOrders Symbol 여러 주문을 취소합니다.
GetOrderAmendment Symbol 주문 수정 기록을 가져옵니다.
CountdownCancelAll Symbol, CountdownTime 지정된 카운트다운이 끝날 때 지정된 심볼의 모든 미체결 주문을 취소합니다.
GetForceOrders Symbol 사용자의 강제 청산 주문을 가져옵니다.
GetADLQuantile Symbol 포지션에 대한 ADL 분위수 추정값을 가져옵니다.
GetAccountBalanceV3 선물 계정 잔고를 가져옵니다(V3).
GetAccountInformationV3 현재 계정 정보를 가져옵니다(V3).
GetPositionInformationV3 Symbol 현재 포지션 정보를 가져옵니다(V3).
GetCommissionRate Symbol 사용자 수수료율을 가져옵니다.
GetAccountConfig 현재 계정 구성을 가져옵니다.
GetSymbolConfig Symbol 심볼 구성을 가져옵니다.
GetOrderRateLimit 사용자의 주문 rate limit을 가져옵니다.
GetApiTradingStatus Symbol API 거래 정량 규칙 지표를 가져옵니다.
ChangeMultiAssetsMode MultiAssetsMargin 사용자의 multi-assets 모드를 변경합니다. Multi-Assets Mode: true; Single-Asset Mode: false.
GetMultiAssetsMode 사용자의 현재 다중 자산 모드를 가져옵니다.
SetFeeBurn FeeBurn 사용자의 BNB fee burn 상태를 변경합니다.
GetFeeBurn 사용자의 BNB 수수료 소각 상태를 가져옵니다.
CreateListenKey 새 user data stream을 시작합니다. keepalive가 전송되지 않으면 60분 후에 스트림이 닫힙니다.
KeepAliveListenKey 타임아웃을 방지하기 위해 user data stream을 keepalive합니다.
CloseListenKey 사용자 데이터 스트림을 닫습니다.

 

 

 

Events

Binance Futures 메시지는 TsgcWebSocketClient 구성 요소에서 수신되며, 다음 이벤트를 사용할 수 있습니다.

 

OnConnect

Binance 서버에 성공적으로 연결된 후.

OnDisconnect

Binance 서버와의 연결이 끊긴 후

OnMessage

서버가 클라이언트에 보낸 메시지는 이 이벤트에서 처리됩니다.

OnError

프로토콜에 오류가 있으면 이 이벤트가 호출됩니다.

OnException

처리되지 않은 예외가 있으면 이 이벤트가 호출됩니다.

 

또한 Binance API 구성 요소에는 OnBinanceHTTPException이라는 특정 이벤트가 있으며, HTTP 요청(REST API 또는 WebSocket User Stream)을 호출하는 중 오류가 있을 때마다 발생합니다.

 

(*) Binance 서버의 변경으로 인해 Rad Studio 10.1 이전의 Indy 버전은 Test Server에 연결할 수 없습니다. 이 문제는 Enterprise Edition이나 Indy 버전이 최신으로 업그레이드된 경우에는 영향을 미치지 않습니다.