toplam işlem sayısını 1200 gösteriyor.. flat olmadan long short oluyor..
yani bu birleşik sistem getiri eğrisine bu durumda 0.03 mü yazmam gerekiyor.. çok değil mi :(
nasıl para kazanıcaz :)
Printable View
1 kademe al da =0.01
1 kademe satta =0.01
1 kademe komisyon +bsmv vs =0.01
Bunlar minumum kayma ve komisyonlar. Al-satta daha fazla kayma yaşanabilir. Sığ hisseler olursa daha fazla olabilir.Hisse de Fiyatlar 20 - 50 olunca kademe aralığı da dahada genişlemektedir. 0.02 - 0.05 - gibi aralıga geçmektedir.
Bütün maliyetleri düştükten sonra kar eden sistem bulunması gerekir. Yoksa çok işlem yapan sistem aracı kuruma çalışır.
teşekkürler.. aslında ilk mesajında da gayet açıkmış fakat ben anlamak istemedim sanırım.. kurguladığım sistem dediğin şekilde çöp oluyor :)
0.02 her bir işlemde düşmem gerekecek.
işin içine girdikçe boğuluyor insan.. halbuki ilk programı kurup bakındığımda zengin oldum demiştim :kmk:
iyi akşamlar arkadaşlar şu kodu idealde yazabilirmiyiz,
Ref(RSI(14),-1)>Trough(1,RSI(14),.8) AND Ref(CLOSE,-1)<Trough(1,CLOSE,.2)
var A1 = Sistem.MA(50, "Simple", "Kapanis");
var A2 = Sistem.MA(100, "Simple", "Kapanis");
var SonYon = "";
for (int i = 1; i < Sistem.BarSayisi; i++)
{
if (A1[i] > A2[i] && SonYon != "A")
{
Sistem.Yon[i] = "A";
SonYon = Sistem.Yon[i];
}
else if (A1[i] < A2[i] && SonYon != "S")
{
Sistem.Yon[i] = "S";
SonYon = Sistem.Yon[i];
}
}
Sistem.GetiriHesapla("01/01/2010", 0.00); //Belli bir tarihten itibaren Getiri eğirisi çizdirilir, işlemlerde 0 puan kayma dikkate alınır.
Sistem.Cizgiler[0].Deger = A1;
Sistem.Cizgiler[1].Deger = A2;
Sistem.Cizgiler[2].Deger = Sistem.GetiriKZ;
Sistem.Cizgiler[3].Deger = Sistem.GetiriMiktar;
Sistem.Cizgiler[4].Deger = Sistem.GetiriPozisyon;
bu getiri eğrini nereye eklemem gerekir sistem de en alta yapıstırınca çalışmıyor yardımcı olabilecek varmıdır?
Selam buradaki hata nereden kaynaklanıyor bir fikri olan var mı? Sanırım pivot3 ve pivot4 de bir hata var ama ne yapacağımı bulamadım...
// kapanış fiyatlarını oku
var C = Sistem.GrafikFiyatSec("Kapanis");
var L = Sistem.GrafikFiyatSec("Dusuk");
var H = Sistem.GrafikFiyatSec("Yuksek");
// hareketli ortalamaları hesapla
var MA1 = Sistem.MA(C, "Exp", 3);
var MA2 = Sistem.MA(C, "Exp", 9);
var MA3 = Sistem.MA(C, "Exp", 15);
var ADX = Sistem.ADX(15);
var pivot1 = Sistem.Liste(0);
var pivot2 = Sistem.Liste(0);
var pivot3 = Sistem.Liste(0);
var pivot4 = Sistem.Liste(0);
// strateji
var SonYon = "";
for (int i = 1; i<Sistem.BarSayisi; i++)
{
if (MA1[i] < MA1[i-1] && MA1[i-1] > MA1[i-2]) pivot1[i] = MA2[i];
else pivot1[i] = pivot1[i-1];
if (MA1[i] > MA1[i-1] && MA1[i-2] > MA1[i-1]) pivot2[i] = MA3[i];
else pivot2[i] = pivot2[i-1];
if (MA1[i] > pivot2[i] && MA1[i-1] < pivot2[i] && SonYon != "A") // AL
//if (MA1[i] > MA3[i] && SonYon != "A") // AL
{
Sistem.Yon[i] = SonYon = "A"; // alış
}
else if (MA1[i] < pivot1[i] && MA1[i-1] > pivot1[i] && SonYon != "F") // SAT
//else if (MA1[i] < MA2[i] && SonYon != "S") // SAT
{
Sistem.Yon[i] = SonYon = "F"; // satış
}
pivot3[i] = pivot1[i] + pivot1[i]*1/100
pivot4[i] = pivot2[i] + pivot2[i]*1/100
Sistem.Cizgiler[0].Deger = MA1;
Sistem.Cizgiler[1].Deger = MA2;
Sistem.Cizgiler[2].Deger = MA3;
Sistem.Cizgiler[3].Deger = ADX;
Sistem.Cizgiler[4].Deger = pivot1;
Sistem.Cizgiler[5].Deger = pivot2;
Sistem.Cizgiler[6].Deger = pivot3;
Sistem.Cizgiler[7].Deger = pivot4;
}