Alıntı Originally Posted by Zülfü Aşkın Yazıyı Oku
Ichmoku İndikatörünün acık kodunu yazacak bir arkadaş var mı... Şimdiden teşekkürler..
int tenkansen = 9;
int kijunsen = 26;
int chikouspan = 26;
int senkouspan = 52;
int shift = 26;

var bars = Sistem.GrafikVerileri;
var ListeTENKANSEN = Sistem.Liste(0);
var ListeKIJUNSEN = Sistem.Liste(0);
var ListeCHIKOUSPAN = Sistem.Liste(0);
var ListeSENKOUSPANA = Sistem.Liste(0);
var ListeSENKOUSPANB = Sistem.Liste(0);


// TENKAN SEN
for (int i = tenkansen; i < bars.Count; i++)
{
var hhv = bars[i].High;
var llv = bars[i].Low;
for (int j = 1; j < tenkansen; j++)
{
int pos = i + j - tenkansen;
hhv = Math.Max(hhv, bars[pos].High);
llv = Math.Min(llv, bars[pos].Low);
}
ListeTENKANSEN[i] = (hhv + llv) / 2;
}


// KIJUN SEN
for (int i = kijunsen; i < bars.Count; i++)
{
var hhv = bars[i].High;
var llv = bars[i].Low;
for (int j = 1; j < kijunsen; j++)
{
int pos = i + j - kijunsen;
hhv = Math.Max(hhv, bars[pos].High);
llv = Math.Min(llv, bars[pos].Low);
}
ListeKIJUNSEN[i] = (hhv + llv) / 2;
}


// CHIKOU SPAN
for (int i = chikouspan; i < bars.Count; i++)
{
ListeCHIKOUSPAN[i-chikouspan+1] = bars[i].Close;
}
for (int i = bars.Count-chikouspan+1; i < bars.Count; i++)
{
ListeCHIKOUSPAN[i] = bars[bars.Count-1].Close;
}


// SENKOU SPAN A
for (int i = shift; i < bars.Count - shift; i++)
{
ListeSENKOUSPANA[i+shift] = (ListeTENKANSEN[i] + ListeKIJUNSEN[i]) / 2;
}

// SENKOU SPAN B
for (int i = senkouspan; i < bars.Count; i++)
{
var hhv = bars[i].High;
var llv = bars[i].Low;
for (int j = 1; j < senkouspan; j++)
{
int pos = i + j - senkouspan;
hhv = Math.Max(hhv, bars[pos].High);
llv = Math.Min(llv, bars[pos].Low);
}
ListeSENKOUSPANB[i] = (hhv + llv) / 2;
}
ListeSENKOUSPANB = Sistem.Ref(ListeSENKOUSPANB, -shift);



Sistem.Cizgiler[0].Deger = ListeTENKANSEN;
Sistem.Cizgiler[0].Aciklama = "TENKAN SEN";
Sistem.Cizgiler[1].Deger = ListeKIJUNSEN;
Sistem.Cizgiler[1].Aciklama = "KIJUN SEN";
Sistem.Cizgiler[2].Deger = ListeCHIKOUSPAN;
Sistem.Cizgiler[2].Aciklama = "CHIKOU SPAN";
Sistem.Cizgiler[3].Deger = ListeSENKOUSPANA;
Sistem.Cizgiler[3].Aciklama = "SENKOU SPAN A";
Sistem.Cizgiler[4].Deger = ListeSENKOUSPANB;
Sistem.Cizgiler[4].Aciklama = "SENKOU SPAN B";


// bölge renklendirme
var Renk1 = Sistem.Renk(100,255,0,0);
var Renk2 = Sistem.Renk(100,0,255,0);
Sistem.DolguEkle(3,4,Renk1,Renk2);