0 beğenilme 0 beğenilmeme
434 kez görüntülendi
selamlar bu kodu matrik içn çevirebilirmiyiz

#@version = 1
study("VIDYA",overlay=True)
src = input(defval=close, title="Source", type="source")
Period = input(9, "Period", "int")

mom = change(src,1)
upSum = sum(max(mom, 0), 9)
downSum = sum(-min(mom, 0), 9)
out = (upSum - downSum) / (upSum + downSum)
cmo = abs(out)
alpha = 2 / (Period + 1)
vidya = 0.0
vidya = nz(src * alpha * cmo) + nz(prev(vidya,1)) * (1 - alpha * cmo)
Grafik kategorisinde (47 puan) tarafından | 434 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
Merhabalar,

Variable Index Dynamic Average - VIDYA

Matriks Indicator Builder Formülü:
pds:=input("Vidya Period",1,500,9);
cmopds:=input("CMO Period",1,500,9);
secim:=input("1=CMO 2=StandartSapma",1,2,1);
alpha:=2/(pds+1);
VIDYA1:=alpha*abs(CMO(c,cmopds))/100*c+(1-alpha*abs(CMO(c,cmopds))/100)*PREV;
VIDYA2:=alpha*STDEV(c,pds)*c+(1-alpha*STDEV(c,pds))*PREV;
VIDYA:=IF(secim=1,VIDYA1,VIDYA2);
VIDYA

BİLGİ:
Vidya aslında Matriks'te gömülü olan VAR yani değişken hreketli ortalamadır, Matriks gömülü versiyonda, VIDYA hesaplamasında kullanılan Chande Momentum Oscillator periodu sabitlenerek 9 alınmıştır.
Bu alternatifte ise CMO periodu hareketli ortalama periodu ile aynıdır.
Ayrıca varsayılan olarak seçilen 1 değeri CMO kullanılarak değişken ortalama hesaplar
Bu değer 2 olarak seçildiğinde Tushar Chande'ın 1992 yılındaki ilk makalesine göre Standart Sapma kullanılarak VIDYA hesaplanır.
Kıvanç Özbilgiç

 

Matriks Explorer Formülleri:

AL: Vidya Kırmızıdan Yeşile dönünce

pds:=9;
cmopds:=9;
secim:=1;
alpha:=2/(pds+1);
VIDYA1:=alpha*abs(CMO(c,cmopds))/100*c+(1-alpha*abs(CMO(c,cmopds))/100)*PREV;
VIDYA2:=alpha*STDEV(c,pds)*c+(1-alpha*STDEV(c,pds))*PREV;
VIDYA:=IF(secim=1,VIDYA1,VIDYA2);
cross(VIDYA,ref(VIDYA,-1))

SAT: Vidya Yeşilden Kırmızıya dönünce

pds:=9;
cmopds:=9;
secim:=1;
alpha:=2/(pds+1);
VIDYA1:=alpha*abs(CMO(c,cmopds))/100*c+(1-alpha*abs(CMO(c,cmopds))/100)*PREV;
VIDYA2:=alpha*STDEV(c,pds)*c+(1-alpha*STDEV(c,pds))*PREV;
VIDYA:=IF(secim=1,VIDYA1,VIDYA2);
cross(ref(VIDYA,-1),VIDYA)

AL: Fiyat VIDYAyı yukarı kestiğinde

pds:=9;
cmopds:=9;
secim:=1;
alpha:=2/(pds+1);
VIDYA1:=alpha*abs(CMO(c,cmopds))/100*c+(1-alpha*abs(CMO(c,cmopds))/100)*PREV;
VIDYA2:=alpha*STDEV(c,pds)*c+(1-alpha*STDEV(c,pds))*PREV;
VIDYA:=IF(secim=1,VIDYA1,VIDYA2);
cross(C,VIDYA)

SAT: Fiyat VIDYAyı aşağı kestiğinde

pds:=9;
cmopds:=9;
secim:=1;
alpha:=2/(pds+1);
VIDYA1:=alpha*abs(CMO(c,cmopds))/100*c+(1-alpha*abs(CMO(c,cmopds))/100)*PREV;
VIDYA2:=alpha*STDEV(c,pds)*c+(1-alpha*STDEV(c,pds))*PREV;
VIDYA:=IF(secim=1,VIDYA1,VIDYA2);
cross(VIDYA,C)

iyi çalışmalar
(34,938 puan) tarafından
VİDYA TARAMA
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,434 soru
9,389 cevap
5,098 yorum
37,554 kullanıcı