Freitag, 19. April 2024, 10:56 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Fritz

unregistriert

1

Dienstag, 23. September 2003, 17:50

Rangfolge der Operatoren

Hallo Herr Knöpfel,

wenn man mit einem um Null oszillierenden Wert für positive bzw. negative Werte unterschiedlich weiterrechnen möchte (muß), bietet sich die
If(......) Funktion an. Lässt die Berechnung aber keine negativen Werte zu,
wie z.B. Power(x,0.5), erscheint eine Fehlermeldung.
Also
If(x > 0, Power(x,0.5), Abs(x)) ist so nicht möglich.
Ist dies so nicht möglich wegen s. Thema?
Eine etwas umständlichere Schreibweise über mehrere Calc - Schritte
führt letztlich doch zum Ziel, aber geht es nicht kürzer?

Gruß Fritz

Fritz

unregistriert

2

Dienstag, 23. September 2003, 19:23

Hallo,
es geht doch. Die Fehlermeldung hat mich auf eine falsche Fährte gelockt.
Aber bei ca. 800 Zeilen Algorithmus kann man schon mal den Überblick verlieren.

Gruß Fritz

Fritz

unregistriert

3

Donnerstag, 25. September 2003, 10:29

Hallo Herr Knöpfel,
obige Frage bleibt bestehen, es wird kein negatives x akzeptiert, obwohl ich es doch durch If(x>0,...,...) ausschließen will.

Gruß Fritz

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

4

Donnerstag, 25. September 2003, 10:39

Hallo,

die If()-Berechnung berechnet beide möglichen Folgen komplett durch, daher kommt es zu einer Fehlermeldung, wenn X negativ wird (da Wurzel aus Neg-Werten nicht erlaubt). Dies können Sie so lösen:

Schreiben Sie statt:
If(x > 0, Power(x,0.5), Abs(x))
besser:
If(x > 0, Power(Abs(x),0.5), Abs(x))

so wird verhindert, dass die Power-Funktion einen negativen Wert erhält.

Viele Grüße
Andreas Knöpfel

Fritz

unregistriert

5

Donnerstag, 25. September 2003, 14:39

Hallo Herr Knöpfel,

genau das:

die If()-Berechnung berechnet beide möglichen Folgen komplett durch, daher kommt es zu einer Fehlermeldung,

wollte ich bestätigt wissen.

Das Beispiel war natürlich wieder bewußt einfach gehalten, insofern ist Ihr Vorschlag eine Alternative.
In meinem Fall sind die Dinge komplexer, so daß ich eine andere Alternative vorziehe.

Könnte man nicht vor allem bei sehr komplexen If() Berechnungen Rechenzeit sparen, wenn man nicht beide Folgen rechnen lässt, sondern nur jene für die die Bedingung wahr ist?

In einem speziellen Fall sind bei mir im Algorithmus 115 If() mit jeweils unterschiedlich komplexen Berechnungen enthalten. Das dauert....

Gruß Fritz

Thomas

unregistriert

6

Donnerstag, 25. September 2003, 18:47

Hallo Fritz,

115 If() Folgen? Das ist eine Menge. Hatte mal 28 If() Folgen mit IstBasis() und fand das schon unübersichtlich.

Ist das ein Handelssystem für einen einzelnen Basistitel oder für einen ganzen Basket?

Fritz

unregistriert

7

Freitag, 26. September 2003, 10:08

Hallo,

es zielt natürlich nicht nur auf einen Wert, aber auch nicht auf einen bestimmten Basket.

Gruß Fritz

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

8

Freitag, 26. September 2003, 11:35

Hallo,

>>Könnte man nicht vor allem bei sehr komplexen If() Berechnungen Rechenzeit sparen, wenn man nicht beide Folgen rechnen lässt, sondern nur jene für die die Bedingung wahr ist?

Nein, weil man dann periodenweise interpretieren müsste, was wesentlich länger dauert, als die Zeitreihen komplett durchzurechnen.

Viele Grüße
Andreas Knöpfel