Aşağıda sadece Hull MA kodu var ve bir önceki bar kapanış değerlerine göre Al-Sat veriyor.. Kaydırmaya örnek olsun diye 5 bar geriden gelen bir değişken(hmR) daha ekledim.. [i-1] bir önceki değeri ifade eder, [i-2] ile iki önceki değeri, vb. kullanabilirsiniz.
PHP Code:
var p = 50;
var k = Math.Floor(Math.Sqrt(p));
var C = Sistem.GrafikFiyatSec("Kapanis");
var MA = Sistem.MA(C, "Weighted", p);
var MA2 = Sistem.MA(C, "Weighted", p/2);
var a = Sistem.Liste(0);
for (int i = 1; i < Sistem.BarSayisi; i++){
a[i]=2*MA2[i]-MA[i];
}
var Hm=Sistem.MA(a, "Weighted", k);
var hmR = Sistem.Ref(Hm, -5);//5 bar geriden takip
var SonYon="";
float Fiyat = 0.0f;
for (int i = 1; i < Sistem.BarSayisi; i++){
//Aktif barda işlem yapmak için aşağıdaki [i-1] leri [i] yapmanız gerekir
if (C[i-1] > Hm[i-1] && SonYon != "A") // AL
{
SonYon = Sistem.Yon[i] = "A"; // alış
//Fiyat = C[i];
}
if (C[i-1] < Hm[i-1] && SonYon != "S") // SAT
{
SonYon = Sistem.Yon[i] = "S"; // satış
//Fiyat = C[i];
}
}
Sistem.GetiriHesapla("01/01/2018", 0.00);
// hesaplanan verileri çizgilere aktar
Sistem.Cizgiler[0].Deger = Hm;
Sistem.Cizgiler[0].Aciklama = "Hull MA " + p;
Sistem.Cizgiler[1].Deger = MA;
Sistem.Cizgiler[1].Aciklama = "wMA " + p;
Sistem.Cizgiler[2].Deger = hmR;
Sistem.Cizgiler[3].Deger = Sistem.GetiriKZ;
//Strateji
//Sistem.KesismeTara(C,Hm);
Yer İmleri