API OKX

OKX

 

Desteklenen API'ler

 

Özellikler

WebSocket kanalları iki kategoriye ayrılır: public ve private kanallar.

 

 

OKX özelliğinde aşağıdaki özellikleri yapılandırabilirsiniz.

 

 

Connection

İstemci OKX sunucularına başarıyla bağlandığında, OnOKXConnect olayı tetiklenir. Bağlanmaya çalışırken herhangi bir hata varsa, OnOKXError olayı hata ayrıntılarıyla tetiklenir.

OnOKXConnect olayı tetiklendikten sonra, OKX sunucularından mesaj göndermeye ve almaya başlayabilirsiniz.

 


oClient := TsgcWebSocketClient.Create(nil);
oOKX := TsgcWSAPI_OKX.Create(nil);
oOKX.Client := oClient;
oOKX.OKX.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oOKX.OKX.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oOKX.OKX.Passphrase := 'secret_passphrase';
oClient.Active := True;
procedure OnOKXConnect(Sender: TObject; aMessage, aCode, aRawMessage: string);
begin
  DoLog('#OKX Connected');
end;
procedure OnOKXError(Sender: TObject; aCode, aMessage, aRawMessage: string);
begin
  DoLog('#error: ' + aMessage);
end;

Genel Kanallar

WebSocket beslemesi, emirler ve işlemler için gerçek zamanlı piyasa verisi güncellemeleri sağlar. WebSocket beslemesinin ticker, trades gibi bazı genel kanalları vardır...

 

Aşağıdaki Genel kanallara abone olabilirsiniz:

 

Yöntem Açıklama
SubscribeInstruments Tam enstrüman listesi, abonelikten sonra ilk kez gönderilecektir. Sonrasında, enstrümanlar, enstrümanın durumunda herhangi bir değişiklik olursa (FUTURES teslimi, OPTION uygulanması, yeni sözleşmelerin / işlem çiftlerinin listelenmesi, işlem askıya alınması vb. gibi) gönderilecektir.
SubscribeTicker Araçların son işlem fiyatını, alış fiyatını, satış fiyatını ve 24 saatlik işlem hacmini alın. Veriler her 100 ms'de bir iletilir.
SubscribeOpenInterest Açık ilgiyi alın. Veriler her 3 saniyede bir gönderilir.
SubscribeCandlestick Bir enstrümanın mum çubuğu verilerini alın. Gönderim sıklığı, verileri gönderen en hızlı aralık olan 500 ms'dir.
SubscribeTrades Son işlem (trade) verilerini alın. Bir işlem gerçekleştiğinde veriler iletilir.
SubscribeEstimatedPrices

VADELİ İŞLEM sözleşmelerinin ve OPSİYONun tahmini teslim/uygulama fiyatını alın.

Yalnızca tahmini teslim/uygulama fiyatı teslim/uygulamadan bir saat önce gönderilecek ve herhangi bir fiyat değişikliği olursa gönderilecektir.

SubscribeMarkPrice Mark price'ı alın. Veriler, mark price değiştiğinde her 200 ms'de bir ve mark price değişmediğinde her 10 saniyede bir gönderilir.
SubscribeMarkPriceCandlestick Mark price'ın mum verilerini alın. Veriler her 500 ms'de bir gönderilir.
SubscribePriceLimit Enstrümanın maksimum alış fiyatını ve minimum satış fiyatını alın. Limitlerde değişiklik olduğunda veri her 5 saniyede bir gönderilir ve limitte değişiklik olmadığında gönderilmez.
SubscribeOrderBook

Emir defteri (order book) verisini alın.

400 derinlik seviyesi için books, 5 derinlik seviyesi için book5, tik-tik 1 derinlik seviyesi için bbo-tbt, tik-tik 50 derinlik seviyesi için books50-l2-tbt ve tik-tik 400 derinlik seviyesi için books-l2-tbt kullanın.

  • books: İlk tam anlık görüntüde 400 derinlik seviyesi gönderilir. Emir defterinde değişiklik olduğunda her 100 ms'de bir artımlı veri gönderilir.
  • books5: Her seferinde 5 derinlik seviyesi gönderilir. Emir defterinde değişiklik olduğunda her 100 ms'de bir veri gönderilir.
  • bbo-tbt: Her seferinde 1 derinlik seviyesi gönderilir. Emir defterinde değişiklik olduğunda her 10 ms'de bir veri gönderilir.
  • books-l2-tbt: İlk tam anlık görüntüde 400 derinlik seviyesi gönderilir. Emir defterinde değişiklik olduğunda her 10 ms'de bir artımlı veri gönderilir.
  • books50-l2-tbt: İlk tam anlık görüntüde 50 derinlik seviyesi gönderilir. Emir defterinde değişiklik olduğunda her 10 ms'de bir artımlı veri gönderilir. asks veya bids boş bir diziyse, bu 50 derinlik yerine 400 derinlikte değişiklikler olduğu anlamına gelir. Emir defteri verilerini yerel olarak tutuyorsanız, lütfen boş asks ve bids'i yok sayın.
SubscribeOptionSummary Tüm OPTION sözleşmelerinin ayrıntılı fiyatlandırma bilgilerini alın. Veriler tek seferde gönderilecektir.
SubscribeFundingRate Fonlama oranını alın. Veri 30s ila 90s içinde gönderilir.
SubscribeIndexCandlestick Endeksin mum çubuğu verilerini alın. Veriler her 500 ms'de bir gönderilecektir.
SubscribeIndexTicker Index ticker verilerini alın
SubscribeStatus Sistem bakımının durumunu alın ve sistem bakım durumu değiştiğinde gönderin. İlk abonelik: "En son değişiklik verisini gönder"; her durum değişikliği olduğunda, değiştirilen içeriği gönder
SubscribePublicStructureBlockTrades Bir blok işlem olduğunda veri iletilecektir.
SubscribeBlockTickers Son 24 saatteki en son blok ticaret hacmini alın. Veriler, işlem yürütme olayıyla tetiklendiğinde gönderilir. Ayrıca abonelik ayrıntı düzeyine göre 5 dakikalık aralıklarla da gönderilir.
SubscribeAllTrades Tüm trade verilerini alın. Bir trade olduğunda veri iletilecektir.
SubscribeLiquidationOrders Liquidation siparişlerini alın. Bir liquidation siparişi olduğunda veri iletilecektir.
SubscribeADLWarning ADL uyarı verilerini alın. Otomatik kaldıraç azaltma (auto-deleveraging) riski arttığında veri gönderilir.
SubscribeEconomicCalendar Ekonomik takvim olaylarını alın. Ekonomik olaylarda güncellemeler olduğunda veri iletilecektir.
SubscribePublicBlockTrades Public block trade'leri alın. Bir block trade olduğunda veri gönderilir.
SubscribeOptionTrades Opsiyon işlem verilerini alın. Bir opsiyon işlemi olduğunda veri gönderilir.
SubscribeCallAuctionDetails Açık artırma çağrısı ayrıntılarını alın. Açık artırma çağrısı bilgilerinde güncellemeler olduğunda veriler gönderilir.

 


oClient := TsgcWebSocketClient.Create(nil);
oOKX := TsgcWSAPI_OKX.Create(nil);
oOKX.Client := oClient;
oOKX.OKX.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oOKX.OKX.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oOKX.OKX.Passphrase := 'secret_passphrase';
oClient.Active := True;
procedure OnOKXConnect(Sender: TObject; aMessage, aCode, aRawMessage: string);
begin
  oOKX.SubscribeInstruments(okxitFutures);
end;

Private Channels

Hesap kanalı, emir kanalı ve pozisyon kanalı vb. dahil -- oturum açmayı gerektirir.

 

Aşağıdaki Özel kanallara abone olabilirsiniz:

 

Yöntem Açıklama
SubscribeAccount Hesap bilgilerini alın. Emir verme, emir iptal etme, işlem yürütme vb. olaylar tarafından tetiklendiğinde veriler iletilecektir. Ayrıca abonelik ayrıntı düzeyine göre düzenli aralıklarla da iletilecektir.
SubscribePositions Pozisyon bilgisini alın. İlk anlık görüntü, abonelik ayrıntı düzeyine göre iletilir. Veri, emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde iletilir ve ayrıca abonelik ayrıntı düzeyine göre düzenli aralıklarla da iletilir.
SubscribeBalanceAndPosition Hesap bakiyesi ve pozisyon bilgisini alın. Veri, gerçekleşmiş emir, fonlama transferi gibi olaylar tarafından tetiklendiğinde iletilir.
SubscribeOrders Emir bilgilerini alın. İlk abone olunduğunda veri gönderilmez. Veri yalnızca emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde gönderilir.
SubscribeOrdersAlgo Algo emirlerini alır (trigger order, oco order, conditional order dahil). Veri ilk abone olunduğunda gönderilmez. Veri yalnızca emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde gönderilir.
SubscribeAdvanceAlgo

Gelişmiş algo emirlerini alın (Iceberg emri, TWAP emri, Trailing emri dahil). İlk abone olunduğunda veri gönderilir. Emir verme/iptal etme gibi olaylar tetiklendiğinde veri gönderilir.

SubscribePositionRisk Bu push kanalı yalnızca bir risk uyarısı olarak kullanılır ve stratejik ticaret için bir risk değerlendirmesi olarak önerilmez.
Piyasanın şiddetli hareket etmediği durumda, bu mesaj gönderildiği anda pozisyonun tasfiye edilmiş olma olasılığı olabilir.
SubscribeAccountGreeks Hesap greeks bilgilerini alın. Veri, hesaptaki pozisyonların artması/azalması veya nakit bakiyesi gibi olaylar tetiklendiğinde gönderilir ve ayrıca abonelik ayrıntı düzeyine göre düzenli aralıklarla da gönderilir.
SubscribeRfqs Rfq'ları alın.
SubscribeQuotes

Kotaları alın.

SubscribePrivateStructureBlockTrades Structure Block Trades alın.
SubscribeSpotGridAlgoOrders Spot grid algo emirlerini alın. Veriler ilk abone olunduğunda iletilir. Veriler, emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde iletilir.
SubscribeContactGridAlgoOrders Sözleşme grid algo emirlerini alır. Veri ilk abone olunduğunda gönderilir. Veri, emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde gönderilir.
SubscribeGridPositions Grid pozisyonlarını alır. Veri ilk abone olunduğunda gönderilir. Veri, emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde gönderilir.
SubscribeGridSubOrders Grid alt emirlerini alır. Veri ilk abone olunduğunda gönderilir. Veri, emir verme gibi olaylar tarafından tetiklendiğinde gönderilir.
SubscribeFills Doldurulmuş emir verilerini alın. Veriler bir emir doldurulduğunda gönderilir.
SubscribeDepositInfo Para yatırma bilgilerini alın. Bir para yatırma durumu güncellemesi olduğunda veriler iletilecektir.
SubscribeWithdrawalInfo Çekim (withdrawal) bilgilerini alın. Bir çekim durumu güncellemesi olduğunda veri gönderilir.

oClient := TsgcWebSocketClient.Create(nil);
oOKX := TsgcWSAPI_OKX.Create(nil);
oOKX.Client := oClient;
oOKX.OKX.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oOKX.OKX.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oOKX.OKX.Passphrase := 'secret_passphrase';
oClient.Active := True;
procedure OnOKXConnect(Sender: TObject; aMessage, aCode, aRawMessage: string);
begin
  oOKX.SubscribeOrders(okxitFutures, 'BTC-USD', 'BTC-USD-200329');
end;

 

Trading

WebSocket Trade, Authentication gerektirir.

 

Yalnızca yeterli paranız varsa bir sipariş verebilirsiniz. İstek parametrelerini içeren bir tabloyu aşağıda bulun:

 

Parameter Type Gerekli Açıklama
id String Evet Mesajın benzersiz tanımlayıcısı
İstemci tarafından sağlanır. İlgili isteği tanımlamak için yanıt mesajında döndürülür.
Büyük/küçük harfe duyarlı alfanümeriklerin, tüm sayıların veya tüm harflerin en fazla 32 karakterlik bir kombinasyonu.
> instId String Evet Enstrüman Kimliği, ör. BTC-USD-190927-5000-C
> tdMode String Evet İşlem modu
Margin modu isolated cross
Margin olmayan mod cash
> ccy String Hayır Marj para birimi
Yalnızca Single-currency margin içindeki cross MARGIN emirleri için geçerlidir.
> clOrdId String Hayır İstemci tarafından sağlanan emir ID'si
Büyük/küçük harfe duyarlı alfasayısalların, tüm sayıların veya 32 karaktere kadar tüm harflerin bir kombinasyonu.
> tag String Hayır Emir etiketi
Büyük/küçük harfe duyarlı alfasayısal karakterler, tamamı sayı veya tamamı harf, en fazla 16 karakter olabilir.
> tarafı String Evet Emir yönü, buy sell
> posSide String İsteğe bağlı Pozisyon yönü
 net modunda varsayılan net 'tir
 long/short modunda gereklidir ve yalnızca long veya short olabilir.
Yalnızca FUTURES/SWAP için geçerlidir.
> ordType String Evet Emir türü
market: piyasa emri
limit: limit emri
post_only: Yalnızca-gönderme (post-only) emri
fok: Doldur-veya-iptal et (fill-or-kill) emri
ioc: Hemen-veya-iptal et (immediate-or-cancel) emri
optimal_limit_ioc :Hemen-veya-iptal et emirli piyasa emri
> sz String Evet Alınacak veya satılacak miktar.
> px String İsteğe bağlı Price
Yalnızca limit,post_only,fok,ioc emri için geçerlidir.
> reduceOnly Boolean Hayır Pozisyonun yalnızca azaltılıp azaltılmayacağı, true false, varsayılan false'tur.
Yalnızca MARGIN emirlerine ve net modundaki FUTURES/SWAP emirlerine uygulanabilir
Yalnızca Single-currency margin ve Multi-currency margin için uygulanabilir
> tgtCcy String Hayır Miktar türü
base_ccy: Temel para birimi ,quote_ccy: Teklif para birimi
Yalnızca Piyasa emriyle işlem gören SPOT için uygulanabilir
Varsayılan, alış için quote_ccy , satış için base_ccy şeklindedir
> banAmend Boolean Hayır Spot emir değiştirmenin yasaklanıp yasaklanmayacağı, true veya false, varsayılan false'tur.
banAmend true olduğunda bakiye yeterli değilse emir vermede başarısız olur. Yalnızca SPOT market emri için geçerlidir

 

 

Emir Verme Örneği

 

Yalnızca yeterli paranız varsa bir emir verebilirsiniz.


// Place Martket Order
TsgcWSAPI_OKX1.PlaceMarketOrder(okxosBuy, 'ETH-BTC', 1);
// Place Limit Order
TsgcWSAPI_OKX1.PlaceLimitOrder(okxosBuy, 'ETH-BTC', 1, 0.25);

 

Emir İptal Örneği

 

Tamamlanmamış bir emri iptal eder


TsgcWSAPI_OKX1.CancelOrder('ETH-BTC', '457589362405027840');

 

Amend Order

 

Tamamlanmamış bir emri değiştirin.


TsgcWSAPI_OKX1.AmendOrder('ETH-BTC', '457589362405027840', '', 2);

Toplu (Batch) İşlem İşlemleri

WebSocket Trade API ayrıca aynı anda birden fazla emir verme, iptal etme ve değiştirme için toplu işlemleri de destekler. Bu işlemler Authentication gerektirir.

Yöntem Açıklama
BatchPlaceOrders Tek bir istekte birden fazla emir verin. Aynı anda en fazla 20 emir verilebilir.
BatchCancelOrders Tek bir istekte birden fazla emri iptal edin. Bir seferde en fazla 20 emir iptal edilebilir.
BatchAmendOrders Tek bir istekte birden çok tamamlanmamış emri değiştirin. Bir seferde en fazla 20 emir değiştirilebilir.
MassCancelOrders Belirli bir araç türü için bekleyen tüm emirleri toplu olarak iptal edin.