0 beğenilme 0 beğenilmeme
262 kez görüntülendi
Merhaba, çalıştırdıgım algoritmamda binance tarafında küsüratlı lotların bazen iletilmedigini görüyorum.(Binance tarafından kaynaklı bir problem) Genelde virgülden sonra 6 basamaklı lotlar ile algoritma kuruyorum. Diyelim ki 6 basamaklı lotu iletilemedi ve ardından 5 küsüratlı lotu denemesi mümkün mü? sırayla azalmasını istiyorum, bunu kod kısmında nasıl yapabilirim?

İlgili bölümün kodu şu şekilde ;

alim = Math.Round(adets, 6);
Algoritmik Trading kategorisinde (61 puan) tarafından | 262 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

Aşağıdaki örnekte olduğu gibi GetSymbolDetail() fonksiyonu ile TradeFraction değerini alıp adet hesaplaması yapabilirsiniz.

Eğer bakiyeniz varsa bu şekilde gönderilen emirler iptal olmaz.

 

OnInit()

public override void OnInitComplated()
{
	var SymbolDetail = GetSymbolDetail(Symbol);
	MinSize = 1 / (decimal) Math.Pow(10, SymbolDetail.TradeFraction);
}

FX_Minsize fonksiyonu

public decimal FX_MinSize(decimal quantity)
{
	return Math.Truncate((quantity - (quantity % MinSize)) / MinSize) * MinSize;
}

Kullanımı

var formatlanmisAdet = FX_MinSize(adets);
SendMarketOrder(Symbol, formatlanmisAdet , (OrderSide.Buy));

 

(15,632 puan) tarafından
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.



7,631 soru
7,635 cevap
4,446 yorum
10,799 kullanıcı