0 beğenilme 0 beğenilmeme
78 kez görüntülendi
Merhaba, Explorer'da 5 ,10,15 dakikalık gibi kısa periyotlarda Bollinger Bantları ile ilgili bir sorun yaşıyorum. C > 0 formülü tüm listeyi doğru bir şekilde verirken, Bollinger Bant Genişliğini (BBW) içeren en basit formüller bile (BBW > 0 gibi) tamamen boş liste döndürüyor. Bu durum, BOLL() ve MOVI() fonksiyonlarının bu periyotlarda doğru hesaplama yapmadığını veya veri akışında bir sorun olduğunu düşündürüyor. Lütfen yardımcı olabilir misiniz?

ALT BAND KODU

BB_PERIYOT := 20;
RSI_PERIYOT := 14;
RSI_ASIRI_SATIM_SEVIYESI := 30;
HACIM_ORT_PERIYOT := 20;
HACIM_KATSAYISI := 1.5;

KOSUL_YETERLI_BAR := Cum(1) > BB_PERIYOT;

ORTA_BANT := MOVI(C, BB_PERIYOT, S);
ALT_BANT := BOLL(C, BB_PERIYOT, 2, S, ALT);

DESTEK_TESTI := REF(L, -1) <= ALT_BANT;
YUKSELIS_TEYIDI := C > ALT_BANT;

RSI_DEGERI := RSI(C, RSI_PERIYOT);
RSI_TEYIDI := Cross(RSI_DEGERI, RSI_ASIRI_SATIM_SEVIYESI);

HACIM_ORTALAMASI := MA(V, HACIM_ORT_PERIYOT);
HACIM_TEYIDI := V > (HACIM_ORTALAMASI * HACIM_KATSAYISI);

ANA_KOSUL := KOSUL_YETERLI_BAR AND DESTEK_TESTI AND YUKSELIS_TEYIDI AND RSI_TEYIDI AND HACIM_TEYIDI;

ANA_KOSUL; C; ALT_BANT; ORTA_BANT

----

ORTA BAND KODU

BB_PERIYOT := 20;
RSI_PERIYOT := 14;
RSI_MOMENTUM_SEVIYESI := 50;
SIKISMA_PERIYOT := 100;
HACIM_ORT_PERIYOT := 20;
HACIM_KATSAYISI := 3.0;

KOSUL_YETERLI_BAR := Cum(1) > BB_PERIYOT;

UST_BANT := BOLL(C, BB_PERIYOT, 2, S, UST);
ORTA_BANT := MOVI(C, BB_PERIYOT, S);
ALT_BANT := BOLL(C, BB_PERIYOT, 2, S, ALT);
BBW := (UST_BANT - ALT_BANT) / ORTA_BANT * 100;

SIKISMA_KOSULU := REF(BBW, -1) <= LLV(REF(BBW, -2), SIKISMA_PERIYOT);
SESSİZLİK_KOSULU := REF(V, -1) < MA(REF(V, -2), HACIM_ORT_PERIYOT);
KURULUM_TAMAM := SIKISMA_KOSULU AND SESSİZLİK_KOSULU;

KIRILIM_KOSULU := Cross(C, ORTA_BANT);
HACIM_PATLAMASI_KOSULU := V > (MA(V, HACIM_ORT_PERIYOT) * HACIM_KATSAYISI);
RSI_DEGERI := RSI(C, RSI_PERIYOT);
RSI_KOSULU := RSI_DEGERI > RSI_MOMENTUM_SEVIYESI;
ATESLEME_TAMAM := KIRILIM_KOSULU AND HACIM_PATLAMASI_KOSULU AND RSI_KOSULU;

ANA_KOSUL := KURULUM_TAMAM AND ATESLEME_TAMAM;

ANA_KOSUL; C; ORTA_BANT; UST_BANT

-------------

ÜST BAND KODU

BB_PERIYOT := 20;
BB_S_SAPMA := 2;
SIKISMA_PERIYOT := 100;
HACIM_ORT_PERIYOT := 20;
HACIM_KATSAYISI := 3.0;
RSI_PERIYOT := 14;
RSI_SEVIYESI := 50;

UST_BANT := BOLL(C, BB_PERIYOT, BB_S_SAPMA, S, UST);
ORTA_BANT := MOVI(C, BB_PERIYOT, S);
ALT_BANT := BOLL(C, BB_PERIYOT, BB_S_SAPMA, S, ALT);
BBW := (UST_BANT - ALT_BANT) / ORTA_BANT * 100;

SIKISMA_KOSULU := REF(BBW, -1) <= LLV(REF(BBW, -2), SIKISMA_PERIYOT);
SESSİZLİK_KOSULU := REF(V, -1) < MA(REF(V, -2), HACIM_ORT_PERIYOT);
KURULUM_TAMAM := SIKISMA_KOSULU AND SESSİZLİK_KOSULU;

KIRILIM_KOSULU := Cross(C, UST_BANT);
HACIM_PATLAMASI_KOSULU := V > (MA(V, HACIM_ORT_PERIYOT) * HACIM_KATSAYISI);
RSI_DEGERI := RSI(C, RSI_PERIYOT);
RSI_KOSULU := Cross(RSI_DEGERI, RSI_SEVIYESI);
ATESLEME_TAMAM := KIRILIM_KOSULU AND HACIM_PATLAMASI_KOSULU AND RSI_KOSULU;

ANA_KOSUL := KURULUM_TAMAM AND ATESLEME_TAMAM;

ANA_KOSUL; C; UST_BANT; V

---- ---

İZLEME LİSTESİ KOD U

BB_PERIYOT := 20;
BB_S_SAPMA := 2;
SIKISMA_SEVIYESI := 5.0;

KOSUL_YETERLI_BAR := Cum(1) > BB_PERIYOT;

UST_BANT := BOLL(C, BB_PERIYOT, BB_S_SAPMA, S, UST);
ORTA_BANT := MOVI(C, BB_PERIYOT, S);
ALT_BANT := BOLL(C, BB_PERIYOT, BB_S_SAPMA, S, ALT);
BBW := (UST_BANT - ALT_BANT) / ORTA_BANT * 100;

KOSUL_VERI_SAGLAM := BBW > 0;
KOSUL_SIKISMA := BBW < SIKISMA_SEVIYESI;

FILTRE := KOSUL_YETERLI_BAR AND KOSUL_VERI_SAGLAM AND KOSUL_SIKISMA;

FILTRE; BBW; C; ALT_BANT; ORTA_BANT; UST_BANT
Grafik kategorisinde (40 puan) tarafından | 78 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
Merhaba

İlgili formüldeki hataları düzeltilip metastock diline uyarlandı.

Aşağıdaki şekilde deneyebilirsiniz.

ALT BAND KODU

REF(L, -1) =<BBandBot() and c > BBandBot() and cross(rsi(),30) and v > mov(v,20,s) * 1.5

ORTA BAND KODU

bbw:=(BBandtop()-BBandBot()) / BBand()*100;
SIKISMA_KOSULU := REF(BBW, -1) <= LLV(REF(BBW, -2), 100);
SESSİZLİK_KOSULU := REF(V, -1) < Mov(REF(V, -2), 20,s);
KURULUM_TAMAM := SIKISMA_KOSULU AND SESSİZLİK_KOSULU;
KIRILIM_KOSULU := Cross(C,BBand() );
HACIM_PATLAMASI_KOSULU := V > (Mov(V, 20,s) * 3);
ATESLEME_TAMAM := KIRILIM_KOSULU AND HACIM_PATLAMASI_KOSULU ;
ANA_KOSUL := KURULUM_TAMAM AND ATESLEME_TAMAM and rsi() > 50 ;
ANA_KOSUL

 

ÜST BAND KODU

bbw:=(BBandtop()-BBandBot()) / BBand()*100;
SIKISMA_KOSULU := REF(BBW, -1) <= LLV(REF(BBW, -2), 100);
SESSİZLİK_KOSULU := REF(V, -1) < Mov(REF(V, -2), 20,s);
KURULUM_TAMAM := SIKISMA_KOSULU AND SESSİZLİK_KOSULU;
KIRILIM_KOSULU := Cross(C,BBandtop() );
HACIM_PATLAMASI_KOSULU := V > (Mov(V, 20,s) * 3);
ATESLEME_TAMAM := KIRILIM_KOSULU AND HACIM_PATLAMASI_KOSULU;
ANA_KOSUL := KURULUM_TAMAM AND ATESLEME_TAMAM and cross(rsi(),50);
ANA_KOSUL

İZLEME LİSTESİ KOD U
bbw:=(BBandtop()-BBandBot()) / BBand()*100;
bbw > 0 and bbw < 5

Bilgilerinize.
(6,610 puan) tarafından
0 0

Merhaba, tekrar ben. Explorer'da Bollinger Bantları ile ilgili sorunum devam ediyor. Destek ekibinizin verdiği MetaStock fonksiyonlarını (BBandTop vb.) kullanmama rağmen sorun çözülmedi.

Yaptığım testlerde, C > 0 gibi basit bir tarama çalışıyor ve tüm listeyi doğru bir şekilde veriyor.

Ancak, bbw:=(BBandtop()-BBandBot())/BBand()*100; bbw > 0 and bbw < 3 gibi çok basit bir Bollinger Bant Genişliği filtresi, listeyi hiç filtrelemeden yine tüm coinleri veriyor. Bu, filtrenin bbw < 3 kısmının çalışmadığını gösteriyor.

Bu durum, Explorer'ın kısa periyotlarda Bollinger fonksiyonlarından türetilen değerlerle filtreleme yaparken bir hatası olduğunu düşündürüyor. Lütfen bu durumu acilen inceler misiniz? Bu özellik benim için çok kritik."

Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.



9,694 soru
9,652 cevap
5,193 yorum
47,829 kullanıcı