Matriks Destek ve Yardım Platformu

Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. 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.

2

Gerçekleşmeyen emiri tekrar göndermek

Soruldu
Görüntülenme
1.578 görüntülenme
Durum
Çözüldü
Selamlar;

Peki emir gerçekleşmezse aynı emri gerçekleşene kadar göndermesi için nasıl bir ekleme yapmak gerekiyor?

Daha detaylı sormak gerekirse; Binance Futures'ta çift yönlü işlem yapıyorum ve OnDataUptade bölümünde Short ya da Long işlemde olup olmadığını  boolean ile kontrol ediyorum. Yani herhangi bir yönde işlem yaparken, stop olmadan ters yöne bir sinyal gelirse işleme girmemesini sağlıyorum. Örneğin, Long Alış Emri gönderilirse Long = true, Long Satış Emri gönderilirse Long = false olarak değişiyor. Buraya kadar bir problemim yok.

Fakat bazen, "Timestamp for this request was 1000ms ahead of the server's time" diye bir hata alıyorum ve gönderilen emir gerçekleşmiyor.  Emir gerçekleşmese de benim doğrulama durumum false'a döndüğü için pozisyon hala açık olsa da algoritma kapattığını zannediyor ve işler karışıyor.

Bu durumda, vermiş olduğunuz kodu yazdıktan sonra, nasıl bir kod eklemeliyim ki mevcut sembolün pozisyon bilgilerini çeksin ve pozisyonu kapatsın. Pozisyon bilgilerinin nasıl çekileceğini de forumlardan buldum ancak açık olan pozisyonu nasıl kapattırabileceğim ile ilgili bir şey bulamadım. Umarım derdimi anlatabilmişimdir.

İyi çalışmalar..
Paylaş

1 Cevap

3

Kabul edilen cevap

Merhaba,

İptal olana emri tekrar göndermek için aşağıdaki gibi bir yapı kurulabilir ancak şuna dikkat etmek gerekir üst üste çok emir göndermek Binance tarafından banlanmanıza sebep olabilir. Stratejiyi çalıştırırken Günlük Emir Gönderim Adedi belirlemeniz uygun olacaktır.

public override void OnOrderUpdate(IOrder order){

	if(order.OrdStatus.Obj== OrdStatus.Rejected){

		var adet=order.OrderQty;

		if(order.Side.Obj==Side.Buy){
			// Emirler sıralı gönderilmesi aktif ise tekrar alış göndermek için sıra değiştiriliyor.
			LastOrderSide.Obj=Side.Sell;
			SendMarketOrder(Symbol,adet,OrderSide.Buy);
			Debug("Alış emri tekrar gönderildi.");
		}else{
			LastOrderSide.Obj=Side.Buy;
			SendMarketOrder(Symbol,adet,OrderSide.Sell);
			Debug("Satış emri tekrar gönderildi.");
		}
	}

}

 

Unblocked Games offering a wide range of experiences: action, puzzle, platform, racing, clicker mechanics, strategy, sports, even horror.
https://unblocked1games.github.io
BağlantıBayrakladüzenlendi · pedherKripexMatriks Destek16.499

Cevabınız

Cevap yazmak için giriş yapın.Giriş yapKayıt ol