MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
252 kez görüntülendi

Ö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.

Algoritmik Trading kategorisinde (14 puan) tarafından
tarafından düzenlendi | 252 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

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.

(4,449 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.



5,178 soru
5,203 cevap
3,377 yorum
3,907 kullanıcı