0 beğenilme 0 beğenilmeme
829 kez görüntülendi

Merhaba,

eğitim videolarından anladığım kadarı ile matriks explorer FİLTRE formullerinin gerçekleşip gerçekleşmediğini SON BAR'a bakarak kontrol ediyor ve ona göre sonuç üretiyor.

Benim ihtiyacım olan ise herhangi bir filtre formulünün son 40 gün içerisinde (herhangi bir zamanda) olumlu sonuç verip vermediğini bulmak.

Aşağıdaki formulü eğitim videolarından aldım. bu formulü son 40 gün içerisinde herhangi bir zaman sinyal veren hisseleri göstermesi için nasıl modifiye edebilirim ? (Formülün gerçek hayatta kullanılabilir olması önemli değildir, geçmişe yönelik barları taramaya nasıl dahil edebileceğimi bulmaya çalışıyorum)

Ancak tekrar belirtmek isterim.. 40 gün önce sinyal veren hisseler değil. taramanın yapıldığı gün (örneğin bugün) bu sinyali verenler, 3 gün önce verenler, geçen hafta, geçen ay... son 40 gün içerisinde herhangi bir zamanda bu sinyali vermiş olanları listelemek istiyorum.

(explorer tarama ekranında "son tarih" seçeneği var, bu seçenek benim istediğimi yapmıyor)

Örneğin hisse 32 gün önce sinyali vermiştir ve artık bugün bu sinyali vermiyordur ama ben bu hissenin adını sonuçlarda görmek istiyorum.

(bunu manuel yapmak istersem formulü 40 defa değiştirip -1, -2,-3...-40 değerleri ile teker teker çalıştırmam ve hepsinin sonuçlarını tek bir tabloda birleştirmekle uğraşmam gerekir. en küçük bir değişikliği, bir denemeyi, bir farklılığı bu yöntemle yapıp denemem günler alır. Bir çeşit for-next döngüsüne ihtiyacım olduğunu düşünüyorum)

eğer aşağıdaki kod bloğunu düzenleyebilirseniz benim de elimde nasıl yapıldığına ilişkin karşılatırmalı bir örnek olur ve bu noktadan sonra devam edebilirim.

İlginize teşekür ederim..


DÜŞENİ KIRANLAR (örnek)

BARS:=200;
CT:=TREND(BARS,-1,D);
BS:=BARSSINCE(CT=H);
BS2:=BARSSINCE(BS=0 AND REF(BS,-10)=0);
c>CT AND CT>0 AND LASTVALUE(BS2)>50

System Tester-Bağlı Emirler kategorisinde (31 puan) tarafından | 829 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
En İyi Cevap
Merhaba,

Örnek olarak koşulunuz:

Cross(C,MOV(C,20,e)) olsun.

Şu formül ile:

BarsSince(Cross(C,MOV(C,20,e)))<=40

Son 40 bardan herhangi birisinde bu kesişme oldu ise, sonuç alırsınız.

İyi çalışmalar
(13,600 puan) tarafından
tarafından seçilmiş
Bu yöntem bende işe yaramıyor
8,636 soru
8,590 cevap
4,821 yorum
19,790 kullanıcı