Dienstag, 16. April 2024, 17:01 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

1

Donnerstag, 6. März 2003, 09:42

Wilders Smoothing

Hallo !
weiß jemand von Euch, wie der Wilders Smoothing genau berechnet wird ? Ich habe schon überall gesucht, aber leider immer nur Teilinformationen gefunden a la:
".....verwendet wird ein 13-Perioden Exponentieller GD ...." usw.
Mit der Formel :

GD(GD(GD((High+Low+Close)/3 ,5 ,E ),13,E),13,E)

habe ich ihn trotzdem fast hinbekommen - der Verlauf stimmt. Die Werte sind aber noch nicht ganz exakt...
Hat jemand die exakte Formel und kann sie bitte mal posten?
Viele Grüße von Anke

http://www.ascunia.de

hermann

unregistriert

2

Donnerstag, 6. März 2003, 22:08

Hallo Wiwu,

habe folgendes gefunden:

unter:http://www.prophet.net/learn/taglossary.jsp?index=W

Wilder's Smoothing
Created by Welles Wilder, this indicator is similar to the exponential moving average. It responds slowly to price changes compared to other moving averages.

Previous M.A. + 1 / Periods ( Close - Previous M.A.)

Gruss hermann

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

3

Donnerstag, 6. März 2003, 23:47

Hallo Hermann !
Vielen Dank für die Formel, das bringt doch etwas Licht ins Berechnungsdunkel.
Obwohl- so gaaaanz exakt stimmt der Wert des Wilders Smooting aus Metastock immer noch nicht mit dem Ergebnis der Formel überein.
Er ist aber auf jeden Fall noch mal näher dran, als bei meiner Variante oben (komischerweise aber mit 26-Perioden als Standardeinstellung anstelle von 13.....).
Die Abweichung im Wert zwischen dem mit Metastock gelieferten Wilders und Deiner Formel beträgt für den Dax aber nur kleine 1,58 Pünktchen - der Kurvenverlauf ist identisch. Ich denke, mit wertemäßigen Abweichungen dieser Größenordnung kann ich leben und ich werd den Wilders mit Deiner Formel wohl für Investox-Berechnungen verwenden (vorher aber nochmal ein wenig mit der GD-Variante experimentieren-vielleicht klappt es ja doch noch mit dem exakten Wert ?( ).
Für alle, die es interessiert, hier meine formelmäßige Umsetzung für Investox:

Indikatorname: Wilders Smoothing

Parameter:
Name = Perioden, Typ =Wert, Standardwert = 26,
Minimum =2, Maximum = 500

Formel:
Ref(GD(Close ,Perioden ,E ),-1)+1/Perioden*(Close-Ref(GD(Close,Perioden,E),-1) )
Viele Grüße von Anke

http://www.ascunia.de

hermann

unregistriert

4

Donnerstag, 6. März 2003, 23:52

Hallo Wiwu,

hier noch ein Nachtrag, welcher eher Deiner Frage näher
kommt:

Gefunden:http://www.traders.com/Documentation/FEE…radersTips.html

Smoothed Relative Strength Index ( with Wilder's smoothing )

Formula:

len:=10;

smooth23:=(C+(2*Ref(C,-1))+(2*Ref(C,-2))+Ref(C,-3))/6;

change:= ROC(smooth23,1,$);

Gruss hermann

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

5

Freitag, 7. März 2003, 09:24

Hallo Hermann !
Vielen Dank für Deinen Support- das hilft wirklich weiter, wenn jemand mitsucht...... :))
Die von Dir zuletzt gefundene Formel bringt uns leider in Bezug auf den Wilders Smoothing nicht mehr allzu viel weiter.
Sie ist ein Teil der Formel für den RSI Smoothed nach Wilders. Die vollständige Metastock-Formel dafür lautet:

Smoothed Relative Strength Index ( with Wilder's smoothing )

Formula:

len:=10;
smooth23:=(C+(2*Ref(C,-1))+(2*Ref(C,-2))+Ref(C,-3))/6;
change:= ROC(smooth23,1,$);

Z:=Wilders(If(change>0,change,0),len);
Y:=Wilders(If(change<0,Abs(change),0),len);

RS:=Z/Y;
100-(100/(1+RS))

Im blau markierten Teil der Formel werden mit Z und Y zwei weitere Berechnungen definiert, die für die Kalkulation des Smoothed RSI benötigt werden.
Diese beiden Berechnungen greifen schon auf den Wilders Smoothing zu (der Wilders Smoothing ist in Metastock unter dem Namen Wilders definiert).
Ich denke, ich bleibe vorerst doch lieber bei unserer oberen Variante. Ich werd gleich schnell mal den RSI Smoothed in Investox mit unserer Wilders-Variation programmieren und dann mal schauen, wie die Kurvenverläufe und Werte im Vergleich zum Metastock-RSI Smoothed aussehen.
Das Ergebnis poste ich dann hier nochmal.
Bis später
Viele Grüße von Anke

http://www.ascunia.de

hermann

unregistriert

6

Freitag, 7. März 2003, 09:45

hi Wiwu,

dachte, dass der "smoothing part " nach Wilders die
gesuchte Info enthält, egal auf welchen Indikator er
angewendet wird. Das Glättungsprinzip, so dachte ich,
wäre nach Wilders immer von der gleichen Art.

Habe bei der Suche auch in anderen Foren die Frage
gefunden, aber niergends eine Antwort dazu, es scheint
doch nicht so eindeutig festgelegt zu sein .... ????

Aufforderung an alle Leser .... hier mitzuwirken.

Schönen Tag an Dich Wiwu

hermann

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

7

Freitag, 7. März 2003, 10:51

Hallo Hermann,
Ja, im Grunde liegst Du mit Deiner Annahme nichts so falsch, dass der Smoothing Part immer von der gleichen Art ist. Bei der Metastock Formel oben wird über die Berechnungen "smooth" und "len" aber nicht der Smoothing Part selbst definiert, sondern es werden nur seine Einstellungen festgelegt (Wert, auf den der smooth berechnet wird und Periodenanzahl für den Wilders).
Das kann man aber so ohne weiteres aus der Formel meiner Meinung nur erkennen, wenn man auch mit Metastock arbeitet - ist also für Investox-User nicht unbedingt ersichtlich. :))

Ich habe für die Umsetzung der RSI-Smoothed Formel nach Wilders in Investox den Wilders RSI oben noch einmal etwas verifizieren müssen. Der neue Indikator enthält einen zusätzlich definierten Parameter (Array)- sonst hätte die berechnung nicht gefunzt.

Hier die neuen Formeln

Wilders smoothing nach Hermann + Wiwu :))

Indikatorname: Wilders
1.Parameter:
Name = Array, Typ = Datenreihe, Standardwert = Close

2. Parameter
Name = Perioden, Typ = Wert, Standardwert = 26,
Minimum = 2, Maximum = 500

neue Formel für den Wilders Smoothing:

Ref(GD(Array ,Perioden ,E ),-1)+1/Perioden*(Array-Ref(GD(Array,Perioden,E),-1) )

und jetzt die Umsetzung des Smoothed RSI nach Wilders für Investox:

Indikatorname: Smoothed RSI (Wilders)
Formel
const len:10;
calc smooth23: (Close+(2*Ref(Close,-1))+(2*Ref(Close,-2))+Ref(Close,-3))/6;
calc change: ROC(smooth23,1,$);
calc Z:Wilders(If(change>0,change,0),len);
calc Y:Wilders(If(change<0,ABS(change),0),len);
calc RS:Z/Y;
100-(100/(1+RS))

Ich hab ein wenig mit dem Smoothed RSI rumgetestet, muss aber feststellen, dass ich mit dem Ergebnis nicht recht zufrieden bin. Die Abweichung im Wert zwischen einem Smoothed RSI der auf den Metastock-Wilders Indikator zugreift und dieser Variante beträgt 2,38 Punkte (Metastock Variante per gestigem Schlusskurs für den Dax 28,54 - Investox Variante 30,92). Der Verlauf der Indikatoren ist identisch. Die wertmäßige Abweichung sieht auf den ersten Blick nicht so dolle aus - wenn man aber den Indikator in einer späteren Berechnung mehrmals verwendet, summiert sich der Fehler. Von daher ist er derzeit wohl doch nur eingeschränkt zu gebrauchen. Irgendwie muss der Wilders Smoothing in Metastock definitiv anders berechnet worden sein - die Standard-Periodeneinstellung für den Indikator beträgt dort 14 Perioden. Wir erhalten bei unserer Wilders Smoothing Variante mit Hermanns zuerst geposteter Formel zwar einen annährend gleichen Wert - aber mit einer Standardperiodeneinstllung von 26.....
Es wäre wirklich schön, wenn jemand noch eine Idee zur Berechnung hat bzw. die genaue Formel für den Wilders Smoothing kennt.
Viele Grüße von Anke

http://www.ascunia.de

Flowtrader

Besucher

Registrierungsdatum: 23. Februar 2003

Beiträge: 3

8

Freitag, 7. März 2003, 11:01

@WiWu
Die Formel für das Wilders smoothing/Average Off Glättung und einige Erläuterungen findest du hier (auch im Zusammenhang mit dem RSI): http://www.technical-newsletter.de/docs/klassik01_01.html

Die typische Eigenschaft der Average-Off Glättung ist übrigens, dass sie grob die doppelte Periodenlänge des EMA darstellt (was Dir ja auch als "komisch" aufgefallen ist ;-) )

Vielleicht hilft die auch der Formeltext für mein Chartprogramm:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
REM #### MA-Off berechnen ####
  R = 0
  For Tag = 1 To MA-Off_Tage : REM ## normalen GD bis zum ersten Average-Off Tag berechnen
    R = R + Close(Tag)
  Next Tag
  MA-Off(MA-Off_Tage) = R / MA-Off_Tage
  StartTag = MA-Off_Tage + 1
  For Tag = StartTag To LetzterTag
    Vortag = Tag - 1
    R = MA-Off(Vortag) / MA-Off_Tage
    MA-Off(Tag) = Close(Tag) / MA-Off_Tage + MA-Off(Vortag) - R  
  Next Tag


Nachtrag zum reingerutschten Beitrag von Wiwu (den hatte ich beim schreiben des Textes noch nicht gesehen), wenn Metastock nur die halbe Periodenlänge verwendet, nimmt es wahrscheinlich auch nicht das "original" Wilders Smoothing sondern einfach einen exp. MA. Im Link oben steht ja auch was zu den unterschiedlichen Darstellungsvarianten des RSI, auf diese Problematik stösst man übrigens bei allen Wilder-Indikatoren (DMI ist auch so ein Fall). Da werden dann wild Variationen und "Original" durcheinandergebracht und nachher blickt keiner mehr durch... ;-)

Gruss, Flow

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Flowtrader« (7. März 2003, 11:08)


Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

9

Freitag, 7. März 2003, 14:08

Hallo !
Vielen Dank für Deine Hilfe Flowtrader. Mit dem Code aus Deinem Chartprogramm konnte ich leider nicht viel anfangen, weil ich die Formelsprache nicht beherrsche. Der Link war aber sehr hilfreich. Ich hatte gerade mit dem Versuch begonnen, die Average-Off Glättung in eine Investox-Formel zu verwandeln, als mir Hermann die Formel gepostet hat, die Metastock für den Wilders Smoothing verwendet.
Sie lautet (übersetzt für Investox):
Parameter:
Name = Perioden, Typ = Wert, Standardwert = 14, Minimum =2, Maximum = 500
Formel:
(1/Perioden * Close + (1-1/Perioden) * PREV)

Das würde mein Problem eigentlich lösen - wenn ja wenn nicht leider wieder der Indikator PREV enthalten wäre ..... Die Formel liefert jetzt exakt den gleichen Wert wie bei Metastock - leider braucht Investox für die Berechnung von PREV bei identischer Basisdatenreihe etwa 3-4 mal so lange wie Metastock ...
Metastock hat ja eine recht große User-Community und in diversen Foren werden interessante Indikatoren und HS im Metastock-Code veröffentlicht. Ich hab einige in den Code von Investox umwandeln können - bei den wirklich interessanten (z.B. Hilbert Transformation von Ehlers aber auch viele viele andere) ist aber überdurchschnittlich oft eben der Indikator PREV Bestandteil- manchmal sogar mehrmals in einer Berechnung. Obwohl ich versucht habe, den PREV so wenig wie möglich von Investox berechnen zu lassen, indem ich die Formeln verschlankt hab, wo es nur irgendwie vertretbar war, war die Geschwindigkeit von Investox letztendlich unbefriedigend- sobald dieser Indikator in einer Formel enthalten ist.
Deshalb meine Frage: Gibt es eine Möglichkeit, den PREV irgendwie ein wenig zu tunen ? Oder fällt jemandem vielleicht eine Alternative zum PREV ein ? Das Problem bei dem Indikator ist, dass der Initialwert zum erstmöglichen Zeitraum einer Datenreihe berechnet wird und alle Folgewerte den vorherigen Wert des PREV verwenden. Je länger die vorliegende Basisdatenreihe, desto langsamer wird der PREV ....
Weil immer der Vorwert des PREV für die Folgeberechnungen verwendet wird, ist auch die Variante, die Hans-Jürgen mir in meinem PREV-Thread vorgeschlagen hat nicht wirklich das, was mir vorschwebte - ich würde darurch nur den Wert der Berechnung der Vorperiode bekommen- nicht den PREV. Bei den komplizierteren Berechnungen kommen mit dieser Formel nur noch Mondergebnisse raus ......

Zum Schluss noch eine Frage zum Average Off von Wilders. Habe ich die Formel für den AO so richtig verstanden (das Riesen-Summenzeichen hat mich schon fast erschlagen - erst recht die kleinen n und t -sorry ich bin bei solchen Formeln etwas schwach auf der Brust :))) ?


calc ErsterWert: GD(Close, Perioden, S);
calc ZweiterWert: Ref(ErsterWert,-1)-(Ref(ErsterWert,-1)/Perioden)+ (close/Perioden);
calc DritterWert: Ref(ZweiterWert,-1)-(Ref(ZweiterWert,-1)/Perioden)+ (close/Perioden);
calc VierterWert: Ref(DritterWert,-1)-(Ref(DritterWert,-1)/Perioden)+ (close/Perioden);
calc n-ter Wert : Ref(Wert n-1),-1)- (Ref(Wert n-1,-1)/Perioden) + (close/Perioden)

Falls ich da was falsch verstanden hab, kann mich bitte jemand korrigieren ?
Vielen Dank für Eure Hilfe.

Ach so- falls es noch wichtig ist wegen der PREV Sache- ich verwende Investox XL + Analyse Plus Version 3.2.0
Viele Grüße von Anke

http://www.ascunia.de

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

10

Freitag, 7. März 2003, 15:18

Hallo,

>>Deshalb meine Frage: Gibt es eine Möglichkeit, den PREV irgendwie ein wenig zu tunen ? Oder fällt jemandem vielleicht eine Alternative zum PREV ein ?

Haben Sie das neue Schlüsselwort "_FastPrev" schon getestet (siehe Infos zu V 3.2)?

Die Faktoren 1/Perioden und (1-1/Perioden) könnte man auch ausserhalb mit Const: definieren.

Viele Grüße
Andreas Knöpfel

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Investox« (7. März 2003, 15:20)


Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

11

Freitag, 7. März 2003, 16:05

Hallo Herr Knöpfel !
Vielen Dank für Ihre schnelle Antwort. Das Schlüsselwort _Fast Prev habe ich noch nicht getestet, weil sich bei mir am PC bei den Updates aus irgendeinem Grund die Datei "neueste Info´s zu Investox" nie mitaktualisiert. Normalerweise hab ich die Datei dann immer auf einem Zweit- Computer gelesen- aber der ist dummerweise gerade zur Reparatur, weil sich die Festplatte verabschiedet hat XX( .
Ich bin sicher, die neue Funktion löst bestimmt alle meine Problemchen und danke nochmals für Ihre schnelle Antwort.

Gibt es die Möglichkeit, die vollständige Version der Info-Datei für 3.2.0 im Netz einzusehen (auf Ihrer Website hab ich schon geschaut- das hab ich nur den Überblick gefunden) bzw. kann mir jemand freundlicherweise den Inhalt der neuen Infodatei dieses eine Mal mailen ?
Vielen Dank im voraus und für alle ein schönes Wochenende wünscht Wiwu

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

12

Freitag, 7. März 2003, 16:48

Hallo nochmal !
Ich hab das Problem mit der fehlenden Aktualisierung der Info-Datei inzwischen selbst gelöst, indem ich die alte Datei "Neueste Info´s zu Investox.hlp" in meinem Investox-Ordner gelöscht habe und dann das Upadte 3.2.0 noch einmal aktualisiert habe. Jetzt hab ich also auch die neuesten Infos und schau mir gleich mal den _FastPrev an.
Viele Grüße von Anke

http://www.ascunia.de

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

13

Freitag, 7. März 2003, 17:54

Nochmal Hallo :))
jetzt hab ich #_FastPrev# integriert. Verglichen mit der alten PREV-Variante wird der Wilders Smooting auf den DAX durch das neue Schlüsselwort bei mir mehr als doppelt so schnell berechnet (mit #_FastPrev# dauert es 40 Sekunden, ohne das Schlüsselwort nur mit PREV 100 Sekunden. Die Berechnung mit dem Schlüsselwort bringt definitiv einen Zugewinn an Performance.
Jetzt der kleine Wermutstropfen: Mit Metastock dauert die gleiche Berechnung knapp 7 Sekunden .....
Ich möchte ja nicht nörgeln - aber geht da in Zukunft irgendwann einmal noch etwas mehr Speed oder ist das Ende der Fahnenstange jetzt erreicht ? Ich meine die Reduzierung der Berechnungsdauer auf weniger als 50 % mit dem neuen Schlüsselwort verdient durchaus ein großes Lob- ich frage nur interessehalber- bitte nicht falsch verstehen :).

Hier kommt der Investox-Code für den Wilders Smoothing mit #_FastPrev#:

Indikatorname: Wilders

Parameter
1.Parameter:
Name = Array, Typ = Datenreihe, Standardwert = Close

2. Parameter
Name = Perioden, Typ = Wert, Standardwert = 14,
Minimum = 2, Maximum = 500

Formel:
#_FastPrev#
calc A: 1/Perioden;
calc B: 1-A;
(A * Array + B * PREV)
Viele Grüße von Anke

http://www.ascunia.de

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

14

Montag, 10. März 2003, 11:22

Hallo,

>>aber geht da in Zukunft irgendwann einmal noch etwas mehr Speed oder ist das Ende der Fahnenstange jetzt erreicht ?
Wir werden immer wieder mal dran arbeiten. Wesentlich schneller würde es als externer Indikator gehen (ich schätze mal 0.02 s).
Andere Frage: ist es eigentlich entscheidend, ob man mit 1/Perioden oder mit 2/(1+Perioden) glättet, oder geht es um die Vergleichbarkeit mit einem anderen Programm?

Viele Grüße
Andreas Knöpfel

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

15

Montag, 10. März 2003, 15:08

Hallo Herr Knöpfel !
Um die Vergleichbarkeit mit einem anderen Pogramm geht es eigentlich nur sekundär und insofern, als dass ich diese Berechnung, wenn sie einmal für beide Programme in identischer Form definiert wurde, als Fehlerquelle ausschließen kann, wenn ich unter Verwendung dieser Glättung mit anderen Formeln weiter experimentiere. Das ist jetzt nur die Basisversion, die Variationen folgen noch. Ich werde mir den Indikatorverlauf mit geänderten Perioden auch mal näher anschauen. Ich kann mir gut vorstellen, dass es Sinn macht, die Periodeneinstellung noch als Parameter zu definieren (zielte Ihre Frage darauf ab ?).

Was die Schnelligkeit des Previous / _FastPrev anbetrifft
so denke ich auch nicht, dass Sie sich da unbedingt an anderen Programmen orientieren sollen. Investox weist gegenüber anderen Programmen unzählige Vorteile auf - direktes Benchmarking (falls überhaupt sinnvoll) mit Investox würde das andere Programm meiner Meinung nach traurig aussehen lassen - auf jeden Fall in Bezug auf die Handelssystementwicklung :)) Es ging nur um die Frage des theorethisch Machbaren.
Viele Grüße von Anke

http://www.ascunia.de

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

16

Montag, 10. März 2003, 15:30

Hallo,

>>Ich kann mir gut vorstellen, dass es Sinn macht, die Periodeneinstellung noch als Parameter zu definieren (zielte Ihre Frage darauf ab ?).

Meine Frage zielte darauf: die Glättung gemäss 2/(Perioden+1) entspricht der exponent. Glättung. Hierfür könnte einfach GD(,,e) oder GDExpVar() verwendet werden. Der Unterschied gegenüber 1/Perioden ist "nur" ein variierter Faktor. Die Exp-Glättung mit doppelter Periodenzahl ähnelt also stark der oben beschriebenen Wilder-Smoothing.

Viele Grüße
Andreas Knöpfel

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Investox« (10. März 2003, 15:30)