Freitag, 19. April 2024, 09:05 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.

sven

unregistriert

1

Montag, 5. November 2007, 15:08

LRSlope unter VBScript

Hallo,

ich habe eine Datenreihe in VBScript und möchte die Funktion LRSlope darauf anwenden.
Leider kann ich nicht

Quellcode

1
scriptberechneformel "LRSlope(myData,14)" , ergebnis

unter VBScript aufrufen, da myData eine VBScript Variable ist.

Fehlermeldung:
"Prozedur: Parameter-Überprüfung
Vorgang: K/A
Indikator: LRSlope
Parameter: MYDATA
Meldung: Unverständlicher Parameter: Datenreihe oder Unterberechnung erwartet."

Natürlich kennt der Interpreter nicht die Datenreihe myData.
Wahrscheinlich müsste ich die Funktion LRSlope in VB neu definieren?!
Kann mir jemand eine Formel dafür nennen ? Oder erklären was genau LRSlope macht?

Liebe Grüße
Sven

Manfred Wahl

unregistriert

2

Montag, 5. November 2007, 18:45

Unterprogramme

Hi Sven,

nur so eine Idee: Vielleicht kannst Du Deinen neuen Indikator aus mehreren anderen zusammensetzen ?
Der untergeordnete ist dann in VBScript, der übergeordnete enthält die LRSlope Anweisung.

Gruß Manfred

sven

unregistriert

3

Montag, 5. November 2007, 19:31

Hallo Manfred,
keine schlechte Idee, aber ich brauche die berechnete Datenreihe dann weiter im VBScript.
Das wäre dann etwa so:
vb2 ( lrslope ( vb1 ) )

Wenn es gar nicht anders geht, dann würde ich das so machen. Schöner wärs halt, wenn es in einem Indikator integriert wäre, und wahrscheinlich auch schneller.

Gruß
Sven

NRCM

unregistriert

4

Dienstag, 6. November 2007, 08:55

Hallo,

der VBScript- Quellcode für LRSlope befindet sich hier.

Viele Grüße
Ulrich

sven

unregistriert

5

Dienstag, 6. November 2007, 10:15

danach habe ich gesucht. Herzlichen dank.

Gruß
Sven

Lupo

unregistriert

6

Sonntag, 22. Juni 2014, 00:48

Hallo Zusammen,

ich bin auf der Suche nach dem VBS-Code zur LRSlope.

Mein VBS/Mathe-Halbwissen hat leider nicht ausgereicht, die LRSlope deckungsgleich zum IV-Original zu coden, s.u.

Kann jemand weiterhelfen?

Danke & Grüsse,

Lupo


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

7

Donnerstag, 17. Juli 2014, 15:59

Hallo,

hier der VBS-Code zur LRSlope, sollte mal jemand auf der Suche danach sein.

"Daten" wird als Parameter übergeben.

Vor Verwendung bitte ggfs. mit dem IV-Original abgleichen.

Grüsse,

Lupo

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

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

8

Donnerstag, 17. Juli 2014, 16:54

Mal ne blöde Frage meinerseits:
Wozu benötigst Du das?
Ist ja wie Du auch selber geschrieben hast in Investox bereits vorhanden.
Und VBS dürfte deutlich langsamer sein, wie der Investox Indikator.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Lupo

unregistriert

9

Donnerstag, 17. Juli 2014, 17:48

Mittlerweile brauche ich das Ding nicht mehr.
Habe final einen Weg gefunden, mit den vorhandenen Mitteln die Idee umzusetzen ==> ist sauberer und in jedem Fall schneller.

Der Beitrag soll lediglich nicht mit einer Frage offen bleiben.

Gruss,

Lupo