Alıntı Originally Posted by apiyigun1 Yazıyı Oku
yuzde:=Input("% stop",0,10,2);
per:=Input("period",1,100,3);
a1:=Mov(C,per,E);
a2:=a1-(a1*yuzde/100);
a3:=a1+(a1*yuzde/100);
b1:=If(a1<PREV,a2,if(a2>PREV,a2,PREV));
b2:=If(a1>PREV,a3,if(a3<PREV,a3,PREV));
k1:=Cross(a1,Ref(b2,-1));
k2:=Cross(Ref(b1,-1),a1);
s1:=BarsSince(k1) < BarsSince(k2);
s2:=If(s1=-1,b1,b2);
a1;s2

Bu formülde ;

a1: Matriks içindeki default Most göstergesinde ExMOV yazan değere denk geliyor.
s2: Matriks içindeki default Most göstergesinde MOST yazan değere denk geliyor.


Forumda bulduğum mostun açık formülü bu hocam. Yapmak istediğim ise volatilite arttıkça küçülen bir yüzdelik değer, volatilite azaldıkça artan bir yüzdelik değer. henüz bunu nasıl yapacağımı bilmiyorum ancak aklıma ilk gelen hhv(h,30)-llv(l,30)'dan bir ters orantı elde etmeye çalışabilirim.
Bu formul MIZMIZ dostumuza,verdigim ipuclarıya kendisinin MATRİKSe cevirdigi formuldur..
Yani;bizim formulude bize izah ettin ya......

Gelelim sorunuza..
Oynaklık ölçen bir sürü formul yazabilirsiniz..
P:=10;
Mov(HHV(H,2) - LLV(L,2),P, S);
Stdev(HHV(H,2) - LLV(L,2),P);
STDEV(C,P);
ATR(P)
Bunlar ilk etapda akla gelenler,katsayılar ile çarpabilir,toplayıp ortalamasını alabilir,kokteyl yapıp agırlıklarını degiştirebilirsiniz...

Bu şekil ....

Kod:
P:=10;             
yuzde:=Mov(HHV(H,2) - LLV(L,2),P, S);
per:=Input("period",1,100,3);
a1:=Mov(C,per,E);
a2:=a1-yuzde;
a3:=a1+yuzde;
b1:=If(a1<PREV,a2,if(a2>PREV,a2,PREV));
b2:=If(a1>PREV,a3,if(a3<PREV,a3,PREV));
k1:=Cross(a1,Ref(b2,-1));
k2:=Cross(Ref(b1,-1),a1);
s1:=BarsSince(k1) < BarsSince(k2);
s2:=If(s1=-1,b1,b2);
a1;s2


Veya


Kod:
P:=10; 
yuzde:=Mov(HHV(H,2) - LLV(L,2),P, S);
per:=Input("period",1,100,3);
a1:=Mov(C,per,E); 
a2:=a1-(a1*yuzde/100); 
a3:=a1+(a1*yuzde/100);
b1:=If(a1<PREV,a2,if(a2>PREV,a2,PREV)); 
b2:=If(a1>PREV,a3,if(a3<PREV,a3,PREV));
k1:=Cross(a1,Ref(b2,-1)); 
k2:=Cross(Ref(b1,-1),a1);
s1:=BarsSince(k1) < BarsSince(k2);
s2:=If(s1=-1,b1,b2);
a1;s2