0 beğenilme 0 beğenilmeme
546 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 | 546 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
(36,808 puan) tarafından
VİDYA TARAMA
9,714 soru
9,673 cevap
5,196 yorum
48,969 kullanıcı