Registrierung Kalender FAQ & Boardregeln Suche Mitgliederliste Moderatoren und Administratoren Linkdatenbank Startseite
Tradestation User Group Germany » freie Foren » Posts aus dem alten Userforum » Elphick-Volume-Oscillator » 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
_Sebastian
Administrator



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

_Sebastian ist offline
  Elphick-Volume-OscillatorAntwort 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,

bei der Programmierung des Elphick-Volume-Oscillator tritt folgendes Problem auf:

Nach einlegen des Indikators in den Chart kommt folgende Meldung:
"Floating point numerical overload"
Welchen Fehler könnte ich bei der Programmierung gemacht haben?

Hier die Function:Inputs: AdvVolume(Numericseries), DecVolume(Numericseries), AllVolume(Numericseries), LengthNumericsimple), LengthY(Numericsimple), LengthZ(Numericsimple);
Vars: NIS(0), NDS(0);

NIS = ((AdvVolume - DecVolume) / AllVolume) + EVO[1];
NDS = (XAverage(NIS, LengthX) - XAverage(NIS, LengthY)) * 100;
EVO = Average(NDS, LengthZ);


Und hier der Indicator:

Inputs: AdvVolume(Close of Data1), DecVolume(Close of Data2), AllVolume(Close of Data3), Length3), LengthY(10), LengthZ(24);

Plot1(EVO(AdvVolume, DecVolume, AllVolume, LengthX, LengthY, LengthZ), "ElphVolOsc");


Gruß Sebastian

05.09.2001, 16:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Sebastian senden Homepage von _Sebastian
_floating point
Administrator



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

_floating point ist offline
  100 hoch anzahl der Schritte führt zu floating point numerical overloaAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Kenne den korrekten Aufbau der Formel nicht, doch wird der von dir beschriebene Fehler durch einen Rechenoperationen ausgelöst, die zu einer zu großen Fließkommazahl führt.

Die Ursache liegt vermutlich in dem Multiplikationsfaktor 100 an der falschen Stelle.

Während NIS ein wert zwischen 0 und 1 ist, ist EVO[1] bereits ein Prozentwert (0...100) aus dem vorherigen Rechenschritt. Somit wird im zweiten Schritt NIS zwischen 0...100 liegen (also etwa EVO[1] sein). NDS wird mal 100 genommen und liegt bereits zwishcen 0...10000, was nun auch für EVO gilt. Im nöchsten Schritt folgt wieder eine Multiplikation mit 100 ....

Hier die etwas andere Lösung:
Function:
Inputs: AdvVolume(Numericseries), DecVolume(Numericseries), AllVolume(Numericseries), LengthNumericsimple), LengthY(Numericsimple), LengthZ(Numericsimple);
Vars: NIS(0), NDS(0);

NIS = ((AdvVolume - DecVolume) / AllVolume) + EVO[1];
NDS = (XAverage(NIS, LengthX) - XAverage(NIS, LengthY));
EVO = Average(NDS, LengthZ);


Und hier der Indicator:

Inputs: AdvVolume(Close of Data1), DecVolume(Close of Data2), AllVolume(Close of Data3), Length3), LengthY(10), LengthZ(24);

Plot1(100*EVO(AdvVolume, DecVolume, AllVolume, LengthX, LengthY, LengthZ), "ElphVolOsc");

06.09.2001, 13:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _floating point senden Homepage von _floating point
_Sebastian
Administrator



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

_Sebastian ist offline
  RE: 100 hoch anzahl der Schritte führt zu floating point numerical oveAntwort 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,

so funktioniert es. Super. Danke Dir.

mfg

Sebastian

06.09.2001, 13:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Sebastian senden Homepage von _Sebastian
_floating point
Administrator



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

_floating point ist offline
  RE: 100 hoch anzahl der Schritte führt zu floating point numerical oveAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Sorry, Bereichsgrenzen liegen nicht zwischen 0 und 1 bzw. 0 und 100, sondern zwischen -100^i und +100^i für [i=0...Anzahl der Schritte] in deiner Programmierung.

Wenn die Funktion den Prozentwert liefern soll, so kann natürlich auch dies funktionieren:

Inputs: AdvVolume(Numericseries), DecVolume(Numericseries), AllVolume(Numericseries), LengthNumericsimple), LengthY(Numericsimple), LengthZ(Numericsimple);
Vars: NIS(0), NDS(0);

NIS = ((AdvVolume - DecVolume) / AllVolume) + EVO[1]/100;
NDS = (XAverage(NIS, LengthX) - XAverage(NIS, LengthY)) * 100;
EVO = Average(NDS, LengthZ);


Aus dem Indikator ist dann der Faktor 100 zu entfernen.

06.09.2001, 14:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _floating point senden Homepage von _floating point
_Dr. Watson
Administrator



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

_Dr. Watson ist offline
  Ich wette 1:10 floating point = Uwe!!! o.w.T.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

*

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

Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR