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.

0

Stoploss olduktan sonra bar saydırma

Soruldu
Görüntülenme
1.410 görüntülenme
Durum
Çözüldü
Merhaba, stratejime stop loss olduysa 10 bar boyunca tekrar aynı yönde işlem açmasın komutunu eklemek istiyorum. Örnegin alım yaptı fakat stop oldu, stoptan sonraki 10 bar boyunca tekrar alım yönlü işlem yapmasın. Çünkü büyük düşüşlerde her barda işlem açıp stop oluyor, bu sayede sadece ilk barda stop olmasını ve bir süre işlem açmamasını sağlamak istiyorum. Bu şekilde stoploss olduktan sonraki bar sayısını nasıl saydırabilirim
Paylaş

1 Cevap

0

Kabul edilen cevap

Merhaba,

Sentetik emirler gerçekleştiğinde OnSyntheticOrderTriggered() methodu tetiklenmektedir.

OnSyntheticOrderTriggered() tetiklendiğinde aktif barın indeksi alınıp aşağıdaki örnekteki gibi OnDataUpdate() methodunda kontrol edilebilir.

Aşağıdaki yapı ile stoploss tetiklendiğinde andaki barın indeksini alıp 10 bar geçmesi kontrol edilmiştir..

 

int tetiklendigiBar=int.MinValue;

public override void OnDataUpdate(BarDataCurrentValues bd)
{
	// alış koşulu
	if (bd.LastUpdate.Close>bd.LastUpdate.Open && 
		bd.LastUpdate.BarDataIndex >= tetiklendigiBar + 10 &&
		LastOrderSide.Obj!=Side.Buy)
	{
		SendMarketOrder(Symbol,1,OrderSide.Buy);
		TrailingStopLoss(Symbol,SyntheticOrderPriceType.Percent,2);
	}

	// satış koşulu
	if (bd.LastUpdate.Close<bd.LastUpdate.Open && 
		LastOrderSide.Obj!=Side.Sell)
	{
		SendMarketOrder(Symbol,1,OrderSide.Sell);
		TrailingStopLoss(Symbol,SyntheticOrderPriceType.Percent,2);
	}	
}

public override void OnSyntheticOrderTriggered(SyntheticAlgoOrder sOrder)
{
	if (sOrder.EnableOrderSending && 
		sOrder.SyntheticAlgoOrderType == SyntheticAlgoOrderType.StopLoss)
	{
		var barDataModel = GetBarData();
		tetiklendigiBar = barDataModel.BarDataIndexer.LastBarIndex;
		Debug("Stoploss teteiklendi");
	}
}
		
public override void OnOrderUpdate(IOrder order){
	if(order.OrdStatus.Obj==OrdStatus.Filled){
		tetiklendigiBar=int.MinValue;
	}
}

 

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 · KripexKripexMatriks Destek16.499

Cevabınız

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