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
Printable View
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();
}