Registrierung Kalender FAQ & Boardregeln Suche Mitgliederliste Moderatoren und Administratoren Linkdatenbank Startseite
Tradestation User Group Germany » freie Foren » Posts aus dem alten Userforum » DMI Wilder » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag
burzum
Star Member TUG



Dabei seit: 12 2001
Herkunft: Wien
Beiträge: 34

burzum ist offline
  DMI WilderAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo,

ich habe eine Frage zum DMI nach Wilder: als Standardindikator in der TS wird der DMI abgebildet mit DMIPlus, DMIMinus und ADX. Ich hätte aber gerne auch noch den normalen DX.

Laut Berechnung des DMI in Müller/Nietzer berechnet sich der DX wie folgt:

Der "Directional Movement Index" wird berechnet, indem die Differenz zwischen dem aufwärtsgerichteten "Directional Indikator" und dem abwärtsgerichteten "Directional Indikator" durch die Summe dieser beiden Krennzahlen dividiert und mit dem Faktor 100 multiplizeirt wird.

So weit so gut. Ich habe das ganze folgendermaßen in EL umgesetzt:

DX = ((DMIPlus(Length) - DMIMinus(Length)) / (DMIPlus(Length) + DMIPlus(Length))) * 100;

plot4(DX, "DX");

Das funktioniert aber nicht, ich bekomme zum teil Werte von -300 % ! Was mache ich dabei falsch? Hat jemand den DX schon einmal in EL programmiert? Der ADX ist ja der 14er EMA des DX, wie komme ich aber zum DX?

Mit der Bitte um Hilfe

lg burzum

14.12.2001, 00:10 Profil von Füge  deiner Freunde-Liste hinzu Email an burzum senden
_Uwe
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313

_Uwe ist offline
  RE: DMI WilderAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Leider ist der von dir beschriebene Fehler für mich nicht nachvollzoehbar, sodass ich auch keine Unrichtigkeit feststellen kann.

bei mir sieht die Darstellung der Einzelglieder zu Bildung Deines DX so aus:



Hierbei ist

  1. Histogramm (grün) := DXplus = DMIplus(Length)
  2. Histogramm (rot) := DXminus = DMIminus(Length)
  3. Line (blau) := DXsum = DXplus + DXminus
  4. Line (gelb) := DXdiff = DXplus - DXminus
  5. Line (dunkelrot) := DX = DXdiff/DXsum
  6. Line (grau) := Nullinie





input: LenDMI(14),display(0);

vars: DXplus(0), DXminus(0), DXsum(0), DXdiff(0), D0);

DXplus=DMIplus(LenDMI);
DXminus=DMIminus(LenDMI);

DXsum=DXplus+DXminus;
DXdiff=DXplus-DXminus;
DX=100*(DXdiff)/(DXsum);

if display=1 then
begin
plot1(DXplus,"plot1");
plot2(DXminus,"plot2");
plot3(DXsum,"plot3");
plot4(DXdiff,"plot4");
end
else
begin
plot1(DX,"plot1");
plot2(0,"plot2");
print (date:8:0, time:8:0, DXplus:8:2, DXminus:8:2, DXdiff:8:2, DXsum:8:2, DX:8:0);
end;




Hilfreich für Dich könnte die print-Zeile sein, die dir die jeweiligen Einzelwerte im Debugfenster anzeigt (auch bei geladenen Indikatoren DX Wilder (einmal mit display=1 und einmal mit display=1) im Datenfenster aufgelistet.

Den Wert -300% kannst Du allein vom Ansatz nur dann erhalten, wenn der Zähler größer als der Nenner wird. Da der Zähler sich als Differenz der beiden Werte darstellt, die im Nenner als Summe auftreten, kann der Fall Zähler ablsolut großer als Nenner nur dann auftreten, wenn Vorzeichen der Einzelterme berücksichtigung finden. DIplus und DIminus sind aber eweils positive Werte in der Spanne zwischen Null und 100, wenn sie als Relation zu der TrueRange prozentuell bestimmt werden.

Vielleicht findest Du bald die Stelle, die Dir das Ergebnis -300% bescherte.

Gruß
Uwe

14.12.2001, 10:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Uwe senden Homepage von _Uwe
burzum
Star Member TUG



Dabei seit: 12 2001
Herkunft: Wien
Beiträge: 34

burzum ist offline
  RE: DMI WilderAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

@ Uwe

danke für die Antwort. Ich glaub ich habe den Fehler entdeckt. War schon ziemlich spät gestern :-)

Die Berechnung des DX in deinem DMI stimmt völlig mit meiner Berechnung überein, der Fehler bei mir liegt in einem Tippfehler!

falsch: DX = ((DMIPlus(Length) - DMIMinus(Length)) / (DMIPlus(Length) + DMIPlus(Length))) * 100;

richtig: DX = ((DMIPlus(Length) - DMIMinus(Length)) / (DMIPlus(Length) + DMIMinus(Length))) * 100;

habe in der Berechnung der DXSum zweimal DMIPlus verwendet! Das kann nicht funktionieren, da dann wie du auch geschrieben hast, der Zähler viel zu groß wird wenn DMIPlus hohe Werte annimmt.

Danke für den print Hinweis, werde ich gleich ausprobieren.

lg burzum

14.12.2001, 11:10 Profil von Füge  deiner Freunde-Liste hinzu Email an burzum senden
_Uwe
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313

_Uwe ist offline
  So geht s, ...Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

... wenn es sich um die einfachsten Fehler handelt, die man einfach überliest, so wie es mir auch ergangen ist.

Schön, dass Du dennoch dem Beitrag eine Information abewinnen konntest.

Gruß
Uwe

14.12.2001, 23:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Uwe senden Homepage von _Uwe
  « Vorheriges Thema Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu:

Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR