0 beğenilme 0 beğenilmeme
239 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 | 239 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,219 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,326 soru
9,281 cevap
5,070 yorum
32,737 kullanıcı