VALUEWHEN komutunun IQ'daki karşığı nedir ?
- Soruldu
- Kategori
- Indikator Builder
- Görüntülenme
- 2.392 görüntülenme
- Durum
- Çözüldü
teşekkürler.
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.
Kabul edilen cevap
Merhaba,
VALUEWHEN fonksiyonuna karşılık gelecek kod parçacığı aşağıdaki gibidir.
public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
/*
d1 := valuewhen( 2,
cross(most(c, 3, 2),mov(c, 3, e)),
C
)
*/
if (CrossAbove(most, most.ExMOV))
{
CalculateValueWhen(barDataCurrentValues.LastUpdate.BarDataIndex, barDataCurrentValues.LastUpdate.Close);
SendMarketOrder(Symbol, BuyOrderQuantity, OrderSide.Buy);
Debug("Alış Emri Gönderildi");
}
var d1 = GetValueWhen(2);
Debug(d1);
}
int valueWhenIndex = 0;
List<decimal> valueWhenList = new List<decimal>();
private void CalculateValueWhen(int bardataIndex, decimal data)
{
if (valueWhenIndex != bardataIndex)
{
valueWhenList.Add(data);
valueWhenIndex = bardataIndex;
}
}
private decimal GetValueWhen(int period)
{
if (valueWhenList.Count >= period)
{
return valueWhenList[valueWhenList.Count - period];
}
else return 0;
}
eğer ki en son kesişimdeki(sadece kesişim olmasına gerek yok en son koşul sağlandığında) datayı almak istiyorsanız daha kolayı var ama 2,3 ... kesişimdeki datayı almak isterseniz yukarıdaki yapıyı kullanmalısınız.
X:= OTTSup(C,OPT1,OPT2,VAR);
Y:= OTT(C,OPT1,OPT2);
A:=CROSS(X,Y);
k1:=valuewhen(1.,A,l);
yukarıdaki matriks kodundaki gibi en son ott kesişimindeki datayı almak isterseniz aşağıdaki örneği kullanabilirsiniz.
if (CrossAbove(ott, ott, 1, 0))
{
k1 = barDataCurrentValues.LastUpdate.Low;
}
İlginiz için teşekkür ederim. Sevgiler...
Sitenin çalışması için gerekli çerezleri kullanıyoruz. Ziyaretleri anlamak için analitik çerezleri yalnızca onayınızla kullanırız. Çerez Politikası
Hocam sadece kesişim anındaki kapanış datasını almak bu kadar uzun olmamalı.