ilk yolladığım kodda değişiklik yapmışsınız ve ben farketmemişim.
if ( RSI[i-1] > 25 && RSI[i] < 25 && Sonyon == "A") {Sistem.Yon[i] = "F"; SonYon = "F"; }
sizin yazdığınız şekilde kullanmışım.
if (RSI[i-2] > 25 && RSI[i-1] < 25 && SonYon!= "A")
{
Sistem.Yon[i] = "F";
SonYon = Sistem.Yon[i];
}
bu şekilde değiştirip deneyin
var Veriler = Sistem.GrafikVerileri;
var RSI = Sistem.RSI(Veriler, 14);
var SonYon = "";
for (int i = 3; i < Veriler.Count; i++)
{
if (RSI[i-1] < 30 && RSI[i] >= 30 && SonYon!= "A")
{
Sistem.Yon[i] = "A";
SonYon = Sistem.Yon[i];
}
if (RSI[i-1] > 25 && RSI[i] < 25 && SonYon == "A")
{
Sistem.Yon[i] = "F";
SonYon = Sistem.Yon[i];
}
if (RSI[i-1] > 70 && RSI[i] < 70 && SonYon!= "S")
{
Sistem.Yon[i] = "S";
SonYon = Sistem.Yon[i];
}
}
Sistem.Cizgiler[0].Deger = RSI;
Sistem.Cizgiler[0].Aciklama = "RSI ";
http://BB26.16MB.com/20171130204033.png