Arkadaþlar merhaba hazýr indikaatörleri kullanmadan kendi yazdýðý sistemlerle hatýrý sayýlýr gelir elde eden varmý indikatörler üzerinemi yoðunlaþalým yoksa yenisini mi yazmaya çalýþalým
Arkadaþlar merhaba hazýr indikaatörleri kullanmadan kendi yazdýðý sistemlerle hatýrý sayýlýr gelir elde eden varmý indikatörler üzerinemi yoðunlaþalým yoksa yenisini mi yazmaya çalýþalým
arkadaþlar bi sorum daha olacak hisse derinlik izlerken alan kýsmý tek kurum çok ise yükseliyor satan çok ise düþüyor yabancý kurumlarýn iþlemlerinde oluyor genelde mesela yapý kredi son 5 dakika alým hýzlý olduðu hisseler gibi sorgu kodunu nasýl yazabiliriz
Hocam indikatör normal çalýþýyor aslýnda , hiç bir sorun yok. Sadece ortalamasýný çizdirdiðimde saçmalýyor , sorun eksik veri olmasý mýdýr. Yukarýda orj yazan yer iþimi görmüyor , indikatör tanýmlamam lazým [emoji846]
Bu formülü deneyim akþam, bakalým olacak mý. Çok teþekkür ederim.
Arkadaþlar, ben bu iþe henüz baþladým. Bilgisayarý ancak bir sekreter seviyesinde kullanabiliyorum.
Bu halimle size talebe olmaya geldim.
Desteðinizi esirgemeyeceðinizden eminim.
Ýlk sorum...
Aþaðýdaki kodu çalýþtýrdýðýmda hareketli ortalamalarý ve MACD'a ait sayýsal deðerleri doðru olarak buluyor. Ancak hissenin grafiðine baktýðýmda özellikle MACD göstergesinin kriteri hiç dikkate alýnmamýþ gibi bazen öyle bazen böyle bulunuyor. Neden acaba? Nasýl düzeltebilirim?
Sistem.SorguBaslik[0] = "Kapanýþ";
Sistem.SorguOndalik[0] = 2;
Sistem.SorguBaslik[1] = "Mov 10";
Sistem.SorguBaslik[2] = "Mov 20";
Sistem.SorguBaslik[3] = "Mov 50";
Sistem.SorguBaslik[4] = "MACD 12";
Sistem.SorguBaslik[5] = "MACD 26";
var C = Sistem.GrafikFiyatSec("Kapanis");
var Mov10 = Sistem.MA(C,"Simple",10);
var Mov20 = Sistem.MA(C,"Simple",20);
var Mov50 = Sistem.MA(C,"Simple",50);
var MACD12 = Sistem.MA(C,"Exp",12);
var MACD26 = Sistem.MA(C,"Exp",26);
var son = Sistem.BarSayisi-1;
if (Mov20[son] > Mov10[son] && Mov10[son] > Mov50[son] && MACD12[son] > MACD26[son])
{
Sistem.SorguDeger[0] = C[son];
Sistem.SorguDeger[1] = Mov10[son];
Sistem.SorguDeger[2] = Mov20[son];
Sistem.SorguDeger[3] = Mov50[son];
Sistem.SorguDeger[4] = MACD12[son];
Sistem.SorguDeger[5] = MACD26[son];
Sistem.SorguAciklama = "KOD";
Sistem.SorguEkle();
}
Þimdiden teþekkür ederim.
Bu þekilde düzeltin olur sanýrým.
var MACD12 = Sistem.MACD(C,12,26);
var MACD26 = Sistem.MA(MACD12,"Exp",9);
bu yöntem de olabilir.
Yeni grafik açýn ---> Sað klik --> Ýndikatör Araç Kutusu --> MACD ve MA 10- 20 -50 ayrý ayrý ekleyin.
Tekrar sað klik ----> indikatör deðerleri sonuçlarý buradan kontrol edin.
Sn ideal yetkilileri
Kapanýþýn üst bolinger bandýný ve ayrý olarak
TKE nin ilk çizgisini cross eden sorgu örneði paylaþabilir misiniz?
Sn Özmen,
MACD, MA vs... Grafik paterni kaydetmeyi bile bilmiyordum ama merak ediyordum. Sayenizde öðrendim. Sað olun.
Sintaksa gelince...
var MACD12 = Sistem.MACD(C,12,26);
var MACD26 = Sistem.MA(MACD12,"Exp",9);
þeklindeki tavsiye ettiðiniz deðiþikliði aþaðýdaki gibi yaptým.
Doðru yapmýþ mýyým?
Çalýþtýrýnca bu þekliyle þu hata uyarýsý çýkmakta:
"ideal.cxSistem.MACD(System.Collections.Generic.Li st<ideal.cxBar>, object, object)' ile en iyi eþleþen tekrar yüklenen yöntem bazý geçersiz baðýmsýz deðiþkenlere sahip"
Sistem.SorguBaslik[0] = "Kapanýþ";
Sistem.SorguOndalik[0] = 2;
Sistem.SorguBaslik[1] = "Mov 10";
Sistem.SorguBaslik[2] = "Mov 20";
Sistem.SorguBaslik[3] = "Mov 50";
Sistem.SorguBaslik[4] = "MACD 12";
Sistem.SorguBaslik[5] = "MACD 26";
var C = Sistem.GrafikFiyatSec("Kapanis");
var Mov10 = Sistem.MA(C,"Simple",10);
var Mov20 = Sistem.MA(C,"Simple",20);
var Mov50 = Sistem.MA(C,"Simple",50);
var MACD12 = Sistem.MACD(C,12,26);
var MACD26 = Sistem.MA(MACD12,"Exp",9);
var son = Sistem.BarSayisi-1;
if (Mov20[son] > Mov10[son] && Mov10[son] > Mov50[son] && MACD12[son] > MACD26[son])
{
Sistem.SorguDeger[0] = C[son];
Sistem.SorguDeger[1] = Mov10[son];
Sistem.SorguDeger[2] = Mov20[son];
Sistem.SorguDeger[3] = Mov50[son];
Sistem.SorguDeger[4] = MACD12[son];
Sistem.SorguDeger[5] = MACD26[son];
Sistem.SorguAciklama = "KOD";
Sistem.SorguEkle();
}
Ýlk gönderdiðiniz sorgu kodunda MACD12 ve MACD26 yý EMA olarak tanýmlamýþsýnýz. Bende Bunun MACD indikatörü olduðunu varsayarak öneride bulundum. Kendim de denemedim.
Ýstediðiniz MACD indikatörünü kullanan sorgu ise aþaðýdaki gibi olabilir.
PHP Code:Sistem.SorguBaslik[0] = "Kapanýþ";
Sistem.SorguOndalik[0] = 2;
Sistem.SorguBaslik[1] = "Mov 10";
Sistem.SorguBaslik[2] = "Mov 20";
Sistem.SorguBaslik[3] = "Mov 50";
Sistem.SorguBaslik[4] = "MACD";
Sistem.SorguBaslik[5] = "ATR-9";
var Mov10 = Sistem.MA(10,"Exp","Kapanis");
var SMov10 = Mov10[Sistem.BarSayisi-1];
var Mov20 = Sistem.MA(20,"Exp","Kapanis");
var SMov20 = Mov20[Sistem.BarSayisi-1];
var Mov50 = Sistem.MA(50,"Exp","Kapanis");
var SMov50 = Mov50[Sistem.BarSayisi-1];
var MACD = Sistem.MACD(12,26);
var SMACD = MACD[Sistem.BarSayisi-1];
var ATR = Sistem.MA(MACD,"Exp",9);
var SATR = ATR[Sistem.BarSayisi-1];
// filtrele
{
Sistem.SorguDeger[0] = Sistem.GrafikVerileri[Sistem.BarSayisi-1].Close;
Sistem.SorguDeger[1] = SMov10;
Sistem.SorguDeger[2] = SMov20;
Sistem.SorguDeger[3] = SMov50;
Sistem.SorguDeger[4] = SMACD;
Sistem.SorguDeger[5] = SATR;
if (SMov20 > SMov10 && SMov10 > SMov50 && SMACD > SATR)
Sistem.SorguAciklama = "Aranan Hisse";
Sistem.SorguEkle();
}
Yer Ýmleri