Originally Posted by
atakanözbaki
************************************************** ********
// hesapla
var DEMA1 = Sistem.DEMA(5);
var DEMA2 = Sistem.DEMA(21);
// hesaplanan verileri çizgilere aktar
Sistem.Cizgiler[0].Deger = DEMA1;
Sistem.Cizgiler[1].Deger = DEMA2;
// sistem strateji
Sistem.KesismeTara(DEMA1, DEMA2);
// algo strateji
if (Sistem.YukariKestiyse(DEMA1, DEMA2)) // alış
Sistem.AlgoIslem = "A";
if (Sistem.AsagiKestiyse(DEMA1, DEMA2)) // satış
Sistem.AlgoIslem = "S";
// algo açıklama
Sistem.AlgoAciklama = "DEMA1=" + DEMA1[Sistem.BarSayisi-1].ToString("0.00") + " " +
"DEMA2=" + DEMA2[Sistem.BarSayisi-1].ToString("0.00");
************************************************** ***********
Erhan bey sizin yazdıgınız MA1-MA2 kesişimine benzer formülü idealin demosunda Dema5-Dema21kesişiminin formülünü çok sade yazmışlar. İf – Else fonksiyonu , for döngüsü, Sistem.GrafikVerileri, Sistem.GrafikFiyatSec("Kapanis" gibi verileri kullanmamışlar.
Sizin formüldeki çizgi çekme, kar zarar ekleme kalıplarını alıp formüle ekleyince ilaveler yaptım.
Gerek sizin formül olsun, gerekse idealdeki belirttiğim formül olsun buna bakarak kesisim, yada büyüktür – küçüktüre dayanan tek çizgili, iki çizgili bütün indikatörleri algo sisteme çevirebilirim.
Formülde kullanılan kalıpları sınıflandırıp, ne işe yaradıgını öğrenip arşive kaydedip daha sonra formülle ilave etmek istedigimde kullanırım.
İdeali böyle formülleri inceleye inceleye ögrenebiliriz sanırım.
// algo açıklama
Sistem.AlgoAciklama = "DEMA1=" + DEMA1[Sistem.BarSayisi-1].ToString("0.00") + " " +
"DEMA2=" + DEMA2[Sistem.BarSayisi-1].ToString("0.00");
Algo açıklama kalıbını mesela anlayamadım ne demek istiyor.