Sayin NUTCRACKER;
Suan robot kullanmiyorum cunku yeterli bilgiye sahip oldugumu dusunmuyorum forumu takip ediyorum ileriye donuk, ilgim suan hisse yonunde. Sistem benim olusturdugum bir sistem degil daha once forumda paylasilan bir sistem belki daha once gozden kacti bilemem bir sebepten ilgimi cekti ve VIOP'a uyguladim ve sadece belli bir optimize araliginda bu rakamlari veriyor diger turlu 1000'in uzerinde al-sat veriyor ama her turlu 60binli rakamlari buluyor komisyon ve kayma hesaba katilmadan.Sistemin optimize halini asagida bulabilirsiniz belki profesyonel arkadaslar yorum yapabilir kullanisli ise gelistirilebilir.Son ekran goruntusu de asagidadir saygilar.
var V =Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis") ;
var H = Sistem.GrafikFiyatOku(V, "Yuksek") ;
var L = Sistem.GrafikFiyatOku(V, "Dusuk") ;
var O = Sistem.GrafikFiyatOku(V, "Acilis") ;
var median = Sistem.GrafikFiyatOku(V, "OrtaNokta") ;
bool renkliciz = true;
var Renk1 = Sistem.Renk(238,130,238,0 );
var Renk2 = Sistem.Renk(255, 255,0,0);
var Renk3 = Sistem.Renk(255, 255,215,0);
int k=2;//0.5-10
int period = 6;
var refH = Sistem.Ref(H,-1);
var refL = Sistem.Ref(L,-1);
var ATR = Sistem.AverageTrueRange(2);
var ema = Sistem.MA(ATR,"Exp",k);
var Vs_raw = Sistem.Liste(0);
var HHV = Sistem.HHV(period,C);
var loline = Sistem.Liste(0);
var VS_below_price = Sistem.Liste(0);
for (int i = 1; i < V.Count; i++)
{
Vs_raw[i]=2.5f*ema[i];
VS_below_price[i]=HHV[i]-Vs_raw[i];
loline[i]= VS_below_price[i];
}
var LLV = Sistem.LLV(period,C);
var hiline = Sistem.Liste(0);
var VS_above_price =Sistem.Liste(0);
for (int i = 1; i < V.Count; i++)
{
VS_above_price[i]=LLV[i]+Vs_raw[i];
hiline[i]=VS_above_price[i];
}
var between = Sistem.Liste(0);
var up = Sistem.Liste(0);
var dn = Sistem.Liste(0);
for (int i = 1; i < V.Count; i++)
{
between[i]=C[i]<hiline[i] && C[i]>loline[i]?1:0;
up[i] = C[i]>hiline[i] || (H[i]>refH[i] && H[i]>hiline[i])?1:0;
dn[i] = C[i]<loline[i] || (L[i]<refL[i] && L[i]<loline[i])?1:0;
}
var Bars=Sistem.BarSayisi;
var snc =Sistem.Liste(0);
var snc2=Sistem.Liste(0);
var Value1 = Sistem.Liste(0);
var Value2 = Sistem.Liste(0);
for (int i = 1; i < Sistem.BarSayisi; i++)
{
if ( up[i]==1 ) snc[i]=0f;
else snc[i]=snc[i-1]+1;
if ( snc[i] < 1f ) Value1[i]=V[i].High;
else Value1[i]=Value1[i-1];
if ( dn[i]==1 ) snc2[i]=0f;
else snc2[i]=snc2[i-1]+1;
if ( snc2[i] < 1f ) Value2[i]=V[i].Low;
else Value2[i]=Value2[i-1];
}
var upcond = Sistem.Liste(0);
var dncond = Sistem.Liste(0);
var upline=Sistem.Liste(0);
var dnline = Sistem.Liste(0);
var uppoz = Sistem.Liste(0);
var dnneg = Sistem.Liste(0);
for (int i = 1; i < V.Count; i++)
{
//upcond = IIf(between AND BarsSince(up) < BarsSince(dn) , 1, 0);
//dncond = IIf(between AND BarsSince(dn) < BarsSince(up) , 1, 0);
//upline = IIf(up OR upcond, loline, Null);
//dnline = IIf(dn OR dncond, hiline, Null);
upcond[i] = between[i]==1 && snc[i]<snc2[i] ?1:0;
dncond[i] = between[i] ==1 && snc2[i]<snc[i]?1:0;
upline[i] = up[i]==1|| upcond[i]==1 ? loline[i]:0;
dnline[i] = dn[i]==1 || dncond[i]==1 ? hiline[i]:0 ;
if (renkliciz)
{
if (up[i]==1)
{
Sistem.YaziEkle(".",1,i,upline[i],Renk1,"Tahoma", 16);
}
else if (dn[i]==1)
{
Sistem.YaziEkle(".",1,i,dnline[i],Renk2,"Tahoma", 16);
}
else if (upline[i]==dnline[i])
{
Sistem.YaziEkle(".",1,i,C[i],Renk3,"Tahoma", 16);
}}}
// strateji
//Sistem.KesismeTara(upline, 50);
var SonYon = "";
for (int i = 1; i < Sistem.BarSayisi; i++)
{
if (upline[i-1] <= 50 && upline[i] > 50 && SonYon!="A")
{
Sistem.Yon[i] = "A"; // alış
SonYon="A";
}
else if (upline[i-1] >= 50 && upline[i] < 50 && SonYon!="S")
{
Sistem.Yon[i] = "S"; // satış
SonYon="S";
}
}
Sistem.Cizgiler[0].Deger = upline;
Sistem.Cizgiler[1].Deger = dnline;
Orjinal Kod linkleri eski forumdan:
http://www.hisse.net/forum/showthrea...2740&page=1109
http://www.hisse.net/forum/showthrea...2740&page=1110
Yer İmleri