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
aureleus.b
Mitglied seit
11 Jahre 11 Monate

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

gamer
Mitglied seit
11 Jahre 11 Monate

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!

select
Mitglied seit
11 Jahre 11 Monate

@ 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

metatrader
Mitglied seit
11 Jahre 11 Monate

@ 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

Richard Ebert
Mitglied seit
11 Jahre 11 Monate

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.

Arosa
Mitglied seit
11 Jahre 11 Monate

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

metatrader
Mitglied seit
11 Jahre 11 Monate

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))

Arosa
Mitglied seit
11 Jahre 11 Monate

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

gamer
Mitglied seit
11 Jahre 11 Monate

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.

Rückrufservice
Beschreiben Sie bitte Ihr Anliegen, damit wir uns auf den Rückruf vorbereiten können.
Ja, ich habe die Datenschutzerklärung zur Kenntnis genommen und willige ein, dass die von mir angegebenen Daten inklusive der Kontaktdaten zwecks Bearbeitung der Anfrage und für den Fall von Anschlussfragen elektronisch erhoben und gespeichert werden. Meine Daten werden dabei nur streng zweckgebunden zur Bearbeitung meiner Anfrage genutzt und nicht ohne Einwilligung weitergegeben. Diese Einwilligung kann jederzeit mit Wirkung für die Zukunft widerrufen werden.
Help?

Sie haben Fragen zu ZMP Live? Unser Team steht gerne hilfsbereit zu Ihrer Verfügung. Senden Sie uns gerne eine Nachricht:

Es gilt unsere Datenschutzerklärung

Register now

Jetzt registrieren und ZMP Live+ 14 Tage kostenlos testen!
  • Dauerhaft kostenfrei
  • Keine Zahlungsinformationen erforderlich