0 beğenilme 0 beğenilmeme
202 kez görüntülendi
Matriks IQ üzerinde belirli bir koşul gerçekleştiğinde belirlediğim indikatörün son x bardaki en yüksek veya en düşük değerini çekmek istiyorum.
Örneğin;

Kapanış verisi(close) <= en düşük değer (low) koşulu sağlandığında 10 barlık basit hareketli ortalamanın değerlerini saklasın. Bu sakladığı değerlerden son 5 barda oluşan en yüksek değerin çıktısını versin.

Bu kodu IQ için yazabilir miyiz?
Algoritmik Trading kategorisinde (41 puan) tarafından
tarafından yeniden gösterildi | 202 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

Aşağıdaki formülü inceleyebilrisiniz.

SMA sma;
HighestHigh highestHigh;
		
public override void OnInit()
{
	AddSymbol(Symbol, SymbolPeriod);
	sma=SMAIndicator(Symbol,SymbolPeriod,OHLCType.Close,10);
	highestHigh = HighestHighIndicator(sma,  5);
	SendOrderSequential(true);
	WorkWithPermanentSignal(true);		
}

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
	var bardatamodel=GetBarData();
	var kapanis=GetSelectedValueFromBarData(bardatamodel,OHLCType.Close);
	var dusuk=GetSelectedValueFromBarData(bardatamodel,OHLCType.Low);
			
	if(kapanis<=dusuk){
		Debug("koşul sağlandı son 5 bardaki en yüksek sma değeri: "+highestHigh.Value[0][highestHigh.CurrentIndex]);
	}
}

 

(16,179 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.



9,142 soru
9,098 cevap
5,026 yorum
27,849 kullanıcı