Bitmex | Emirler Nasıl Verilir
Bitmex REST API genel ve özel uç noktalar sunar. Özel uç noktalar, işlemlerin güvenliğini artırmak için mesajların imzalanmasını gerektirir.
Önce Bitmex hesabınızda oturum açmalı ve yeni bir API oluşturmalısınız, aşağıdaki değerleri alacaksınız:
Bu alanlar Bitmex API istemci bileşeninin Bitmex özelliğinde yapılandırılmalıdır. Yapılandırıldıktan sonra, Bitmex REST API'sine özel istekler yapmaya başlayabilirsiniz.
Emir Türleri
Tüm emirler bir sembol gerektirir. Aksi belirtilmedikçe diğer tüm alanlar isteğe bağlıdır.
Geçerli ordType'lar şunlardır:
- Limit: Varsayılan emir türü. Bir orderQty ve price belirtin.
- Market: Geleneksel bir Piyasa emri. Bir Piyasa emri, gerçekleşene veya iflas fiyatınıza ulaşana kadar yürütülür, bu noktada iptal edilir.
- Stop: Bir Stop Market emri. Bir orderQty ve stopPx belirtin. stopPx'e ulaşıldığında, emir deftere girilir.
- Satış emirlerinde, tetikleme fiyatı stopPx'ten düşükse emir tetiklenir. Alımlarda, daha yüksekse.
- Not: Stop emirleri tetiklenene kadar teminat tüketmez. Tam olarak tetiklenebilmesi için hesabınızda gerekli teminatın mevcut olduğundan emin olun.
- Close Stops bir orderQty gerektirmez. Aşağıdaki Yürütme Talimatlarına bakın.
- StopLimit: Bir Stop Market gibi, ancak Market emri yerine bir Limit emri girer. Bir orderQty, stopPx ve price belirtin.
- MarketIfTouched: Bir Stop'a benzer, ancak tetikleyiciler ters yönde yapılır. Take Profit emirleri için kullanışlıdır.
- LimitIfTouched: Yukarıdaki gibi; Take Profit Limit emirleri için kullanın.
- Pegged: Pegged emirleri, kullanıcıların mevcut piyasa fiyatına göre bir limit fiyat göndermesine olanak tanır. Bir pegPriceType ve pegOffsetValue belirtin.
- Pegged emirlerinin Fixed execInst'i olmalıdır. Bu, limit fiyatın emir kabul edildiği anda belirlendiği ve referans fiyat değiştikçe değişmediği anlamına gelir.
- PrimaryPeg: Fiyat, near touch fiyatına göre belirlenir.
- MarketPeg: Fiyat, far touch fiyatına göre belirlenir.
- ordType olmadan gönderilen bir pegPriceType, Pegged emir olarak ele alınır.
Execution Instructions
Aşağıdaki execInst'ler desteklenir. Birden çok kullanıyorsanız, virgülle ayırın (ör. LastPrice,Close).
- ParticipateDoNotInitiate: Post-Only emri olarak da bilinir. Bu emir yerleştirme sırasında gerçekleşecek olsaydı, bunun yerine iptal edilir. Bu, emir transit halindeyken karşı tarafın size doğru hareket etmesinden sizi korumayı amaçlar. Gönderimden sonra karşı tarafın uzaklaşması üzerine spekülasyon yapmak için tasarlanmamıştır - böyle bir davranışı suistimal olarak görüyoruz ve izliyoruz.
- MarkPrice, LastPrice, IndexPrice: Tetikleme fiyatını belirlemek için stop ve if-touched emirleri tarafından kullanılır. Yalnızca birini kullanın. Varsayılan olarak MarkPrice kullanılır. Ayrıca Pegged emirleri için LastPeg değerini tanımlamak üzere kullanılır.
- ReduceOnly: Bir ReduceOnly emri yalnızca pozisyonunuzu azaltabilir, artıramaz. Pozisyon diğer emirler tarafından azaltılırken emir defterinde duran bir ReduceOnly limit emriniz varsa, emir miktarı aşağı doğru değiştirilir veya iptal edilir. Birden fazla ReduceOnly emri varsa, en az agresif olanı önce değiştirilir.
- Close: Close, ReduceOnly anlamına gelir. Bir Close emri, açık miktar mevcut pozisyonu aşarsa aynı taraf ve sembole sahip diğer etkin limit emirlerini iptal eder. Bu, stop'lar için kullanışlıdır: bu emirler iptal edilerek, bir Close Stop'un yürütülmesi için gereken marjına sahip olması sağlanır ve yalnızca pozisyonunuzun tam boyutuna kadar yürütülebilir. orderQty belirtilmemişse, bir Close emrinin orderQty'si mevcut pozisyonunuzun boyutuna eşittir.
- orderQty olmayan bir Close emrinin, BitMEX'in stopPx'in üstünde mi yoksa altında mı tetiklemesi gerektiğini bilmesi için bir taraf gerektirdiğini unutmayın.
- LastWithinMark: LastPrice ile stop siparişleri tarafından, stop tetiklemelerine yalnızca şu durumlarda izin vermek için kullanılır:
- Sell Stop Market / Stop Limit Order için
- Last Price <= Stop Price
- Last Price >= Mark Price × (1 - 5%)
- Buy Stop Market / Stop Limit Order için:
- Last Price >= Stop Price
- Last Price <= Mark Price × (1 + 5%)
- Fixed: Sabitlenmiş emirlerin execInst değeri Fixed olmalıdır. Bu, limit fiyatının emrin kabul edildiği anda ayarlandığı ve referans fiyat değiştikçe değişmediği anlamına gelir.
Pegged Orders
Pegged emirler, kullanıcıların mevcut piyasa fiyatına göre bir limit fiyatı göndermesine olanak tanır. Limit fiyatı emir gönderildiğinde bir kez belirlenir ve referans fiyatla değişmez. Bu emir türü, gönderimden sonra uzak dokunuşun uzaklaşması üzerine spekülasyon yapmak için tasarlanmamıştır - böyle bir davranışı kötüye kullanım olarak görüyor ve buna karşı izliyoruz.
Pegged emirlerin ordType değeri Pegged ve execInst değeri Fixed'dir.
Bir pegPriceType ve pegOffsetValue de gönderilmelidir:
- PrimaryPeg - fiyat, near touch fiyatına göre ayarlanır
- MarketPeg - fiyat, uzak dokunma fiyatına göre ayarlanır
Trailing Stop Pegged Orders
Trailing Stop oluşturmak için TrailingStopPeg'in pegPriceType'ını kullanın.
Fiyat gönderimde ayarlanır ve temel fiyat (last/mark/index) %0.1'den fazla hareket etmişse saniyede bir kez güncellenir. stopPx daha sonra market peg'den uzaklaştıkça hareket eder ve market peg'e doğru hareket ettikçe donar.
Siparişinizin stopPx değerini ayarlamak için pegOffsetValue kullanın. Peg, execInst'te belirtilen tetikleme fiyatına ayarlanır (varsayılan MarkPrice). Stop-sell ve buy-if-touched siparişleri için negatif bir offset kullanın.
ordType gerektirir: Stop, StopLimit, MarketIfTouched, LimitIfTouched.
Trailing Stops
Trailing Stop'lar oluşturmak için 'TrailingStopPeg' pegPriceType'ını kullanabilirsiniz. Sabitlenmiş stopPx, piyasa peg'den uzaklaştıkça hareket eder ve piyasa ona doğru hareket ettikçe donar.
Kullanmak için, emrinizin stopPx değerini ayarlamak üzere pegOffsetValue ile birleştirin. Peg, execInst içinde belirtilen tetikleme fiyatına ayarlanır (varsayılan 'MarkPrice'). Stop-sell ve buy-if-touched emirleri için negatif bir offset kullanın.
ordType gerektirir: 'Stop', 'StopLimit', 'MarketIfTouched', 'LimitIfTouched'.
Emirlerinizi İzleme
Emir kimliklerini kendiniz takip etmek istiyorsanız, emir başına benzersiz bir clOrdID ayarlayın. Bu clOrdID, emirde ve ilgili herhangi bir yürütmede (WebSocket'te dahil) bir özellik olarak geri döner ve emri almak veya iptal etmek için kullanılabilir. Maksimum uzunluk 36 karakterdir.
Örnekler:
// buy market order
BITMEX.REST_API.PlaceMarketOrder(bmosBuy, 'XBTUSD', 100);
// sell limit order at 45000
BITMEX.REST_API.PlaceLimitOrder(bmosSell, 'XBTUSD', 100, 45000.00);
// stop order at 48000
BITMEX.REST_API.PlaceStopOrder(bmosSell, 'XBTUSD', 100, 48000.00);