0 beğenilme 0 beğenilmeme
235 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 | 235 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
(30,068 puan) tarafından
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.



8,632 soru
8,586 cevap
4,819 yorum
19,773 kullanıcı