Pazartesi, Mart 05, 2018

4 indikatörlü listeleme örnegi

Bu sistem örnegine 4 indikatör kullanılarak listeleme yapılmıştır Liste oluşturma sistemlerde ciddi

başarılar saglamaktadır. Bu örneklerden faydalanarak kendinizde liste oluşturma çalışmaları yapınız

Ve sistem içinde sistem yazı ekle kullanılarak çizgi oluşturma kullanılmıştır örnek olarak inceleyebilirsiniz

bu sistemi yanlış hatıramıyorsan geçtimiz yılarda hissenet'te ufuuk hoca paylaşmıştı



 

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]loline[i]?1:0;
up[i] = C[i]>hiline[i] || (H[i]>refH[i] && H[i]>hiline[i])?1:0;
dn[i] = C[i]
}
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]
dncond[i] = between[i] ==1 && snc2[i]
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;

Hiç yorum yok:

Yorum Gönder

Rast gele yazılar

karışık yazılar