Metastock 6.52: Was bedeutet Fehlermeldung ' Division by zero' ?
Kann wohl bitte jemand helfen ?
Ich bekomme häufig beim Scrollen die Fehlermeldung "Division by zero", die ich dann immer wegklicken muß.
Der (Volumen-) Indikator heißt:
a:= Ref(Mov(V,20,S),-1);
If(a>0,V/a,0)
Division durch 0 müßte doch hier durch die Abfrage ausgeschlossen sein, oder?
Danke,
Zion
Geschrieben von Gast (nicht überprüft)
am
Woran es in deinem speziellem Fall liegt, vermag ich auf Anhieb nicht zu sagen. Vermutlich ist a sehr klein: Haben da in den letzten 20 Tagen überhaupt Umsätze stattgefunden?
Das Problem tritt bei Division durch 0 oder sehr kleinen Werten auf. Man kann mit Abfragen arbeiten oder aber grundsätzlich eine kleine Konstante zum Divisor hinzuaddieren. 0,0001 reichen sicher, wenn sie in der Auswertung nicht stören. Das Problem hat seine Ursache in der Speicherung von Floatzahlen, eine Null wird eben nicht als Null gespeichert.
In deinem Falle könnte man schreiben:
a:= ....;
If(a < 0.0001,V,V/a)
{Wenn 20 Tage vorher kein Umsatz stattgefunden hat, und am 21ten Umsatz vorhanden war, würde ich den stehen lassen, aber es kommt auf deine Interpretation an.}
Viel Erfolg
Bernd Kürbs