Originally Posted by
atakanözbaki
Günlük periyodda sorguyu tariyorum.
Formülün içine
bu haftanın kapanışı > önceki haftanın kapanışı
şeklinde filtreye ihtiyacım var.
Grafikfiyatoku(Veriler,H, Kapanış) şeklinde kapanış verisini ancak haftalık periyodda taradığımda okuyor.
Günlük periyodda bunu nasıl yazmam lazımki tarama yapabilsin.
SM-A105F cihazımdan
hisse.net mobile app kullanarak gönderildi.
Kendinizin de söylediğiniz gibi,
"Günlük periyodda" tarattığınızda,
periyod belirtilmemiş değişkenler "Günlük periyot olarak varsayılır."
Sorgu, gösterge, sistem...
Çok zamanlı(MTF) veri ihtiyacınız varsa;
Alt periyottan(örneğin Günlük), üst periyottaki veriyi(örneğin Haftalık) periyot bilgisini girerek,
ve sonra Sistem.DonemCevir() fonksiyonunu kullanarak çağırabilirsiniz.
Kod:
var v=Sistem.GrafikVerileri;
var vH=Sistem.GrafikVerileriniOku(Sistem.Sembol, "H");
var hk=Sistem.GrafikFiyatOku(vH, "Kapanis");
hk=Sistem.DonemCevir(v,vH,hk);
Yukarıdaki örneği Haftalık ve altı periyotlardaki tarama kodunuzda kullanabilirsiniz.
EK: Biraz daha ayrıntılandıralım...
Kod:
var v=Sistem.GrafikVerileri;
var son=Sistem.BarSayisi-1;
var vH=Sistem.GrafikVerileriniOku(Sistem.Sembol, "H");
var fiyat=Sistem.GrafikFiyatSec("Kapanis");
var hk=Sistem.Ref(Sistem.GrafikFiyatOku(vH, "Kapanis"),-1);
hk=Sistem.DonemCevir(v,vH,hk);
if(fiyat[son]>hk[son])
{
Sistem.SorguEkle();
}
Şeklindeki bir kodu tarama için kullandığınızda...
Hangi periyotta tarama yaparsanız "O" nun kapanışı, "Geçen Haftanın Kapanışından" büyük olanları listeleyecektir.
Örneğin "60 DK" tararsanız, 60 DK.lık kapanışı baz alacaktır.
Ancak aşağıdaki örneği Günlük altı hangi periyodda tararsanız tarayın,
Günlük kapanışı(veya taradığınız andaki fiyat), geçen Haftanın kapanışından büyük olanları listeler:
Kod:
var v=Sistem.GrafikVerileri;
var son=Sistem.BarSayisi-1;
var vH=Sistem.GrafikVerileriniOku(Sistem.Sembol, "H");
var vG=Sistem.GrafikVerileriniOku(Sistem.Sembol, "G");
var hk=Sistem.Ref(Sistem.GrafikFiyatOku(vH, "Kapanis"),-1);
var gk=Sistem.GrafikFiyatOku(vG, "Kapanis");
hk=Sistem.DonemCevir(v,vH,hk);
gk=Sistem.DonemCevir(v,vG,gk);
if(gk[son]>hk[son])
{
Sistem.SorguEkle();
}
Yer İmleri