Örnek sistemimizde 2 adet ema ortalama kullanulmıştır
fiyat 2 adet ema ortalamanın üzerindeyse veya altındaysa ve macd kesisim gerçekleştiyse
sinyal oluşturuyor Degerleri kendinize göre optumize edebilirsiniz
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
var EMA = Sistem.MA(C, "Exp", 52);
var EMA2 = Sistem.MA(C, "Exp", 26);
var MACD = Sistem.MACD(12, 26);
var SIGNAL = Sistem.MA(MACD, "Exp", 26);
var HISTOGRAM = Sistem.Liste(0);
var EMA3 = Sistem.Volume();
for (var i = 1; i < V.Count; i++)
HISTOGRAM[i] = MACD[i] - SIGNAL[i];
// strateji
var SonYon = "";
for (int i = 1; i < V.Count; i++)
{
if (SonYon != "A" && EMA[i] > EMA[i - 1] && EMA2[i] > EMA2[i - 1] && MACD[i] > SIGNAL[i]) // Alış
{
Sistem.Yon[i] = "A";
SonYon = Sistem.Yon[i];
}
else if (SonYon != "S" && EMA[i] < EMA[i - 1] && EMA2[i] < EMA2[i - 1] && MACD[i] < SIGNAL[i]) // Satış
{
Sistem.Yon[i] = "S";
SonYon = Sistem.Yon[i];
}
}
Sistem.GetiriHesapla("02/01/2006", 0.00 );
var KarZarar = Sistem.GetiriKZ;
// çizdir
Sistem.Cizgiler[0].Deger = MACD;
Sistem.Cizgiler[1].Deger = SIGNAL;
Sistem.Cizgiler[2].Deger = HISTOGRAM;
Sistem.Cizgiler[3].Deger = EMA;
Sistem.Cizgiler[4].Deger = EMA2;
Sistem.Cizgiler[5].Deger = KarZarar;
Sistem.Cizgiler[6].Deger = EMA3;
Hiç yorum yok:
Yorum Gönder