API Binance Futures

Binance

 

Binance, uluslararası çok dilli bir kripto para borsasıdır. Binance verilerine erişmek için bazı API'ler sunar. Bu bileşen, Binance Futures WebSocket Market Streams'i almanıza olanak tanır.

 

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

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

Futures Contracts

Binance API'sinin 2 tür yöntemi vardır: public ve private. Public yöntemlere kimlik doğrulama olmadan erişilebilir, örnek: ticker fiyatlarını al. Bazıları private ve kullanıcı verisiyle ilgilidir; bu yöntemler Binance API anahtarlarının kullanılmasını gerektirir.

 

 

İstemci, USDT veya COIN Binance Futures'a bağlanabilir, hangi sözleşme ile işlem yapmak istediğinizi FuturesContracts özelliğini kullanarak ayarlayın:

 

 

İstemci, Production veya Demo Binance hesaplarına bağlanabilir. TestNet özelliği etkinleştirilirse Demo hesabına bağlanır, aksi takdirde production Binance Sunucularına bağlanır.

 

 

WebSocket Stream API

İstemci, başarılı bir bağlantının ardından olaylara abone olabilir / aboneliği iptal edebilir.

Aşağıdaki Abonelik / Abonelikten Çıkma yöntemleri desteklenir.

 

Yöntem Parametreler Açıklama
AggregateTrades Symbol Aggregate Trade Streams, her 100 milisaniyede tek bir taker siparişi için toplanan işlem bilgilerini iletir.
MarkPrice Symbol, UpdateSpeed Tek bir sembol için mark fiyatı ve funding oranı her 3 saniyede bir veya her saniye gönderilir.
AllMarkPrice UpdateSpeed Tüm semboller için mark fiyatı ve funding oranı her 3 saniyede bir veya her saniye gönderilir.
KLine Symbol, Interval Kline/Candlestick Stream, geçerli kline'lara/candlestick'lere her 250 milisaniyede bir (mevcutsa) güncellemeler gönderir.
MiniTicker Symbol Tek bir sembol için 24 saatlik kayan pencere mini-ticker istatistikleri. Bunlar UTC gününün istatistikleri DEĞİLDİR, requestTime'dan 24 saat öncesine kadar olan 24 saatlik kayan bir penceredir.
AllMiniTicker   Tüm semboller için 24 saatlik kayan pencere mini-ticker istatistikleri. Bunlar UTC gününün istatistikleri DEĞİL, requestTime'dan 24 saat öncesine kadar olan 24 saatlik bir kayan penceredir. Dizide yalnızca değişen ticker'ların bulunacağını unutmayın.
Ticker Symbol Tek bir sembol için 24 saatlik kayan pencere ticker istatistikleri. Bunlar UTC gününün istatistikleri DEĞİLDİR, requestTime'dan 24 saat öncesine kadar uzanan 24 saatlik bir kayan penceredir.
AllMarketTickers   Tüm semboller için 24 saatlik dönen pencere ticker istatistikleri. Bunlar UTC gününün istatistikleri DEĞİLDİR, requestTime'dan 24 saat öncesine kadar 24 saatlik bir dönen penceredir. Dizide yalnızca değişmiş olan ticker'ların bulunacağını unutmayın.
BookTicker Symbol Belirli bir sembol için en iyi alış veya satış fiyatı ya da miktarındaki herhangi bir güncellemeyi gerçek zamanlı olarak gönderir.
AllBookTickers   Tüm semboller için en iyi alış veya satışın fiyatına veya miktarına yapılan herhangi bir güncellemeyi gerçek zamanlı olarak iletir.
LiquidationOrders Symbol Liquidation Order Stream'leri, belirli bir sembol için zorunlu tasfiye (force liquidation) emir bilgilerini iletir
AllLiquidationOrders   All Liquidation Order Streams, marketteki tüm semboller için zorla tasfiye emri bilgisini gönderir.
PartialBookDepth Symbol, Depth En iyi alış ve satışlar, Geçerli olanlar 5, 10 veya 20'dir.
DiffDepth Symbol Bid'ler ve ask'ler, varsa her 250 milisaniyede, 500 milisaniyede, 100 milisaniyede veya gerçek zamanlı olarak iletilir

 

Başarılı bir abonelik / abonelikten çıkma işleminden sonra, istemci bununla ilgili bir mesaj alır; burada id, Subscribed / Unsubscribed yönteminin sonucudur.

 


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

User Data Stream API

Binance hesabınızdan alınan geçerli bir ApiKey gerektirir ve ApiKey bileşenin Binance.ApiKey özelliğinde ayarlanmalıdır.

 

Her değişiklik olduğunda aşağıdaki veriler istemciye gönderilir. Herhangi bir yönteme abone olmaya gerek yoktur, geçerli bir ApiKey ayarlarsanız bu otomatik olarak yapılır.

 

Yöntem Açıklama
Margin Call Kullanıcının pozisyon risk oranı çok yüksek olduğunda, bu stream gönderilir. Bu mesaj yalnızca risk rehberlik bilgisi olarak kullanılır ve yatırım stratejileri için önerilmez. Son derece dalgalı bir piyasa durumunda, bu stream gönderildiğinde kullanıcının pozisyonunun aynı anda tasfiye edilmiş olma olasılığı olabilir.
Bakiye ve Pozisyon Güncellemesi

Balance Update aşağıdaki durumlarda gerçekleşir:

 

  • Bakiye veya pozisyon güncellendiğinde, bu olay gönderilir.
  • "FUNDING FEE" kullanıcının bakiyesinde değiştiğinde.
Order Update Yeni bir emir oluşturulduğunda, emir durumu değiştiğinde böyle bir olay gönderilir.

 

 

REST API

Tüm uç noktalar ya bir JSON nesnesi ya da dizi döndürür. Veri artan sırada döndürülür. En eski önce, en yeni sonra.

 

Public API EndPoints

 

Bu uç noktalara herhangi bir yetkilendirme olmadan erişilebilir.

 

General EndPoints

 

Yöntem Parametreler Açıklama
Ping   Rest API'ye bağlantıyı test edin.
GetServerTime   Rest API'ye bağlantıyı test edin ve geçerli sunucu zamanını alın.
GetExchangeInformation   Mevcut borsa işlem kuralları ve sembol bilgisi

 

 

Market Data EndPoints

 

Yöntem Parametreler Açıklama
GetOrderBook Symbol Emir Defterini Al.
GetTrades Symbol Son trade'leri alın
GetHistoricalTrades Symbol Daha eski işlemleri alın.
GetAggregateTrades Symbol Sıkıştırılmış, toplu işlemleri alın. Aynı emirden, aynı fiyatla, aynı anda gerçekleşen işlemlerin miktarı toplanır.
GetKLines Symbol, Interval Bir sembol için Kline/mum çubuğu çubukları. Kline'lar açılış zamanlarıyla benzersiz olarak tanımlanır.
Get24hrTicker Symbol 24 saatlik kayan pencere fiyat değişim istatistikleri. Buna sembol olmadan erişirken dikkatli olun.
GetPriceTicker Symbol Bir sembol veya semboller için en son fiyat.
GetBookTicker Symbol Bir sembol veya semboller için order book'ta en iyi fiyat/miktar.
GetMarkPrice Symbol Mark Price ve Funding Rate
GetFundingRateHistory Symbol  
GetOpenInterest Symbol Belirli bir sembolün mevcut açık ilgisini (open interest) alın.
GetOpenInterestStatistics Symbol, Period  
GetTopTraderAccountRatio Symbol, Period  
GetTopTraderPositionRatio Symbol, Period  
GetGlobalAccountRatio Symbol, Period  
GetTakerVolume Symbol, Period
GetContinuousKLines Pair, ContractType, Interval Belirli bir sözleşme türü için Kline/mum çubuğu çubukları.
GetIndexPriceKLines Pair, Interval Bir çiftin endeks fiyatı için Kline/mum çubuğu çubukları.
GetMarkPriceKLines Symbol, Interval Bir sembolün mark fiyatı için Kline/mum çubuğu çubukları.
GetPremiumIndexKLines Symbol, Interval Bir sembolün premium index kline çubukları (bar).
GetFundingInfo Tüm semboller için funding oranı bilgisini alın.
GetPriceTickerV2 Symbol Bir veya daha fazla sembol için en güncel fiyat (V2).
GetIndexInfo Symbol Index bilgisini alın.
GetAssetIndex Symbol Multi-assets modu için varlık endeksini alın.
GetConstituents Symbol Endeks bileşenlerini getirin.
GetDeliveryPrice Pair Teslim fiyatını alın.
GetBasis Pair, ContractType, Period Temel verileri alın.

 

 

Private API EndPoints

 

Sunucu tarafından yetkilendirilmek için bir APIKey ve APISecret gerektirir.

 

Account and Trades EndPoints

 

Yöntem Parametreler Açıklama
ChangePositionMode DualPosition HER sembolde kullanıcının pozisyon modunu değiştirin (Hedge Mode veya One-way Mode)
GetCurrentPositionMode   HER sembolde kullanıcının pozisyon modunu alın (Hedge Mode veya One-way Mode)
NewOrder Symbol, Side, PositionSide, Type Yeni bir emir gönderin.
PlaceMarketOrder Side, Symbol, Quantity  
PlaceLimitOrder Side, Symbol, Quantity, LimitPrice  
PlaceStopOrder Side, Symbol, Quantity, StopPrice, LimitPrice  
PlaceTrailingStopOrder Side, Symbol, Quantity, aActivationPrice, aCallbackRate  
QueryOrder Symbol Bir emrin durumunu kontrol eder.
CancelOrder Symbol Etkin bir emri iptal edin. OrderId veya OrigClientOrderId gönderilmelidir.
CancelAllOpenOrders Symbol  
AutoCancelAllOpenOrders Symbol, CountDownTimer Belirtilen geri sayımın sonunda belirtilen sembolün tüm açık emirlerini iptal edin.
QueryCurrentOpenOrder Symbol  
GetOpenOrders Symbol Bir sembol üzerindeki tüm açık emirleri alın. Sembol olmadan buna erişirken dikkatli olun.
GetAllOrders Symbol Tüm hesap emirlerini alın; etkin, iptal edilmiş veya doldurulmuş.
GetAccountBalance    
GetAccountInformation   Geçerli hesap bilgilerini alın.
ChangeInitialLeverage Symbol, Leverage Belirli bir sembol piyasasının kullanıcının başlangıç kaldıracını değiştirin.
ChangeMarginType Symbol, MarginType  
ModifyIsolatedPositionMargin Symbol, Amount, Type  
GetPositionMarginChangeHistory Symbol  
GetPositionInformation Symbol  
GetAccountTradeList Symbol  
GetIncomeHistory Symbol  
GetNotionalLeverageBracket Symbol
TestNewOrder Symbol, Side, PositionSide, Type Yeni emir oluşturmayı ve signature/recvWindow long'u test edin. Yeni bir emir oluşturur ve doğrular ancak eşleştirme motoruna göndermez.
ModifyOrder Symbol Mevcut bir siparişi değiştirin.
NewBatchOrders BatchOrders Birden çok emir verir.
ModifyBatchOrders BatchOrders Birden çok emri değiştirin.
CancelBatchOrders Symbol Birden çok emri iptal eder.
GetOrderAmendment Symbol Emir değişiklik geçmişini alın.
CountdownCancelAll Symbol, CountdownTime Belirtilen geri sayımın sonunda belirtilen sembolün tüm açık emirlerini iptal edin.
GetForceOrders Symbol Kullanıcının zorunlu likidasyon emirlerini alın.
GetADLQuantile Symbol Pozisyonlar için ADL quantile tahmini alın.
GetAccountBalanceV3 Futures hesap bakiyesini alın (V3).
GetAccountInformationV3 Geçerli hesap bilgilerini alın (V3).
GetPositionInformationV3 Symbol Mevcut pozisyon bilgilerini alın (V3).
GetCommissionRate Symbol Kullanıcı komisyon oranını alın.
GetAccountConfig Geçerli hesap yapılandırmasını alın.
GetSymbolConfig Symbol Sembol yapılandırmasını alın.
GetOrderRateLimit Kullanıcının emir hız sınırını alın.
GetApiTradingStatus Symbol API ticaret nicel kural göstergelerini alın.
ChangeMultiAssetsMode MultiAssetsMargin Kullanıcının çoklu varlık (multi-assets) modunu değiştirin. Çoklu Varlık Modu: true; Tek Varlık Modu: false.
GetMultiAssetsMode Kullanıcının mevcut çoklu varlık (multi-assets) modunu alın.
SetFeeBurn FeeBurn Kullanıcının BNB ücret yakma durumunu değiştirin.
GetFeeBurn Kullanıcının BNB ücret yakma durumunu alın.
CreateListenKey Yeni bir user data stream başlatın. Bir keepalive gönderilmedikçe akış 60 dakika sonra kapanır.
KeepAliveListenKey Zaman aşımını önlemek için bir kullanıcı veri akışını canlı tutun.
CloseListenKey Bir kullanıcı veri akışını kapatın.

 

 

 

Olaylar

Binance Futures Mesajları TsgcWebSocketClient bileşeninde alınır; aşağıdaki olayları kullanabilirsiniz:

 

OnConnect

Binance sunucusuna başarılı bir bağlantıdan sonra.

OnDisconnect

Binance sunucusundan bir bağlantı kesintisinden sonra

OnMessage

Sunucu tarafından istemciye gönderilen mesajlar bu olayda işlenir.

OnError

Protokolde herhangi bir hata varsa, bu olay çağrılır.

OnException

İşlenmeyen bir özel durum varsa, bu olay çağrılır.

 

Ayrıca, Binance API Bileşeninde, bir HTTP İsteği (REST API veya WebSocket User Stream) çağrılırken her hata olduğunda tetiklenen OnBinanceHTTPException adlı belirli bir olay vardır.

 

(*) Binance Sunucularındaki değişiklikler nedeniyle, Rad Studio 10.1'den önceki Indy sürümleri Test Sunucularına bağlanamayacaktır. Bu sorun Enterprise Edition'ı etkilemez veya Indy sürümü en sona yükseltildiyse.