Kod:
//YGT:=0.6/100;//KYN:=Mov( (H+L+C)/3,3,E);
//AD:=If((KYN*(1-YGT))>PREV,KYN*(1-YGT),If((KYN*(1+YGT))<PREV,KYN*(1+YGT),PREV));
//BU:=0.05/100;
//SU:=Mov( (H+L+C)/3,3,E) ;
//DD:=If((SU*(1-BU))>PREV,SU*(1-BU),If((SU*(1+BU))<PREV,SU*(1+BU),PREV));
//Int(AD/0.025+0.50)*0.025;Int(DD/0.025+0.50)*0.025
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatSec("Kapanis");
var L = Sistem.GrafikFiyatSec("Dusuk");
var H = Sistem.GrafikFiyatSec("Yuksek");
var O = Sistem.GrafikFiyatSec("Acilis");
double ygt = 0.8f/100; // orjinal = 0.8
double bu = 0.2f/100; // orjinal = 0.2
var hlc = Sistem.Liste(0);
var ad = Sistem.Liste(0);
var dd = Sistem.Liste(0);
for (int i = 1; i < Sistem.BarSayisi; i++)
{
hlc[i] = (H[i] + L[i] + C[i]) / 3;
}
var kyn = Sistem.MA(hlc, "Exp", 3);
for (int i = 2; i < Sistem.BarSayisi; i++)
{
ad[i] = kyn[i] * (float)(1-ygt) > ad[i-1] ? kyn[i] * (float)(1-ygt) : kyn[i] * (float)(1+ygt) < ad[i-1] ? kyn[i] * (float)(1+ygt) : ad[i-1];
ad[i] = (int)(ad[i]/0.025f+0.5f)*0.025f;
dd[i] = kyn[i] * (float)(1-bu) > dd[i-1] ? kyn[i] * (float)(1-bu) : kyn[i] * (float)(1+bu) < dd[i-1] ? kyn[i] * (float)(1+bu) : dd[i-1];
dd[i] = (int)(dd[i]/0.025f+0.5f)*0.025f;
}
Sistem.Cizgiler[0].Deger = ad;
Sistem.Cizgiler[1].Deger = dd;
var SonYon = "";
var Sinyal = "";
for (int i=1; i < Sistem.BarSayisi; i++)
{
if (dd[i] > ad[i]) Sinyal = "A";
if (dd[i] < ad[i]) Sinyal = "F";
if (Sinyal != SonYon && Sinyal != "")
{
SonYon = Sinyal;
Sistem.Yon[i] = SonYon;
}
}
Originally Posted by
Noyan
YGT:=0.6/100;
KYN:=Mov( (H+L+C)/3,3,E);
AD:=If((KYN*(1-YGT))>PREV,KYN*(1-YGT),If((KYN*(1+YGT))<PREV,KYN*(1+YGT),PREV));
BU:=0.05/100;
SU:=Mov( (H+L+C)/3,3,E) ;
DD:=If((SU*(1-BU))>PREV,SU*(1-BU),If((SU*(1+BU))<PREV,SU*(1+BU),PREV));
Int(AD/0.025+0.50)*0.025;Int(DD/0.025+0.50)*0.025
İDEAL FORMÜLDEKİ HATA NEREDE....
//HATALI ...
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatSec("Kapanis");
var L = Sistem.GrafikFiyatSec("Dusuk");
var H = Sistem.GrafikFiyatSec("Yuksek");
var O = Sistem.GrafikFiyatSec("Acilis");
double ygt = 0.6/100; // orjinal = 0.8
double bu = 0.05/100; // orjinal = 0.2
var hlc = Sistem.Liste(0);
var ad = Sistem.Liste(0);
var dd = Sistem.Liste(0);
for (int i = 1; i < Sistem.BarSayisi; i++)
{
hlc[i] = (H[i] + L[i] + C[i]) / 3;
}
var kyn = Sistem.MA(hlc, "Exp", 3);
var su = Sistem.MA(hlc, "Exp", 3);
for (int i = 2; i < Sistem.BarSayisi; i++)
{
if (kyn[i] * (1-ygt) > ad[i-1] ) ad[i] = (float)Math.Round(kyn[i] * (1 - ygt), 2);
else if ( kyn[i] * (1+ygt) < ad[i-1] ) ad[i] = (float)Math.Round(kyn[i] * (1 - ygt), 2);
else ad[i] = ad[i-1];
if ( su[i] * (1-bu) > dd[i-1] ) dd[i] = (float)Math.Round(su[i] * (1 - bu), 2);
else if ( su[i] * (1 + bu) < dd[i-1] ) dd[i] = (float)Math.Round(su[i] * (1 + bu), 2);
else dd[i] = dd[i-1] ;
}
Sistem.Cizgiler[0].Deger = ad;
Sistem.Cizgiler[1].Deger = dd;
Yer İmleri