Donnerstag, 18. April 2024, 15:18 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

VBSdummy

Fortgeschrittener

Registrierungsdatum: 9. November 2008

Beiträge: 109

1

Sonntag, 9. November 2008, 15:32

Addition zweier Indikatoren in VBScript

Hallo,

als VBSdummy frage ich mich, wie kann ich in VBScript zwei Standard Investox-Formeln addieren?

Zum Beispiel MACD(Close) + RSI(Close,14) ? Ich bekomme es nicht hin.

Für jede Hilfe wäre ich sehr dankbar!!!

VBSdummy :baby:


So habe ich es probiert:


Dim i, myMACD, myRSI, d0, d1
Dim temp

ScriptBerechneFormel "MACD(Close)", myMACD
ScriptBerechneFormel "RSI(Close,14)", myRSI

d0 = myMACD
d1 = myRSI


For i = 50 to AllePerioden
temp = d0(i) + d1(i)
Ergebnis(i) = temp(i)
Next

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

2

Sonntag, 9. November 2008, 16:05

Hallo,

Warum die Addition der beiden einfachen Formeln Schwierigkeiten bereitet - Überlauf in VBScript - verstehe ich auch nicht. Ein einfacher Workaround wäre aber zum Beispiel die folgende Lösung:

Dim i, myFormel
Dim temp

If ScriptBerechneFormel("MACD(Close) + RSI(Close,14)", myFormel) Then


For i = 50 to AllePerioden
Ergebnis(i) = myFormel(i)
Next
end if

Viele Grüße

Martin

VBSdummy

Fortgeschrittener

Registrierungsdatum: 9. November 2008

Beiträge: 109

3

Sonntag, 9. November 2008, 20:46

Hallo Martin,

vielen Dank für deine Hilfe!

Der "Workaround" funktioniert zwar, aber wie ich innerhalb eines VBS-Indikators auf mehrere Investox-
Berechnungen zugreifen und/oder komplexere Verschachtelungen bilden kann, bleibt noch unklar.

Ich habe auch kein Beispiel gefunden, wo und wie man innerhalb VBS auf mehrere Standard-Indikatoren
zugreifen kann.

Mit VB6 geht dies, doch möchte ich mir die Kompilierungen sparen.....

Viele Grüße VBSd

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

4

Sonntag, 9. November 2008, 20:52

Hallo,

die Funktionen ErsteDatenPeriode() und LetzteDatenPeriode() müssen verwendet werden, um die gültigen Periodebereiche zu ermitteln.

Viele Grüße

Andreas Knöpfel

VBSdummy

Fortgeschrittener

Registrierungsdatum: 9. November 2008

Beiträge: 109

5

Montag, 10. November 2008, 08:15

Hallo Herr Knöpfel,

ja, so geht es; vielen Dank!!

VG VBSd.


Dim Startindex, EndIndex, Close
Dim i, myMACD, myRSI, d1, d2
Dim temp

GetDaten "Close", Close
Startindex=ErsteDatenPeriode(Close)
EndIndex=LetzteDatenPeriode(Close)
ScriptBerechneFormel "MACD(Close)", myMACD
ScriptBerechneFormel "RSI(Close,14)", myRSI


d1 = myMACD
d2 = myRSI

For i = StartIndex + 50 to EndIndex

temp = d1(i) + d2(i)

Ergebnis(i) = temp

Next