Originally Posted by
incemera
Mrb,
c:\Users\hedef\AppData\Local\Temp\unndhul5.0.cs(53 ,8) : error CS0103: 'i' adı geçerli içerikte yok hatası veriyor.
El atabilecek var mıdır?
C[i] > Part3[i] && MCD[i] > MMCD[i] koşulunu saydırmak ve sayımın (sa[i] > sa[i-1) bir öncekinden büyük olmasını arıyorum.
//.................................................. ..........
Sistem.SorguAciklamaGenislik = 10;
Sistem.SorguBaslik[0] = "B";
Sistem.SorguBaslik[1] = "B1";
var C = Sistem.GrafikFiyatSec("Kapanis");
var HHV = Sistem.HHV(7, "Yuksek");
var LLV = Sistem.LLV(7, "Dusuk");
var MCD = Sistem.MACD(12, 26);
var MMCD = Sistem.MA(MCD, "Exp", 9);
var BarSayisi = Sistem.BarSayisi;
var Part1 = Sistem.Liste(BarSayisi , 0);
var Part2 = Sistem.Liste(BarSayisi , 0);
var Part3 = Sistem.Liste(BarSayisi , 0);
var Part4 = Sistem.Liste(BarSayisi , 0);
for (int i = 1; i < BarSayisi; i++)
{
Part1[i] = (HHV[i-1]);
Part2[i] = (LLV[i-1]);
Part3[i] = (Part1[i] + Part2[i])/2;
}
int sa=0;
{
for (int i = 1; i < BarSayisi; i++)
{
if ( C[i] > Part3[i] && MCD[i] > MMCD[i] ) sa++;
else break;
}
}
if( sa[i] > sa[i-1])
{
Sistem.SorguDeger[0] = sa[i];
Sistem.SorguDeger[1] = sa[i-1];
Sistem.SorguEkle();
}
sa liste değil, dolayısıyla sa[i] tarzında bir veri zaten olmaz burada.. Olsaydı bile i tanımlı olmadığından, sonuç kısmında o şekilde kullanamazdın..
Kodunu editledim, gereksiz bölümleri çıkarttım; incelersen söylediğim hatalı bölümlerin nasıl olması gerektiğini anlayabilirsin..
PHP Code:
var C = Sistem.GrafikFiyatSec("Kapanis");
var HHV = Sistem.HHV(7, "Yuksek");
var LLV = Sistem.LLV(7, "Dusuk");
var MCD = Sistem.MACD(12, 26);
var MMCD = Sistem.MA(MCD, "Exp", 9);
//sonuçlarda son bardaki değeri basitçe almak için "j" tanımlıyorum
var j = Sistem.BarSayisi-1;
var Part3 = Sistem.Liste(0);
var sa = Sistem.Liste(0); //sa yı liste yaptım ki her bar için değer tutsun
for (int i = 1; i < Sistem.BarSayisi; i++)
{
Part3[i] = (HHV[i-1]+LLV[i-1])/2;
if ( C[i] > Part3[i] && MCD[i] > MMCD[i] ) sa[i]=sa[i-1]+1;
else sa[i]=0;
//şartını sağlarsa 1 artar, sağlamıyorsa 0 a döner.. 0 yerine sa[i-1] koyarsan eski değerden devam eder mesela..
}
if( sa[j] > sa[j-1]) {
//başlıklar
Sistem.SorguAciklamaGenislik = 10;
Sistem.SorguBaslik[0] = "B";
Sistem.SorguBaslik[1] = "B1";
Sistem.SorguBaslik[2] = "Orta";
Sistem.SorguBaslik[3] = "Kapanış";
//sonuçlar
Sistem.SorguDeger[0] = sa[j]; //son bardaki sa değeri
Sistem.SorguDeger[1] = sa[j-1]; //sondan bir önceki barın sa değeri
Sistem.SorguDeger[2] = Part3[j];
Sistem.SorguDeger[3] = C[j];
Sistem.SorguEkle();
}
Yer İmleri