Alıntı Originally Posted by alekss Yazıyı Oku
var V =Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis") ;
var H = Sistem.GrafikFiyatOku(V, "Yuksek") ;
var L = Sistem.GrafikFiyatOku(V, "Dusuk") ;
var O = Sistem.GrafikFiyatOku(V, "Acilis") ;
var B2 = Sistem.GrafikVerileriniOku(Sistem.Sembol, "5");
var C2 = Sistem.GrafikFiyatOku(B2,"Kapanis");
var adx5 = Sistem.ADX(B2, 8);
var adxx = Sistem.DonemCevir(V, B2, adx5);
var MA2 = Sistem.MA(C2, "Exp", 21);
var MA2D = Sistem.DonemCevir(V, B2, MA2);

var MA = Sistem.MA(21,"Exp","Kapanis");

var ADX = Sistem.ADX(8);

var a = Sistem.Liste(0);
var RenkListesi = new List<Color>(new Color[Sistem.BarSayisi]);

for (int i =1; i < Sistem.BarSayisi; i++)
{
if (ADX [i] >= 25)
{
a[i] = MA[i] ;
RenkListesi[i] = Color.Green;
}
else if (ADX [i] < 25 && ADX [i] >15 )
{
a[i] = MA[i] ;
RenkListesi[i] = Color.Red;
}
else if (ADX [i] < 15)

{
a[i] = MA[i] ;
RenkListesi[i] = Color.Yellow;
}
}

var b = Sistem.Liste(0);
//var RenkListesi = new List<Color>(new Color[Sistem.BarSayisi]);
for (int i = 1; i < B2.Count; i++)
{
if (adxx [i] >= 25)
{
b[i] = MA2D [i] ;
RenkListesi[i] = Color.Green;
}
else if (adxx [i] < 25 && adxx [i] >15 )
{
b[i] = MA2D [i] ;
RenkListesi[i] = Color.Red;
}
else if (adxx [i] < 15)

{
b[i] = MA2D [i] ;
RenkListesi[i] = Color.Yellow;
}
}
Sistem.Cizgiler[5].Deger = b;
Sistem.Cizgiler[0].Deger = a;
Sistem.Cizgiler[0].RenkListesi = RenkListesi;
Sistem.Cizgiler[5].RenkListesi = RenkListesi;

------------------------------
yukarıdaki formulde 1 dakikalık ma 21 in adx 25 in alktındayken renki görünmesini yapabiliyor
ancak
aynı grafikte 5 dk lık ma 21 inde 5 dakikalık adx 25 altındayken renkli görünmesini yapamadım
acaba nerede hata yapıyorum , yardımcı olabilecek arkadaşlara şimdiden teşekkürler
Aynı ceketi 2 farklı kişiye giydirmeye çalışıyorsun.. Bir tane RenkListesi tanımlamışsın.. Koddaki gereksiz yerleri de sildim bu arada, zaten tanımlamış olduğun hareketli ortalamaları yeniden a ve b ye doldurmana gerek yok.. Ayrıca 2 ma ayırt etmek için üst periyot olana artışta yeşil değil mavi tanımladım.

PHP Code:
var =Sistem.GrafikVerileri ;
var 
Sistem.GrafikFiyatOku(V"Kapanis") ;

var 
B2 Sistem.GrafikVerileriniOku(Sistem.Sembol"15");
var 
C2 Sistem.GrafikFiyatOku(B2,"Kapanis");
var 
adx5 Sistem.ADX(B28);
var 
adxx Sistem.DonemCevir(VB2adx5);
var 
MA2 Sistem.MA(C2"Exp"21);
var 
MA2D Sistem.DonemCevir(VB2MA2);

var 
MA Sistem.MA(21,"Exp","Kapanis");
var 
ADX Sistem.ADX(8);


var 
RenkListesi = new List<Color>(new Color[Sistem.BarSayisi]);
var 
RenkListesi2 = new List<Color>(new Color[Sistem.BarSayisi]);

for (
int i =100Sistem.BarSayisii++)
{
if (
ADX [i] >= 25RenkListesi[i] = Color.Green;
else if (
ADX [i] < 25 && ADX [i] >15 RenkListesi[i] = Color.Red;
else if (
ADX [i] < 15RenkListesi[i] = Color.Yellow;

if (
adxx [i] >= 25RenkListesi2[i] = Color.Blue;
else if (
adxx [i] < 25 && adxx [i] >15 RenkListesi2[i] = Color.Red;
else if (
adxx [i] < 15RenkListesi2[i] = Color.Yellow;
}

Sistem.Cizgiler[0].Deger MA;
Sistem.Cizgiler[0].RenkListesi RenkListesi;
Sistem.Cizgiler[1].Deger MA2D;
Sistem.Cizgiler[1].RenkListesi RenkListesi2