@BearBull26 Hocam merhaba,
Sizde de ayný sonuç çýkýyor,Ama grafikleri kontrol ettiðimde yukarý kesmemiþ gözüküyorlar.Misal resimde ki grafikte,DI minus yukarý kesmesineagmen sonuclarda çýkýyor.DI plus aþaðý kesmiþ.
Ek 20125
@BearBull26 Hocam merhaba,
Sizde de ayný sonuç çýkýyor,Ama grafikleri kontrol ettiðimde yukarý kesmemiþ gözüküyorlar.Misal resimde ki grafikte,DI minus yukarý kesmesineagmen sonuclarda çýkýyor.DI plus aþaðý kesmiþ.
Ek 20125
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
Sistem.SorguBaslik[0] = "Fiyat";
Sistem.SorguBaslik[1] = "DI+";
Sistem.SorguBaslik[2] = "DI-";
var DI_Plus = Sistem.DirectionalIndicatorPlus(V, 14);
var DI_Minus = Sistem.DirectionalIndicatorMinus(V, 14);
var Son_DI_Plus = DI_Plus[Sistem.BarSayisi-1];
var Son_DI_Minus = DI_Minus[Sistem.BarSayisi-1];
if ( Son_DI_Plus > 0 )
{
if ( Son_DI_Plus > Son_DI_Minus )
Sistem.SorguAciklama = "Yukarý Kesti";
else if ( Son_DI_Plus < Son_DI_Minus )
Sistem.SorguAciklama = "Aþaðý Kesti";
else
Sistem.SorguAciklama = " Tarama dýþý";
Sistem.SorguDeger[0] = Sistem.GrafikVerileri[Sistem.BarSayisi-1].Close;
Sistem.SorguDeger[1] = Son_DI_Plus ;
Sistem.SorguDeger[2] = Son_DI_Minus ;
Sistem.SorguEkle();
}
ayný formülü þimdi matrikste tarattým, bist100 de sadece flap ve Ieyho çýkýyor.Manuel Kontrollerde doðru..
O zaman aradýðýnýz bu ?
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
Sistem.SorguBaslik[0] = "Fiyat";
Sistem.SorguBaslik[1] = "DI+";
Sistem.SorguBaslik[2] = "DI-";
Sistem.SorguBaslik[3] = "ONCEKI DI+";
Sistem.SorguBaslik[4] = "ONCEKI DI-";
var DI_Plus = Sistem.DirectionalIndicatorPlus(V, 14);
var DI_Minus = Sistem.DirectionalIndicatorMinus(V, 14);
var Son_DI_Plus = DI_Plus[Sistem.BarSayisi-1];
var Son_DI_Minus = DI_Minus[Sistem.BarSayisi-1];
var Son1_DI_Plus = DI_Plus[Sistem.BarSayisi-2];
var Son1_DI_Minus = DI_Minus[Sistem.BarSayisi-2];
if ( Son_DI_Plus > 0 )
{
if ( Son1_DI_Plus < Son1_DI_Minus && Son_DI_Plus > Son_DI_Minus )
Sistem.SorguAciklama = "Yukarý Kesti ++";
else if ( Son1_DI_Plus > Son1_DI_Minus && Son_DI_Plus < Son_DI_Minus )
Sistem.SorguAciklama = "Aþaðý Kesti";
Sistem.SorguDeger[0] = Sistem.GrafikVerileri[Sistem.BarSayisi-1].Close;
Sistem.SorguDeger[1] = Son_DI_Plus ;
Sistem.SorguDeger[2] = Son_DI_Minus ;
Sistem.SorguDeger[3] = Son1_DI_Plus ;
Sistem.SorguDeger[4] = Son1_DI_Minus ;
Sistem.SorguEkle();
}
Sayýn ilker;
desteðiniz için teþekkürler.Fakat sizin formül taramasýnda bütün hisseler çýkýyor ve DI+'ýn aþaðýda mý yukarý da mý olduðunu gösteriyor.Tam izah edemedim sanýrým k.bakmayýn.Benim istediðim Son bar'da yukarý veya aþaðý kesen hisseleri bulmak.Son barda kesiþim olanlarý taramak istiyorum.Yani DI+ ,DI - yukarý kestiyse (YUKARI KESTÝ),Aþaðý kestiyse (AÞAÐI KESTÝ)þeklinde.Formülü sadece yukarý kesenler yapsam bile ,manuel kontrol ettiðimde hatalý gözüküyor.Ayný taramanýn sadece yukarý kesenlerini matrikste tarattýðýmda bist100' FLAP - IEYHO çýkýyor.Ama idelade krdmd toaso pgsus çýkýyor ki bunlar hatalý.Yorduðum için k.bakmayýn.
Aradýðýnýz bu muydu acaba ?
-----------------------------------------------
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
Sistem.SorguBaslik[0] = "Fiyat";
Sistem.SorguBaslik[1] = "ADX";
Sistem.SorguBaslik[2] = "AVR";
Sistem.SorguBaslik[3] = "ONCEKI ADX";
Sistem.SorguBaslik[4] = "ONCEKI AVR";
var ADX = Sistem.DirectionalMovement(14);
var AVR = Sistem.MA (ADX, "Simple", 10);
var Son_ADX = ADX[Sistem.BarSayisi-1];
var Son_AVR = AVR[Sistem.BarSayisi-1];
var Son1_ADX = ADX[Sistem.BarSayisi-2];
var Son1_AVR = AVR[Sistem.BarSayisi-2];
if ( ( Son1_ADX < Son1_AVR && Son_ADX > Son_AVR ) || ( Son1_ADX > Son1_AVR && Son_ADX < Son_AVR ) )
{
if ( Son1_ADX < Son1_AVR && Son_ADX > Son_AVR )
Sistem.SorguAciklama = "Yukarý Kesti +";
else if ( Son1_ADX > Son1_AVR && Son_ADX < Son_AVR )
Sistem.SorguAciklama = "Aþaðý Kesti";
Sistem.SorguDeger[0] = Sistem.GrafikVerileri[Sistem.BarSayisi-1].Close;
Sistem.SorguDeger[1] = Son_ADX ;
Sistem.SorguDeger[2] = Son_AVR ;
Sistem.SorguDeger[3] = Son1_ADX ;
Sistem.SorguDeger[4] = Son1_AVR ;
Sistem.SorguEkle();
}
------------------------------
Ilker hocam sanirim bu adx ve avr ile ilgili kesisim taramasi. Matriks kodu cross(PDI(14),MDI(14)) olani kisaca taramak istiyorum.ilk attigim formulde asagi kesen kismini silip taratsamda matriks ile ayni sonuc cikmiyor.
*
Herkese merhaba,
Sezai bey Sorunu çözdü.Yardimlarindan dolayi herkese tesekkur ederim.Sorunun sebebini baþka arkadaþlarda faydalansin diye alintilayarak yaziyorum.iyi forumlar..
("Sezai beyin mailinden alinti"
YukarýKestiyse ve AþaðýKestiyse fonksiyonlarý, al ve sat sinyalleri ürettirilen robotlarda da kullanýlýr diye, son barý kaale almadan hesap yapýp sonuç dönen fonksiyonlardýr.GÜNLÜK FLAP grafiðinden açýklamak gerekirse;
Aslýnda D+ 7 EYLÜLDE KESMÝÞ.
Çünkü 6 eylülde altýnda ama 7 eylülde üstünde kapatmýþ D- nin.
Ve fakat YukarýKestiyse fonksiyonu son bar kaale almayýp, ondan önceki iki barda kesiþme var mý diye bakýyor.
O yüzden de FLAP listede karþýmýzý çýkýyor.
Son barý da kaale alacak þekilde kesiþme için o komutlarý kullanmayý, bir bar önce altýndaydý, þimdiki barda üstünde anlamýna gele ifadeyle koþulu yazýn)
PHP Code:Sistem.SorguBaslik[0] = "Fiyat";
Sistem.SorguBaslik[1] = "DI+";
Sistem.SorguBaslik[2] = "DI-";
var C = Sistem.GrafikFiyatSec("Kapanis");
var DI_Plus = Sistem.DirectionalIndicatorPlus(14);
var DI_Minus = Sistem.DirectionalIndicatorMinus(14);
var Son = Sistem.BarSayisi-1;
if (DI_Plus[Son-1] < DI_Minus[Son-1] && DI_Plus[Son] >= DI_Minus[Son] )
{
Sistem.SorguDeger[0] = C[Sistem.BarSayisi-1];
Sistem.SorguDeger[1] = DI_Plus[Sistem.BarSayisi-1];
Sistem.SorguDeger[2] = DI_Minus[Sistem.BarSayisi-1];
Sistem.SorguAciklama = "Yukarý Kesti";
Sistem.SorguEkle();
}
Yer Ýmleri