Metastock: Formel von John Ehlers für 'Fisher RVI'
Kann jemand die Metastock-Formel für den in Ehlers´Buch "Cybernetic analysis for stocks and futures" präsentierten Indikator "Fisher RVI" zur Verfügung stellen?
Geschrieben von gamer
am
Oft hilft es die Suchfunktion zu benutzen:
http://www.terminmarktwelt.de/cgi-bin/metastock.pl?ST=8085&CP=0&F=IQO
Relative Vigor Index (RVI) by John Ehlers
ti:=Input("length",2,20,10);
v1:=((C-O)+(2*Ref(C-O,-1))+(2*Ref(C-O,-2))+Ref(C-O,-3))/6;
v2:=((H-L)+(2*Ref(H-L,-1))+(2*Ref(H-L,-2))+Ref(H-L,-3))/6;
temp:=If(Sum(v2,ti)=0,0.0001,Sum(v2,ti));
rv:=Sum(v1,ti)/temp;
rvsig:= (rv+Ref(2*rv,-1)+Ref(2*rv,-2)+Ref(rv,-3))/6;
rv;
rvsig
Die Formel des RVI kenne ich bereits.
Ich bräuchte aber die Formel für den Fisher RVI-Indikator, das ist die Fisher Transformation angewandt auf den RVI!
@ gamer
Vielleicht hilft bitte und danke! Das sind zumindest für mich bekannte Höflichkeitsformen.
Die bisherige Erfahrung hat mir gezeigt, das diese Gesetzmäßigkeit auch in diesem Forum "funktioniert". Und das ist auch gut so.
Gruß select
@ Gamer
Die Fisher Transformation ist definiert durch:
fisher:=1/2 * ln((1+x)/1-x))
ln = natürlicer Logarithmus
Es gilt: 1 < X < 1, ansonsten ist Fisher nicht definiert
der natürliche Logarihmus in MS wird durch die LOG Funktion abgebildet.
==>
ti:=Input("length",2,20,10);
v1:=((C-O)+(2*Ref(C-O,-1))+(2*Ref(C-O,-2))+Ref(C-O,-3))/6;
v2:=((H-L)+(2*Ref(H-L,-1))+(2*Ref(H-L,-2))+Ref(H-L,-3))/6;
temp:=If(Sum(v2,ti)=0,0.0001,Sum(v2,ti));
rv:=Sum(v1,ti)/temp;
fisher:=1/2*Log((1+rv)/(1-rv));
rvsig:= (fisher+Ref(2*fisher,-1)+Ref(2*fisher,-2)+Ref(fisher,-3))/6;
fisher;rvsig
Die Unterschiede zum normalen RVI sind marginal
Zitat select: Vielleicht hilft bitte und danke! Das sind zumindest für mich bekannte Höflichkeitsformen.
Die bisherige Erfahrung hat mir gezeigt, das diese Gesetzmäßigkeit auch in diesem Forum "funktioniert".
-----
Dieser Meinung bin ich auch, soviel Zeit muss sein und es hilft ungemein, wenn man gerne auch künftig Antworten auf seine Fragen haben möchte.
Der Spruch: Höflichkeit ist eine Zier, aber's geht auch ohne ihr' ist auf TerminmarktWelt nicht angebracht.
Die Fisher Transformation ist definiert durch:
fisher:=1/2 * ln((1+x)/1-x))
Wenn ich diese formel umkehren will in x=(e^2y-1)/(e^2y+1) wo e=2.71828182845904
(basis des normalen logarithmus) ist, damit ich eine komprimierung der kurve bekomme,wie sollte dann die Formel fuer Metastock lauten? Ich waere sehr froh wenn mir jemand haelfen koennte, komme leider mit dem progammieren von Meta noch nicht so recht klar.
Gruss Arosa
Hallo,
suchst du so etwas?
ti:=Input("length",2,20,10);
v1:=((C-O)+(2*Ref(C-O,-1))+(2*Ref(C-O,-2))+Ref(C-O,-3))/6;
v2:=((H-L)+(2*Ref(H-L,-1))+(2*Ref(H-L,-2))+Ref(H-L,-3))/6;
temp:=If(Sum(v2,ti)=0,0.0001,Sum(v2,ti));
rv:=Sum(v1,ti)/temp;
1/2*Exp((1+rv))/Exp((1-rv))
Danke Metatrader fuer die schnelle antwort, aber es ist leider nicht das was ich suche. vieleicht habe ich mich falsch ausgedrueckt deshalb probiers ich noch mal.
Also ich habe die folgende gleichung:
y=0.5*ln((1+x)/(1-x))
x=daten eingang
y=daten ausgang
ln= logaritmus
was in Metastock folgende formel ergibt:
len:=Input("Enter periods",1,200,200);
pr:=(H+L)/2;
maxh:=HHV(pr,len);
minl:=LLV(pr,len);
val1:=.33*2*((pr-minl)/(maxh-minl)-.5)+.67*PREV;
value1:=If(val1>.99,.999,If(val1<=-.99,-.999,val1));
fish:=.5*Log((1+value1)/(1-value1))+.5*PREV;
fish;
Ref(fish,-1)
Jetzt moechte ich das ganze umkehren und x wissen also.
x=(e^2y-1)/(e^2y+1)
wo e fuer 2.71828182845904 steht basis des loga.
Dass solte eine kurve ergeben das sehr lange in den extremen bereich des grafik bleibt.
Was will ich damit?
Ich moechte es einsetzen als trenderkennung.
Gruss Arosa
Hallo,
zunächst einmal allen Forums-Teilnehmern schöne Weihnachten!
Ich habe die TradeStation-Formel zu MS gemailt und daraufhin folgende Formel erhalten:
len:=Input("length",2,200,8);
v1:=((C-O)+(2*Ref(C-O,-1))+(2*Ref(C-O,-2))+Ref(C-O,-3))/6;
v2:=((H-L)+(2*Ref(H-L,-1))+(2*Ref(H-L,-2))+Ref(H-L,-3))/6;
num:=Sum(v1,len);
denom:=Sum(v2,len);
frvi:=num/denom;
maxr:=HHV(frvi,len);
minr:=LLV(frvi,len);
v3:=(frvi-minr)/(maxr-minr);
v4:=((4*v3)+(3*Ref(v3,-1))+(2*Ref(v3,-2))+Ref(v3,-3))/10;
v5:=.5*Log((1+(1.98*(v4-.5)))/(1-(1.98*(v4-.5))));
v5;
Ref(v5,-1)
Sie scheint aber nicht exakt die gleichen Resultate zu bringen (verzögerte Kaufsignale) wie die Beispiele in Ehlers´ Buch. Aber sie ist besser als die vorangegangenen Resultate.
Vielleicht kann man die MS-Formel noch verfeinern?
Hier noch die Formel des StochRSI aus Ehlers´ Buch:
v1:=RSI(8)-LLV(RSI(8),8);
v2:=HHV(RSI(8),8)-LLV(RSI(8),8);
v3:=v1/v2;
v4:=2*(Mov(v3,8,W)-.5);
v4;
Ref(v4,-1)
Dieser Indikator ist sowohl für longs und shorts geeignet, während der Fisher RVI nach dem Eingehen von long-Positionen zu früh Ausstiegssignale gibt (im Vergleich zum StochRSI).
Viel Erfolg beim Arbeiten mit den Formeln.