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

Birden fazla indikatör ile koşul oluşturmak

Soruldu
Görüntülenme
1.031 görüntülenme
Durum
Cevaplandı

Öncelikle iyi çalışmalar.

 

SuperTrend ve MACD indikatörlerini kullanarak bir strateji oluşturmak istiyorum.

SuperTrend "AL" verdiğinde beklesin MACD/TRİGER'i yukarı yönlü kestikten sonra alım yapsın.  Ya da koşulun tam tersi gerçekleşince Satış yapsın istiyorum.

 

Kendim "AND" ya da "OR" ile bağladığımda hangi koşul önce gerçekleşirse ona göre alım yapıyor. MACD/TRİGER kesiştiğinde SuperTrend'in al vermesini beklemiyor. Ya da tam tersi SuperTrend al verdiğinde MACD kesişimi beklemiyor.

 

Teşekkürler şimdiden desteğiniz için.

Paylaş
CevaplaBayrakladüzenlendi · SancakAzizSancakAziz14

1 Cevap

0

Merhabalar,

Kurgularken her iki indikatörün de onayını istediğinizden AND koşulu kullanmalısınız.

Bu sebeple de ya, "MACD/TRIGGER kesişimi ve SUPERTREND al versin" yapısını (aşağıda paylaşılmıştır.)

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
		{
			var barData1 = GetBarData(Symbol1, SymbolPeriod1);
			var ohlcData1 = GetSelectedValueFromBarData(barData1, OHLCType.Close);


			if (CrossAbove(macd, macd.MacdTrigger) && superTrend.Value[0][superTrend.CurrentIndex] < ohlcData1)
			{
				SendMarketOrder(Alış Koşulu);
				Debug("Alış Emri Gönderildi");
			}

			if (CrossBelow(macd, macd.MacdTrigger) && superTrend.Value[0][superTrend.CurrentIndex] > ohlcData1)
			{
				SendMarketOrder(Satış Koşulu);
				Debug("Satış Emri Gönderildi");
			}

Ya da "MACD al versin ve SUPERTREND bardatayı kessin" yapısını kullanmalısınız. (Aşağıda paylaşılmıştır.)

public override void OnDataUpdate(BarDataEventArgs barData)
		{
			var barData1 = GetBarData(Symbol1, SymbolPeriod1);

			if (CrossBelow(superTrend, barData1, OHLCType.Close, 0) && macd.Value[0][macd.CurrentIndex] > macd.Value[1][macd.CurrentIndex])
			{
				SendMarketOrder(Alış Koşulu);
			}
			if (CrossAbove(superTrend, barData1, OHLCType.Close, 0) && macd.Value[0][macd.CurrentIndex] < macd.Value[1][macd.CurrentIndex])
			{
				SendMarketOrder(Satış Koşulu);
			}

İyi çalışmalar.

BağlantıBayraklaasiyangMatriks Destek11.113

Cevabınız

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