EMA ya göre islem açan SuperTrend Sistemi. Kendiniz test ve kontrol edin.
PHP Code:
var V = Sistem.GrafikVerileri;
var Factor = 2.5f; // 1 - 100 arası
var Pd = 10; // 1 -100 arası
var EMA = Sistem.MA(Pd, "Exp", "Kapanis");
var atr = Sistem.AverageTrueRange(V, Pd);
var Up = Sistem.Liste(0);
var Dn = Sistem.Liste(0);
var TrendUp = Sistem.Liste(0);
var TrendDown = Sistem.Liste(0);
var Trend = Sistem.Liste(0);
var Tsl = Sistem.Liste(0);
var Sinyal = "";
var SonYon = "";
for (int i = 1; i < Sistem.BarSayisi; i++)
{
Up[i] = EMA[i] - (Factor * atr[i]);
Dn[i] = EMA[i] + (Factor * atr[i]);
TrendUp[i] = EMA[i-1] > TrendUp[i - 1] ? Math.Max(Up[i], TrendUp[i - 1]) : Up[i];
TrendDown[i] = EMA[i-1] < TrendDown[i - 1] ? Math.Min(Dn[i], TrendDown[i - 1]) : Dn[i];
Trend[i] = EMA[i] > TrendDown[i - 1] ? 1 : EMA[i] < TrendUp[i - 1] ? -1 : Trend[i - 1];
Tsl[i] = Trend[i] == 1 ? TrendUp[i] : TrendDown[i];
//Sinyal Oluşturma
if (EMA[i] > Tsl[i])
{
Sinyal = "A";
}
if (EMA[i] < Tsl[i])
{
Sinyal = "S";
}
//Sinyali Sistem Yonüne Aktarma
if(Sinyal !="" && SonYon != Sinyal)
{
Sistem.Yon[i] = Sinyal;
SonYon = Sinyal;
}
}
Sistem.GetiriHesapla("01/01/2000", 0f);
Sistem.Cizgiler[0].Deger = Tsl;
Sistem.Cizgiler[1].Deger = EMA;
Sistem.Cizgiler[2].Deger = Sistem.GetiriKZ;
Sistem.Cizgiler[0].Aciklama = "Tsl";
Sistem.Cizgiler[1].Aciklama = "EMA";
Sistem.Cizgiler[2].Aciklama = "GetiriKZ";
Yer İmleri