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.
sven
unregistriert
Quellcode |
|
1 |
scriptberechneformel "LRSlope(myData,14)" , ergebnis |
sven
unregistriert
Lupo
unregistriert
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
Dim i, n, StartIndex, EndIndex, SumX SetDaten Daten, "_TempDaten" 'Daten per Parameter von Typ "Datenreihe" übergeben, z. B. KK oder Close StartIndex = ErsteDatenPeriode(Daten) EndIndex = LetzteDatenPeriode(Daten) n = 200 'Periodenanzahl für die LRSlope SumX = (n + 1) / 2 For i = StartIndex + n to EndIndex AvrgY = AvrgYFunc(i, n, Daten) Ergebnis(i) = BetaFunc(i, n, SumX, Daten, AvrgY) Next KillDaten "_TempDaten" ''===============================FUNCTIONS AND SUBS========================================================== Public Function AvrgYFunc(ByVal i, ByVal n, ByVal Daten) Dim x, CounterX, CounterY CounterX = 0 CounterY = 0 For x = i - n to i CounterX = CounterX + 1 CounterY = CounterY + Daten(x) Next If CounterX <> 0 Then AvrgYFunc = CounterY / CounterX Else AvrgYFunc = 1 End If End Function ''========================================================================================================== Public Function BetaFunc(ByVal i, ByVal n, ByVal SumX, ByVal Daten, ByVal AvrgY) Dim x, Zterm, Nterm Zterm = 0 Nterm = 0 For x = i - n to i Zterm = Zterm + (x - SumX) * (Daten(x) - AvrgY) Nterm = Nterm + (x - SumX)^2 Next If Zterm + Nterm <> 0 Then BetaFunc = Zterm / Nterm Else BetaFunc = 1 End If End Function ''========================================================================================================== |
Lupo
unregistriert
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
Dim i, k, x, StartIndex, EndIndex, SumX, CounterX, CounterY, AvrgY, Zterm, Nterm StartIndex = ErsteDatenPeriode(Daten) EndIndex = LetzteDatenPeriode(Daten) k = 90 SumX = (k + 1) / 2 For i = StartIndex + k - 1 to EndIndex CounterX = 0 CounterY = 0 For x = i - (k - 1) to i CounterY = CounterY + Daten(x) Next If CounterY <> 0 Then AvrgY = CounterY / k Else AvrgY = 1 End If Zterm = 0 Nterm = 0 For x = i - (k - 1) to i CounterX = CounterX + 1 Zterm = Zterm + (CounterX - SumX) * (Daten(x) - AvrgY) Nterm = Nterm + (CounterX - SumX)^2 Next If Zterm + Nterm <> 0 Then Ergebnis(i) = Zterm / Nterm Else Ergebnis(i) = 1 End If Next |