![Alıntı](images/misc/quote_icon.png)
Originally Posted by
coskunc
Belirli zaman aralığındaki HH LL değerlerini bulmak için bana kod örneğini sayın @Hector Salamanca
yazmıştı. Bunu uyarlayıp grafik üzerinde çizdirmek istedim. Ancak girilen aralığın tümündeki HH-LL değil de, aralığın son barındaki HH-LL değerini kullanıp devam ediyor, çözemedim. Nerede hata yapıyorum?
PHP Code:
var V = Sistem.GrafikVerileri;
//Zaman aralığındaki en Düşük ve En Yüksek değerleri Bulur
var Baslangic = "09:30";
var Bitis = "10:01";
var HH = Sistem.Liste(0);
var LL = Sistem.Liste(0);
//var liste = new List<float>();
for (int i=1; i < V.Count; i++)
{
if ( V[i].Date.ToString("HH:mm").CompareTo(Baslangic) >= 0
&& V[i].Date.ToString("HH:mm").CompareTo(Bitis) <= 0
)
{
LL[i] = (LL[i] ==0 ? V[i].Low : Math.Min(LL[i], V[i].Low ));
HH[i] = Math.Max(HH[i], V[i].High);
}
else
{
HH[i] = HH[i-1];
LL[i] = LL[i-1];
}
}
Sistem.Cizgiler[0].Deger = HH;
Sistem.Cizgiler[1].Deger = LL;
Ekran görüntüsünde, istediğim şey dörtgen içindeki HH-LL değerleri. Sistemin çizdiği ise aralıktaki son barın değerleri
![](https://i.hizliresim.com/HFsCfb.jpg)
Önceki talep de değişken yazdığı için son günün değerini hızlıca bulup değeri gösteriyordu.
grafikte liste olarak ihtiyaç var ise aşağıdaki şekilde kullanabilirsiniz.
PHP Code:
var V = Sistem.GrafikVerileri;
//Zaman aralığındaki en Düşük ve En Yüksek değerleri Bulur
var Baslangic = "09:30";
var Bitis = "10:01";
var SabahHH = 0f;
var SabahLL = 0f;
var HH = Sistem.Liste(0);
var LL = Sistem.Liste(0);
for (int i=1; i < V.Count; i++)
{
if (V[i].Date.Day != V[i-1].Date.Day)
{
SabahHH = 0f;
SabahLL = 0f;
}
if ( V[i].Date.ToString("HH:mm").CompareTo(Baslangic ) >= 0
&& V[i].Date.ToString("HH:mm").CompareTo(Bitis ) <= 0
)
{
SabahLL = (SabahLL ==0 ? V[i].Low : Math.Min(SabahLL, V[i].Low ));
SabahHH = Math.Max(SabahHH, V[i].High);
}
HH[i] = SabahHH;
LL[i] = SabahLL;
}
Sistem.Cizgiler[0].Deger = HH;
Sistem.Cizgiler[1].Deger = LL;
Yer İmleri