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

Kar al veya Zarar Kes Tetiklendiğinde If Koşulu Eklemek

Soruldu
Görüntülenme
1.163 görüntülenme
Durum
Cevaplandı
Merhaba,

Kar al veya Zarar Kes Tetiklendiğinde If Koşulu Eklemek mümkün müdür? Yani :

If (TakeProfit == True) gibi bir ifade yazamaz mıyız? Örnek bir kod paylaşabilir misiniz?
Paylaş

Yorumlar (1)

  • ▲0
    Konu ile ilgili bende takipteyim. Örnek olarak kademe boşluğundan ötürü tetiklenen stoplossu if else komutlarıyla tekrar sorguya sokabilir miyiz? Halen stoploss seviyesindeyse stop devreye girebilir şeklinde.

2 Cevap

1
Bahsettiğiniz konuya yakın olarak iki indikatörün kesişmesiyle stop olma koşulunu paylaşıyorum. Zannediyorum ki paylaştığım kod istediğinize göre evrilebilir.
 

public override void OnDataUpdate(BarDataEventArgs barData)

{

var barData1 = GetBarData(Symbol1, SymbolPeriod1);

var ohlcData1 = GetSelectedValueFromBarData(barData1, OHLCType.Close);

 

if ((CrossBelow(ema, sma, 0, 0) && superTrend.Value[0][superTrend.CurrentIndex] > ohlcData1)

||

(CrossBelow(ema, superTrend, 0, 0) && superTrend.Value[0][superTrend.CurrentIndex] > ohlcData1)

)

{

var portfoy = GetPortfolio();

var adet = portfoy.ContainsKey(Symbol1) ? portfoy[Symbol1] :0;

if (adet > 0)

{

SendMarketOrder(Symbol1, adet, OrderSide.Sell);

Debug("Pozisyon kapatıldı");

LastOrderSide.Obj = Side.All;

sentetikEmirdenMI = true;

}else if (adet < 0)

{

SendMarketOrder(Symbol1, Math.Abs(adet), OrderSide.Buy);

Debug("Pozisyon kapatıldı");

LastOrderSide.Obj = Side.All;

sentetikEmirdenMI = true;

}else

{

Debug("Pozisyon kapatma koşulu sağlandı ama elde pozisyon yok");

}

}

}
BağlantıBayraklaa.alpaslan41

Yorumlar (1)

1

Merhaba,

Sentetik emir tetiklenmesini OnSyntheticOrderTriggered() metodu ile aşağıdaki örnekte olduğu gibi yakalayıp sentetik emrin detaylarına ulaşabilirsiniz.

public override void OnDataUpdate(BarDataEventArgs barData)
{
	// Sentetik emir tetiklendiğinde pozisyon kapatır
	TakeProfit(Symbol1,SyntheticOrderPriceType.Percent,1,true);
	StopLoss(Symbol1,SyntheticOrderPriceType.Percent,1);
			
	// Sentetik emir tetiklendiğinde pozisyon KAPATILMAZ
	TakeProfit(Symbol1,SyntheticOrderPriceType.Percent,1,false);
}
		
public override void OnSyntheticOrderTriggered(SyntheticAlgoOrder sOrder){
	if(sOrder.EnableOrderSending){
		Debug("Sentetik emir tetiklendi emir gönderilecek");
				
		if(sOrder.SyntheticAlgoOrderType==SyntheticAlgoOrderType.TakeProfit){
			Debug("Kar al tetiklendii sembol: "+sOrder.Symbol+" seviye: "+sOrder.StopLevel);
		}
				
		if(sOrder.SyntheticAlgoOrderType==SyntheticAlgoOrderType.StopLoss){
			Debug("Zarar durdur tetiklendii sembol: "+sOrder.Symbol+" seviye: "+sOrder.StopLevel);
		}
        if(sOrder.SyntheticAlgoOrderType==SyntheticAlgoOrderType.TrailingStopLoss){
			Debug("İzsürenstop tetiklendii sembol: "+sOrder.Symbol+" seviye: "+sOrder.StopLevel);
		}
	}else{
		Debug("Sentetik emir tetiklendi emir GÖNDERİLMEYECEK");
	}
}

 

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

Yorumlar (1)

Cevabınız

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