VBS Indikatoren, Investox, Visual Basic Script
ASCUNIA
zur Startseite
Handelssysteme
Seminare
Coaching
EMail schreiben
VBS Indikatoren, Investox, Visual Basic Script
Quellcodes für VBS-Indikatoren in Investox Version 5
 

VBS Indikatoren, Investox, Visual Basic Script

VBS Indikatoren, Investox, Visual Basic Script


Auf dieser Seite sind VBS-Quellcodes verschiedener Indikatoren veröffentlicht.
Durch konkrete Beispiele für den Praxiseinsatz von Visual Basic Script soll allen interessierten Anwendern von Investox XL Version 5 die Einarbeitung in VBS als zusätzliche Programmiersprache erleichtert werden.



 

 

 

Adjustable Lag Filter

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter

Name: Lag_Reduction
Typ: Wert
Standardwert: 1,5
Minimum: 0,1
Maximum: 10

 

'VBS-Code:

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim Coefcounter,Denominator,counter,Numerator,Counter1


For i = StartI + 7 To EndI
Numerator = 0
counter = 1
Denominator = 10.5

Do While counter < 8
If counter = 1 Then
Coefcounter = 1
ElseIf counter = 2 Then
Coefcounter = 2 + Lag_reduction
ElseIf counter = 3 Then
Coefcounter = 3 + Lag_reduction
ElseIf counter = 4 Then
Coefcounter = 3
ElseIf counter = 5 Then
Coefcounter = 2 - Lag_reduction
ElseIf counter = 6 Then
Coefcounter = 1 - Lag_reduction
ElseIf counter = 7 Then
Coefcounter = 0 - Lag_reduction
End If
Counter1 = counter - 1
Numerator = Numerator + Coefcounter * Daten(i - Counter1)
counter = counter + 1
Loop
Ergebnis(i) = Numerator / Denominator
Next

 

Download Adjustable Lag VBS-Indikator
VBS-Indikatoren für Investox

 
 
Center of Gravity Filter

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter

Name: Perioden
Typ: Wert
Standardwert: 10
Minimum: 2
Maximum: 500

' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)


Dim Num, Denom, Counter


For i = StartI + Perioden - 1 To EndI

counter = 0
Num = 0
Denom = 0

Do While counter < Perioden

Num = Num + (1 + counter) * Daten(i - counter)
Denom = Denom + Daten(i - counter)
counter = counter + 1
Loop
If Denom <> 0 Then
Ergebnis(i) = -Num / Denom
Else
Ergebnis(i) = Daten(i)
End If
Next

Download Center of Gravity Filter
VBS-Indikatoren für Investox

 
Center of Gravity Oscillator

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500

' VBS-Code


StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)


Dim Num, Denom, Counter

For i = StartI + Perioden - 1 To EndI

counter = 0
Num = 0
Denom = 0

Do While counter < Perioden

Num = Num + (1 + counter) * Daten(i - counter)
Denom = Denom + Daten(i - counter)
counter = counter + 1
Loop
If Denom <> 0 Then
Ergebnis(i) = -Num / Denom + (Perioden + 1) / 2
Else
Ergebnis(i) = Daten(i)
End If
Next

Download Center of Gravity Oszillator

VBS-Indikatoren für Investox
 
 
Cyber Cycle

1. Parameter
Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter
Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500

' VBS-Code


StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim Alpha, Smooth, Cycle
ReDim Smooth(EndI),Cycle(EndI)



For i = StartI + 3 To EndI


Alpha = 2 / (Perioden + 1)
Smooth(i) = (Daten(i) + 2 * Daten(i - 1) + 2 * Daten(i - 2) + Daten(i - 3)) / 6
Cycle(i) = (1 - 0.5 * Alpha) * (1 - 0.5 * Alpha) * (Smooth(i) - 2 * Smooth(i - 1) + Smooth(i - 2)) + 2 * (1 - Alpha) * Cycle(i - 1) - (1 - Alpha) * (1 - Alpha) * Cycle(i - 2)

If i <= StartI + 7 Then
Cycle(i) = (Daten(i) - 2 * Daten(i - 1) + Daten(i - 2)) / 4
End If

Ergebnis(i) = Cycle(i)

Next

Download Cyber Cycle Indikator
VBS-Indikatoren für Investox


 
 
Cyclic Component

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter

Name: Perioden
Typ: Wert
Standardwert: 20
Minimum: 2
Maximum: 500

' VBS-Code

StartI=ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Const Pi = 3.14159265


dim a,hp,Cyclic_Comp,Dummy,currentbar
ReDim hp(EndI),Cyclic_Comp(EndI)

For i = StartI + 3 To EndI

Dummy = (2 * Pi) / Perioden

A = (1 - Sin(dummy)) / Cos(dummy)
hp(i) = 0.5 * (1 + A) * (Daten(i) - Daten(i - 1)) + A * hp(i - 1)

Cyclic_Comp(i) = (hp(i) + (2 * (hp(i - 1)) + (2 * hp(i - 2)) + hp(i - 3))) / 6


currentbar = i - 1

If currentbar < 4 Then
Cyclic_Comp(i) = Daten(i) - Daten(i - 1)
End If
If currentbar = 1 Then
Cyclic_Comp(i) = 0
End If

Ergebnis(i) = Cyclic_Comp(i)

Next

Download Cyclic Component
VBS-Indikatoren für Investox
 
 
Distance Coefficient Filter

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter

Name: Perioden
Typ: Wert
Standardwert: 15
Minimum: 2
Maximum: 500

' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim counter,Counter1,LookBack,SumCoef,Num,Filt,count2,Coef, Distance2
ReDim Coef(EndI), Distance2(Endi)

For i = StartI + (2 * Perioden) To EndI

counter = 0
LookBack = 1
Num = 0
SumCoef = 0


Do While counter < Perioden - 1
Distance2(i - counter) = 0

For LookBack = 1 To Perioden
Counter1 = counter + LookBack
Distance2(i - counter) = Distance2(i - counter) + (Daten(i - counter) - Daten(i - Counter1)) * (Daten(i - counter) - Daten(i - Counter1))
LookBack = LookBack + 1
Next

Coef(i - counter) = Distance2(i - counter)

Num = Num + Coef(i - counter) * Daten(i - counter)
SumCoef = SumCoef + Coef(i - counter)
counter = counter + 1

Loop

If SumCoef <> 0 Then
Ergebnis(i) = Num / SumCoef
Else
Ergebnis(i) = 0
End If

Next

Download Distance Coefficient Filter
VBS-Indikatoren für Investox

 
 
Ehlers-Filter


1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


2. Parameter

Name: Indikator
Typ: Datenreihe
Standardwert: close


3.Parameter

Name: Perioden
Typ: Wert
Standardwert: 15
Minimum: 2
Maximum: 500

' VBS-Code

Starti=ErsteDatenPeriode(Daten)
Endi=LetzteDatenPeriode(Daten)

Dim counter,Num,SumCoef

For i = StartI + Perioden - 1 To EndI

counter = 0
Num = 0
SumCoef = 0

Do While counter < Perioden

Num = Num + Daten(i - counter) * Indikator(i - counter)
SumCoef = SumCoef + Daten(i - counter)
counter = counter + 1
Loop
If SumCoef <> 0 Then
Ergebnis(i) = Num / SumCoef
Else
Ergebnis(i) = Indikator(i)
End If
Next

Download Ehlers Filter


VBS-Indikatoren für Investox
 
FAMA

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


2. Parameter

Name: Fastlimit
Typ: Wert
Standardwert: 0,5
Minimum: 0
Maximum: 2


3.Parameter

Name: Slowlimit
Typ: Wert
Standardwert: 0,05
Minimum: 0
Maximum: 3

' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim InPhase,Quadrature,value1,Imult,Qmult,Period,SmoothDetrender,Q1,I1,Ji,JQ,I2,Q2,Re,IM,Smoothperiod_
,Phase,DeltaPhase,Alpha,MAMA,FAMA
ReDim InPhase(EndI),Quadrature(EndI),value1(EndI),Period(EndI),Smooth(EndI),Detrender(EndI),Q1(Endi),I1(Endi)_
,Ji(Endi),JQ(Endi),I2(Endi),Q2(Endi),Re(Endi),IM(Endi),Smoothperiod(Endi),Phase(Endi)_
,DeltaPhase(Endi),Alpha(Endi),MAMA(Endi),FAMA(Endi)

Imult = 0.635
Qmult = 0.338

For i = StartI + 6 To EndI

Smooth(i) = (4 * Daten(i) + 3 * Daten(i - 1) + 2 * Daten(i - 2) + Daten(i - 3)) / 10
Detrender(i) = (0.0962 * Smooth(i) + 0.5769 * Smooth(i - 2) - 0.5769 * Smooth(i - 4) - 0.0962 * Smooth(i - 6)) * (0.075 * Period(i - 1) + 0.54)

''{Compute InPhase and Quadrature components}
Q1(i) = (0.0962 * Detrender(i) + 0.5769 * Detrender(i - 2) - 0.5769 * Detrender(i - 4) - 0.0962 * Detrender(i - 6)) * (0.075 * Period(i - 1) + 0.54)
I1(i) = Detrender(i - 3)


''{Advance the phase of I1 and Q1 by 90 degrees}
Ji(i) = (0.0962 * I1(i) + 0.5769 * I1(i - 2) - 0.5769 * I1(i - 4) - 0.0962 * I1(i - 6)) * (0.075 * Period(i - 1) + 0.54)
JQ(i) = (0.0962 * Q1(i) + 0.5769 * Q1(i - 2) - 0.5769 * Q1(i - 4) - 0.0962 * Q1(i - 6)) * (0.075 * Period(i - 1) + 0.54)


''{Phasor addition for 3 bar averaging)}
I2(i) = I1(i) - JQ(i)
Q2(i) = Q1(i) + Ji(i)

''{Smooth the I and Q components before applying the discriminator}
I2(i) = 0.2 * I2(i) + 0.8 * I2(i - 1)
Q2(i) = 0.2 * Q2(i) + 0.8 * Q2(i - 1)

''{Homodyne Discriminator}
Re(i) = I2(i) * I2(i - 1) + Q2(i) * Q2(i - 1)
IM(i) = I2(i) * Q2(i - 1) - Q2(i) * I2(i - 1)
Re(i) = 0.2 * Re(i) + 0.8 * Re(i - 1)
IM(i) = 0.2 * IM(i) + 0.8 * IM(i - 1)
If IM(i) <> 0 And Re(i) <> 0 Then
Period(i) = 360 / Atn(IM(i) / Re(i))
End If

If Period(i) > 1.5 * Period(i - 1) Then
Period(i) = 1.5 * Period(i - 1)
End If

If Period(i) < 0.67 * Period(i - 1) Then
Period(i) = 0.67 * Period(i - 1)
End If

If Period(i) < 6 Then
Period(i) = 6
End If

If Period(i) > 50 Then
Period(i) = 50
End If

Period(i) = 0.2 * Period(i) + 0.8 * Period(i - 1)
Smoothperiod(i) = 0.33 * Period(i) + 0.67 * Smoothperiod(i - 1)

If I1(i) <> 0 Then
Phase(i) = (Atn(Q1(i) / I1(i)))
DeltaPhase(i) = Phase(i - 1) - Phase(i)
End If

If DeltaPhase(i) < 1 Then
DeltaPhase(i) = 1
End If

Alpha(i) = Fastlimit / DeltaPhase(i)
If Alpha(i) < Slowlimit Then
Alpha(i) = Slowlimit
End If

If i = StartI + 6 Then
MAMA(i) = Daten(i)
FAMA(i) = Daten(i)
Else
MAMA(i) = Alpha(i) * Daten(i) + (1 - Alpha(i)) * MAMA(i - 1)

FAMA(i) = 0.5 * Alpha(i) * MAMA(i) + (1 - 0.5 * Alpha(i)) * FAMA(i - 1)
End If

Ergebnis(i) = FAMA(i)
Next

Download FAMA

VBS-Indikatoren für Investox

 


 
 
Fisher Cyber Cycle


1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


2. Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500


3.Parameter

Name: Stoclength
Typ: Wert
Standardwert: 8
Minimum: 2
Maximum: 500

' VBS-Code


StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim Alpha,Smooth,Cycle,counter,Maxval,Counter1,MinVal,value1,value2,value3
ReDim Smooth(EndI),Cycle(EndI),value1(EndI),value2(EndI),value3(EndI)

For i = StartI + Perioden + 1 To EndI


Alpha = 2 / (Perioden + 1)
Smooth(i) = (Daten(i) + 2 * Daten(i - 1) + 2 * Daten(i - 2) + Daten(i - 3)) / 6
Cycle(i) = (1 - 0.5 * Alpha) * (1 - 0.5 * Alpha) * (Smooth(i) - 2 * Smooth(i - 1) + Smooth(i - 2)) + 2 * (1 - Alpha) * Cycle(i - 1) - (1 - Alpha) * (1 - Alpha) * Cycle(i - 2)

If i <= StartI + 7 Then
Cycle(i) = (Daten(i) - 2 * Daten(i - 1) + Daten(i - 2)) / 4
End If

 

counter = 0
Maxval = -999
Do While counter < StocLength
If Maxval < Cycle(i - counter) Then
Maxval = Cycle(i - counter)
End If
counter = counter + 1
Loop

Counter1 = 0
MinVal = 999

Do While Counter1 < StocLength
If MinVal > Cycle(i - Counter1) Then
MinVal = Cycle(i - Counter1)
End If
Counter1 = Counter1 + 1
Loop


If Maxval <> MinVal Then
value1(i) = (Cycle(i) - MinVal) / (Maxval - MinVal)
value2(i) = (4 * value1(i) + 3 * value1(i - 1) + 2 * value1(i - 2) + value1(i - 3)) / 10
value3(i) = 0.5 * Log((1 + 1.98 * (value2(i) - 0.5)) / (1 - 1.98 * (value2(i) - 0.5)))
End If


Ergebnis(i) = value3(i)



Next

Download Fisher Cyber Cycle
VBS-Indikatoren für Investox

 
 
Fisher Center of Gravity

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


2. Parameter

Name: Perioden
Typ: Wert
Standardwert: 8
Minimum: 2
Maximum: 500

' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim Cycle,counter_max,Maxval,Counter_min,MinVal,value1,value2,value3,counter,num,denom
ReDim Cycle(EndI),value1(EndI),value2(EndI),value3(EndI)

 



For i = StartI + Perioden + 1 To EndI

counter = 0
Num = 0
Denom = 0

Do While counter < Perioden

Num = Num + (1 + counter) * Daten(i - counter)
Denom = Denom + Daten(i - counter)
counter = counter + 1
Loop

If Denom <> 0 Then
Cycle(i) = -Num / Denom + (Perioden + 1) / 2
Else
Cycle(i) = Daten(i)
End If


Counter_max = 0
Maxval = -999

Do While Counter_max < Perioden
If Maxval < Cycle(i - Counter_max) Then
Maxval = Cycle(i - Counter_max)
End If
Counter_max = Counter_max + 1
Loop

Counter_min = 0
MinVal = 999

Do While Counter_min < Perioden
If MinVal > Cycle(i - Counter_min) Then
MinVal = Cycle(i - Counter_min)
End If
Counter_min = Counter_min + 1
Loop


If Maxval <> MinVal Then
value1(i) = (Cycle(i) - MinVal) / (Maxval - MinVal)
value2(i) = (4 * value1(i) + 3 * value1(i - 1) + 2 * value1(i - 2) + value1(i - 3)) / 10
value3(i) = 0.5 * Log((1 + 1.98 * (value2(i) - 0.5)) / (1 - 1.98 * (value2(i) - 0.5)))
End If


Ergebnis(i) = value3(i)


Next

Download Fisher Center of Gravity
VBS-Indikatoren für Investox


 
 
Fisher Relative Vigor Index

1. Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500


' VBS-Code

dim i,closedaten, highdaten,lowdaten,opendaten
getdaten "Close",closedaten
getdaten "High",highdaten
getdaten "Low",lowdaten
getdaten "Open",opendaten

StartI = ErsteDatenPeriode(closeDaten)
EndI = LetzteDatenPeriode(closeDaten)

Dim value1,value2,Num,Denom,counter,RVI,Counter_max,Counter_min,Maxval,MinVal,value3,Value4,Value5
ReDim value1(EndI),value2(EndI),RVI(EndI),value3(EndI),Value4(EndI),Value5(EndI)


For i = StartI + Perioden + 1 To EndI

value1(i) = ((CloseDaten(i) - openDaten(i)) + 2 * (CloseDaten(i - 1) - openDaten(i - 1)) + 2 * (CloseDaten(i - 2) - openDaten(i - 2)) + (CloseDaten(i - 3) - openDaten(i - 3))) / 6
value2(i) = ((HighDaten(i) - LowDaten(i)) + 2 * (HighDaten(i - 1) - LowDaten(i - 1)) + 2 * (HighDaten(i - 2) - LowDaten(i - 2)) + (HighDaten(i - 3) - LowDaten(i - 3))) / 6
Num = 0
Denom = 0
counter = 0

Do While counter < Perioden
Num = Num + value1(i - counter)
Denom = Denom + value2(i - counter)
counter = counter + 1
Loop

If Denom <> 0 Then
RVI(i) = Num / Denom
Else
RVI(i) = CloseDaten(i)
End If



Counter_max = 0
Maxval = -999

Do While Counter_max < Perioden
If Maxval < RVI(i - Counter_max) Then
Maxval = RVI(i - Counter_max)
End If
Counter_max = Counter_max + 1
Loop

Counter_min = 0
MinVal = 999

Do While Counter_min < Perioden
If MinVal > RVI(i - Counter_min) Then
MinVal = RVI(i - Counter_min)
End If
Counter_min = Counter_min + 1
Loop


If Maxval <> MinVal Then
value3(i) = (RVI(i) - MinVal) / (Maxval - MinVal)
Value4(i) = (4 * value3(i) + 3 * value3(i - 1) + 2 * value3(i - 2) + value3(i - 3)) / 10
Value5(i) = 0.5 * Log((1 + 1.98 * (Value4(i) - 0.5)) / (1 - 1.98 * (Value4(i) - 0.5)))
End If



Ergebnis(i) = Value5(i)

Next

Download Fisher Relative Vigor Index
VBS-Indikatoren für Investox

 
 
FIR-Filter

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


2. Parameter

Name: Alpha
Typ: Wert
Standardwert: 0,2
Minimum: 0,01
Maximum: 3

'VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim LO,L1,L2,L3,Filt,Fir
ReDim L0(EndI),L1(EndI),L2(EndI),L3(EndI),Filt(EndI),Fir(EndI)

For i = StartI + 6 To EndI


L0(i) = Alpha * Daten(i) + (1 - Alpha) * L0(i - 1)
L1(i) = -(1 - Alpha) * L0(i) + L0(i - 1) + (1 - Alpha) * L1(i - 1)
L2(i) = -(1 - Alpha) * L1(i) + L1(i - 1) + (1 - Alpha) * L2(i - 1)
L3(i) = -(1 - Alpha) * L2(i) + L2(i - 1) + (1 - Alpha) * L3(i - 1)

Filt(i) = (L0(i) + 2 * L1(i) + 2 * L2(i) + L3(i)) / 6
Fir(i) = (Filt(i) + 2 * Filt(i - 1) + 2 * Filt(i - 2) + Filt(i - 3)) / 6

If i <= StartI + 50 Then
Ergebnis(i) = NoValue
Else
Ergebnis(i) = Fir(i)

End If
Next

Download FIR-Filter
VBS-Indikatoren für Investox


 
 
FRAMA

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


2. Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500

'VBS-Code

dim i,highdaten,lowdaten
getdaten "High",highdaten
getdaten "Low",lowdaten

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim count,N1,N2,N3,HH,LL,Dimen,Alpha,Filt,Highest,Lowest,counter_Highest,counter_lowest
ReDim Filt(EndI)


For i = StartI + Perioden To EndI

 

counter_Highest = 0
Highest = -999999999

Do While counter_Highest < Perioden
If Highest < HighDaten(i - counter_Highest) Then
Highest = HighDaten(i - counter_Highest)
End If
counter_Highest = counter_Highest + 1
Loop

counter_lowest = 0
Lowest = 99999999

Do While counter_lowest < Perioden
If Lowest > LowDaten(i - counter_lowest) Then
Lowest = LowDaten(i - counter_lowest)
End If
counter_lowest = counter_lowest + 1
Loop

if n=0 then
n=0.0000001
end if

N3 = (Highest - Lowest) / Perioden

 

HH = HighDaten(i)
LL = LowDaten(i)
count = 0

For count = 0 To Perioden / 2 - 1
If HighDaten(i - count) > HH Then
HH = HighDaten(i - count)
End If
If LowDaten(i - count) < LL Then
LL = LowDaten(i - count)
End If
count = count + 1
Next

N1 = (HH - LL) / (Perioden / 2)

HH = HighDaten(i - Perioden / 2)
LL = LowDaten(i - Perioden / 2)

For count = Perioden / 2 To Perioden - 1
If HighDaten(i - count) > HH Then
HH = HighDaten(i - count)
End If
If LowDaten(i - count) < LL Then
LL = LowDaten(i - count)
End If
count = count + 1
Next

N2 = (HH - LL) / (Perioden / 2)

If N1 > 0 And N2 > 0 And N3 > 0 Then
Dimen = (Log(N1 + N2) - Log(N3)) / Log(2)
End If

Alpha = Exp(-4.6 * (Dimen - 1))

If Alpha < 0.01 Then
Alpha = 0.01
End If
If Alpha > 1 Then
Alpha = 1
End If

Filt(i) = Alpha * Daten(i) + (1 - Alpha) * Filt(i - 1)

If i <= StartI + Perioden Then
Filt(i) = Daten(i)
End If

Ergebnis(i) = Filt(i)


Next

Download FRAMA
VBS-Indikatoren für Investox


 
 
Hilbert Transformation Inphase

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


'VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim InPhase,Quadrature,value1,Imult,Qmult
ReDim InPhase(EndI),Quadrature(EndI),value1(EndI)


Imult = 0.635
Qmult = 0.338

For i = StartI + 7 To EndI



value1(i) = Daten(i) - Daten(i - 7)
InPhase(i) = 1.25 * (value1(i - 4) - Imult * value1(i - 2)) + Imult * InPhase(i - 3)
Quadrature(i) = value1(i - 2) - Qmult * value1(i) + Qmult * Quadrature(i - 2)

Ergebnis(i) = InPhase(i)
Next

Download Hilbert Inphase

VBS-Indikatoren für Investox
 
 
Hilbert Transformation Quadrature

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

' VBS-Code


StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim InPhase,Quadrature,value1,Imult,Qmult
ReDim InPhase(EndI),Quadrature(EndI),value1(EndI)

Imult = 0.635
Qmult = 0.338


For i = StartI +7 To EndI

value1(i) = Daten(i) - Daten(i - 7)
InPhase(i) = 1.25 * (value1(i - 4) - Imult * value1(i - 2)) + Imult * InPhase(i - 3)
Quadrature(i) = value1(i - 2) - Qmult * value1(i) + Qmult * Quadrature(i - 2)

Ergebnis(i) = Quadrature(i)
Next

Download Hilbert Quadrature
VBS-Indikatoren für Investox


 
 
Instantaneous Trendline

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


2. Parameter

Name: Perioden
Typ: Wert
Standardwert: 20
Minimum: 2
Maximum: 500

' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim Counter0001,Sum0001,SMA,A,sl,ssl,Inst_Trend
ReDim SMA(EndI),sl(EndI),ssl(EndI),Inst_Trend(EndI)

Function MAX(val1, val2)
If val1 > val2 Then
MAX = val1
Else
MAX = val2
End If
End Function


For i = StartI + MAX(Perioden, 3) To EndI

Counter0001 = 0
Sum0001 = 0
Do While Counter0001 < Perioden
Sum0001 = Sum0001 + Daten(i - Counter0001)
Counter0001 = Counter0001 + 1
Loop
SMA(i) = Sum0001 / Perioden


A = Perioden - 1
sl(i) = Daten(i) - Daten(i - A)
ssl(i) = (sl(i) + 2 * sl(i - 1) + 2 * sl(i - 2) + sl(i - 3)) / 6



If i = StartI + Perioden Then
Inst_Trend(i) = Daten(i)
Else
Inst_Trend(i) = SMA(i) + 0.5 * ssl(i)
End If

Ergebnis(i) = Inst_Trend(i)


Next


Download Instantaneous Trendline
VBS-Indikatoren für Investox


 
 
Laguerre-Filter

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


2. Parameter

Name: Alpha
Typ: Wert
Standardwert: 0,2
Minimum: 0,01
Maximum: 3

' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim Lo,L1,L2,L3,Filt,Fir
ReDim L0(EndI),L1(EndI),L2(EndI),L3(EndI),Filt(EndI),Fir(EndI)


For i = StartI + 6 To EndI


L0(i) = alpha * Daten(i) + (1 - alpha) * L0(i - 1)
L1(i) = -(1 - alpha) * L0(i) + L0(i - 1) + (1 - alpha) * L1(i - 1)
L2(i) = -(1 - alpha) * L1(i) + L1(i - 1) + (1 - alpha) * L2(i - 1)
L3(i) = -(1 - alpha) * L2(i) + L2(i - 1) + (1 - alpha) * L3(i - 1)

Filt(i) = (L0(i) + 2 * L1(i) + 2 * L2(i) + L3(i)) / 6
Fir(i) = (Daten(i) + 2 * Daten(i - 1) + 2 * Daten(i - 2) + Daten(i - 3)) / 6

If i <= StartI + 50 Then
Ergebnis(i) = NoValue
Else
Ergebnis(i) = Filt(i)

End If
Next

Download Laguerre Filter

VBS-Indikatoren für Investox

 
 
Laguerre-RSI

1. Parameter

Name: Gamma
Typ: Wert
Standardwert: 0,5
Minimum: 0,01
Maximum: 10


' VBS-Code


dim i,closedaten
getdaten "Close",closedaten

StartI = ErsteDatenPeriode(closeDaten)
EndI = LetzteDatenPeriode(closeDaten)

Dim Lo,L1,L2,L3,CU,CD,Laguerre
ReDim L0(EndI),L1(EndI),L2(EndI),L3(EndI),Laguerre(EndI)



For i = StartI + 1 To EndI

L0(i) = (1 - Gamma) * CloseDaten(i) + Gamma * L0(i - 1)
L1(i) = -Gamma * L0(i) + L0(i - 1) + Gamma * L1(i - 1)
L2(i) = -Gamma * L1(i) + L1(i - 1) + Gamma * L2(i - 1)
L3(i) = -Gamma * L2(i) + L2(i - 1) + Gamma * L3(i - 1)

CU = 0
CD = 0

If L0(i) >= L1(i) Then
CU = L0(i) - L1(i)
Else
CD = L1(i) - L0(i)
End If

If L1(i) >= L2(i) Then
CU = CU + L1(i) - L2(i)
Else
CD = CD + L2(i) - L1(i)
End If

If L2(i) >= L3(i) Then
CU = CU + L2(i) - L3(i)
Else
CD = CD + L3(i) - L2(i)
End If

If CU + CD <> 0 Then
Laguerre(i) = CU / (CU + CD)
End If

Ergebnis(i) = Laguerre(i)



Next

Download Laguerre RSI

VBS-Indikatoren für Investox
 
 
Meander Indikatoren (Thomas Stridsman)

keine Parameter



' VBS-Code
1. Indikator - Meander VS_High

dim i
dim setarr
dim myhigh
dim mylow
dim myclose
dim myopen
getdaten "High",myhigh
getdaten "Low",mylow
getdaten "close",myclose
getdaten "open",myopen



dim vsstd(1),SumVS,AvgVS,DiffVs,StdVS,DiffArr,VSLow,VSMid,VSHigh, sumarr
dim vs(20)
dim FName,TradeStr1

For i = 8 To letztedatenperiode(myclose)

for setarr=0 to 4

vs(setarr*4+0)=(myopen(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
vs(setarr*4+1)=(myhigh(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
vs(setarr*4+2)=(mylow(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
vs(setarr*4+3)=(myclose(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
next

For SumArr=0 to 19
if sumArr=0 then
SumVs=0
end if
SumVS=SumVS+VS(SumArr)

if SumArr=19 then
AvgVS=SumVs/20
end if

For DiffArr =0 to 19
if Diffarr=0 then
Diffvs=0
end if

Diffvs= diffvs + (vs(diffarr)-avgvs)*(vs(diffarr)-avgvs)

if diffarr = 19 then
stdvs= sqr(DiffVS/20)
end if
next
next

vshigh=(1+(avgvs+stdvs*1 ))


ergebnis(i)= vshigh*myclose(i)



next

2. Indikator - Meander VS_Mid


dim i
dim setarr
dim myhigh
dim mylow
dim myclose
dim myopen
getdaten "High",myhigh
getdaten "Low",mylow
getdaten "close",myclose
getdaten "open",myopen



dim vsstd(1),SumVS,AvgVS,DiffVs,StdVS,DiffArr,VSLow,VSMid,VSHigh(0), sumarr
dim vs(20)
dim FName,TradeStr1

For i = 8 To letztedatenperiode(myclose)

for setarr=0 to 4

vs(setarr*4+0)=(myopen(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
vs(setarr*4+1)=(myhigh(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
vs(setarr*4+2)=(mylow(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
vs(setarr*4+3)=(myclose(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
next

For SumArr=0 to 19
if sumArr=0 then
SumVs=0
end if
SumVS=SumVS+VS(SumArr)

if SumArr=19 then
AvgVS=SumVs/20
end if

For DiffArr =0 to 19
if Diffarr=0 then
Diffvs=0
end if

Diffvs= diffvs + (vs(diffarr)-avgvs)*(vs(diffarr)-avgvs)

if diffarr = 19 then
stdvs= sqr(DiffVS/20)
end if
next
next

vsmid=(1+AvgVS)


ergebnis(i)= vsmid*myclose(i)



next

3. Indikator - Meander VS_Low


dim i
dim setarr
dim myhigh
dim mylow
dim myclose
dim myopen
getdaten "High",myhigh
getdaten "Low",mylow
getdaten "close",myclose
getdaten "open",myopen



dim vsstd(1),SumVS,AvgVS,DiffVs,StdVS,DiffArr,VSLow,VSMid(0),VSHigh(0), sumarr
dim vs(20)
dim FName,TradeStr1

For i = 8 To letztedatenperiode(myclose)

for setarr=0 to 4

vs(setarr*4+0)=(myopen(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
vs(setarr*4+1)=(myhigh(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
vs(setarr*4+2)=(mylow(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
vs(setarr*4+3)=(myclose(i-setarr)-myclose(i-setarr-1))/myclose(i-setarr-1)
next

For SumArr=0 to 19
if sumArr=0 then
SumVs=0
end if
SumVS=SumVS+VS(SumArr)

if SumArr=19 then
AvgVS=SumVs/20
end if

For DiffArr =0 to 19
if Diffarr=0 then
Diffvs=0
end if

Diffvs= diffvs + (vs(diffarr)-avgvs)*(vs(diffarr)-avgvs)

if diffarr = 19 then
stdvs= sqr(DiffVS/20)
end if
next
next

vslow=(1+(avgvs-stdvs*1 ))


ergebnis(i)= vslow*myclose(i)



next


Download Meander Indikatoren

VBS-Indikatoren für Investox
 
 
Modeling the Market

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


2. Parameter

Name: Perioden
Typ: Wert
Standardwert: 20
Minimum: 2
Maximum: 500


' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim A,hp,Cyclic_Comp,Dummy,Counter,Sum,SMA,B,sl,ssl,shp,Model_Market,ITrend,currentbar
ReDim hp(EndI),Cyclic_Comp(EndI),SMA(EndI),ssl(EndI),shp(EndI),sl(EndI),Model_Market(EndI),ITrend(EndI)


Function MAX(val1, val2)
If val1 > val2 Then
MAX = val1
Else
MAX = val2
End If
End Function

Const Pi = 3.14159265

For i = StartI + MAX(Perioden, 3) To EndI

Counter = 0
Sum = 0

Do While Counter < Perioden
Sum = Sum + Daten(i - Counter)
Counter = Counter + 1
Loop
SMA(i) = Sum / Perioden

B = Perioden - 1

sl(i) = Daten(i) - Daten(i - B)
ssl(i) = (sl(i) + 2 * sl(i - 1) + 2 * sl(i - 2) + sl(i - 3)) / 6

ITrend(i) = SMA(i) + 0.5 * ssl(i)

Dummy = (2 * Pi) / Perioden

A = (1 - Sin(Dummy)) / Cos(Dummy)
hp(i) = 0.5 * (1 + A) * (Daten(i) - Daten(i - 1)) + A * hp(i - 1)

Cyclic_Comp(i) = (hp(i) + (2 * (hp(i - 1)) + (2 * hp(i - 2)) + hp(i - 3))) / 6


currentbar = i - 1

If currentbar < 4 Then
Cyclic_Comp(i) = Daten(i) - Daten(i - 1)
End If
If currentbar = 1 Then
Cyclic_Comp(i) = 0
End If


Model_Market(i) = ITrend(i) + Cyclic_Comp(i)



Ergebnis(i) = Model_Market(i)


Next

Download Modeling the Market

VBS-Indikatoren für Investox
 
 
OMA

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close


2. Parameter

Name: Perioden
Typ: Wert
Standardwert: 10
Minimum: 2
Maximum: 500

' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)


Dim Counter0001,Sum0001,SMA,Counter0002,Sum0002,Counter0003,Sum0003,Avg0002,A0_
,Devation0003,Stdabw,Oma ,Min0, Konsta
ReDim Avg0002(EndI),Devation0003(EndI),Stdabw(EndI),SMA(Endi)


For i = StartI + Perioden To EndI


'' ******SMA

Counter0001 = 0
Sum0001 = 0
Do While Counter0001 < Perioden
Sum0001 = Sum0001 + Daten(i - Counter0001)
Counter0001 = Counter0001 + 1
Loop
SMA(i) = Sum0001 / Perioden

''****Standardabweichung
Counter0002 = 0
Sum0002 = 0
Counter0003 = 0
Sum0003 = 0
Do While Counter0002 < Perioden
Sum0002 = Sum0002 + Daten(i - Counter0002)
Counter0002 = Counter0002 + 1
Loop
Avg0002(i) = Sum0002 / Perioden

Do While Counter0003 < Perioden
A0 = Daten(i - Counter0003) - Avg0002(i)
Sum0003 = Sum0003 + (A0 * A0)
Counter0003 = Counter0003 + 1
Loop
Devation0003(i) = Sqr(Sum0003 / Perioden)

If Devation0003(i) = 0 Then
Stdabw(i) = 0.00001
Else
Stdabw(i) = Devation0003(i) * Devation0003(i)
End If

Konsta = Stdabw(i) / (((Oma - SMA(i)) + 0.0001) * ((Oma - SMA(i)) + 0.0001))

If 1 < Konsta Then
Min0 = 1
Else
Min0 = Konsta
End If

If i <= Perioden Then
Oma = SMA(i)
Else
Oma = SMA(i) + Min0 * (Oma - SMA(i))

End If

'' ******ENDERGEBNIS
Ergebnis(i) = Oma

Next

Download OMA

VBS-Indikatoren für Investox

 
 
Relative Vigor Index

1. Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500


' VBS-Code

 

dim i,closedaten, highdaten,lowdaten,opendaten
getdaten "Close",closedaten
getdaten "High",highdaten
getdaten "Low",lowdaten
getdaten "Open",opendaten

StartI = ErsteDatenPeriode(closeDaten)
EndI = LetzteDatenPeriode(closeDaten)

Dim Value1,Value2,Num,Denom,Counter
ReDim Value1(EndI),Value2(EndI)

For i = StartI + Perioden To EndI

Value1(i) = ((CloseDaten(i) - openDaten(i)) + 2 * (CloseDaten(i - 1) - openDaten(i - 1)) + 2 * (CloseDaten(i - 2) - openDaten(i - 2)) + (CloseDaten(i - 3) - openDaten(i - 3))) / 6
Value2(i) = ((HighDaten(i) - LowDaten(i)) + 2 * (HighDaten(i - 1) - LowDaten(i - 1)) + 2 * (HighDaten(i - 2) - LowDaten(i - 2)) + (HighDaten(i - 3) - LowDaten(i - 3))) / 6
Num = 0
Denom = 0
Counter = 0

Do While Counter < Perioden
Num = Num + Value1(i - Counter)
Denom = Denom + Value2(i - Counter)
Counter = Counter + 1
Loop

If Denom <> 0 Then
Ergebnis(i) = Num / Denom
Else
Ergebnis(i) = CloseDaten(i)
End If
Next

Download Relative Vigor Index

VBS-Indikatoren für Investox
 
 
Relative Vigor Index Trigger

1. Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500

' VBS-Code

dim i,closedaten, highdaten,lowdaten,opendaten
getdaten "Close",closedaten
getdaten "High",highdaten
getdaten "Low",lowdaten
getdaten "Open",opendaten

StartI = ErsteDatenPeriode(closeDaten)
EndI = LetzteDatenPeriode(closeDaten)

Dim Value1,Value2,Num,Denom,Counter,RVI,RVITrigger
ReDim Value1(EndI),Value2(EndI),RVI(EndI),RVITrigger(EndI)


For i = StartI + Perioden + 1 To EndI

Value1(i) = ((CloseDaten(i) - openDaten(i)) + 2 * (CloseDaten(i - 1) - openDaten(i - 1)) + 2 * (CloseDaten(i - 2) - openDaten(i - 2)) + (CloseDaten(i - 3) - openDaten(i - 3))) / 6
Value2(i) = ((HighDaten(i) - LowDaten(i)) + 2 * (HighDaten(i - 1) - LowDaten(i - 1)) + 2 * (HighDaten(i - 2) - LowDaten(i - 2)) + (HighDaten(i - 3) - LowDaten(i - 3))) / 6
Num = 0
Denom = 0
Counter = 0

Do While Counter < Perioden
Num = Num + Value1(i - Counter)
Denom = Denom + Value2(i - Counter)
Counter = Counter + 1
Loop

If Denom <> 0 Then
RVI(i) = Num / Denom
Else
RVI(i) = CloseDaten(i)
End If
RVITrigger(i) = (RVI(i) + 2 * RVI(i - 1) + 2 * RVI(i - 2) + RVI(i - 3)) / 6

Ergebnis(i) = RVITrigger(i)

Next

Download Relative Vigor Index Trigger

VBS-Indikatoren für Investox

 

 

 
 
Stochastic Cyber Cycle
1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500

3.Parameter

Name: Stoch_Perioden
Typ: Wert
Standardwert: 8
Minimum: 2
Maximum: 500


' VBS-Code


StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim alpha,Smooth,Cycle,Counter,Maxval,Counter1,MinVal,Value1,Value2
ReDim Smooth(EndI),Cycle(EndI), Value1(EndI),Value2(EndI)


For i = StartI + Perioden + 1 To EndI


alpha = 2 / (Perioden + 1)
Smooth(i) = (Daten(i) + 2 * Daten(i - 1) + 2 * Daten(i - 2) + Daten(i - 3)) / 6
Cycle(i) = (1 - 0.5 * alpha) * (1 - 0.5 * alpha) * (Smooth(i) - 2 * Smooth(i - 1) + Smooth(i - 2)) + 2 * (1 - alpha) * Cycle(i - 1) - (1 - alpha) * (1 - alpha) * Cycle(i - 2)

If i <= StartI + 7 Then
Cycle(i) = (Daten(i) - 2 * Daten(i - 1) + Daten(i - 2)) / 4
End If

Counter = 0
Maxval = -999
Do While Counter < Stoch_Perioden
If Maxval < Cycle(i - Counter) Then
Maxval = Cycle(i - Counter)
End If
Counter = Counter + 1
Loop

Counter1 = 0
MinVal = 999

Do While Counter1 < Stoch_Perioden
If MinVal > Cycle(i - Counter1) Then
MinVal = Cycle(i - Counter1)
End If
Counter1 = Counter1 + 1
Loop


If Maxval <> MinVal Then
Value1(i) = (Cycle(i) - MinVal) / (Maxval - MinVal)
Value2(i) = (4 * Value1(i) + 3 * Value1(i - 1) + 2 * Value1(i - 2) + Value1(i - 3)) / 10
Value2(i) = 2 * (Value2(i) - 0.5)
End If


Ergebnis(i) = Value2(i)

next

Download Stochastic Cyber Cycle

VBS-Indikatoren für Investox
 
 
Stochastic Cyber Cycle Trigger

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500

3.Parameter

Name: Stoch_Perioden
Typ: Wert
Standardwert: 8
Minimum: 2
Maximum: 500

' VBS-Code


StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

Dim alpha,Smooth,Cycle,Counter,Maxval,Counter1,MinVal,Value1,Value2,Signal
ReDim Smooth(EndI),Cycle(EndI), Value1(EndI),Value2(EndI),Signal(EndI)



For i = StartI + Perioden + 1 To EndI


alpha = 2 / (Perioden + 1)
Smooth(i) = (Daten(i) + 2 * Daten(i - 1) + 2 * Daten(i - 2) + Daten(i - 3)) / 6
Cycle(i) = (1 - 0.5 * alpha) * (1 - 0.5 * alpha) * (Smooth(i) - 2 * Smooth(i - 1) + Smooth(i - 2)) + 2 * (1 - alpha) * Cycle(i - 1) - (1 - alpha) * (1 - alpha) * Cycle(i - 2)

If i <= StartI + 7 Then
Cycle(i) = (Daten(i) - 2 * Daten(i - 1) + Daten(i - 2)) / 4
End If

Counter = 0
Maxval = -999

Do While Counter < Stoch_Perioden
If Maxval < Cycle(i - Counter) Then
Maxval = Cycle(i - Counter)
End If
Counter = Counter + 1
Loop

Counter1 = 0
MinVal = 999

Do While Counter1 < Stoch_Perioden
If MinVal > Cycle(i - Counter1) Then
MinVal = Cycle(i - Counter1)
End If
Counter1 = Counter1 + 1
Loop


If Maxval <> MinVal Then
Value1(i) = (Cycle(i) - MinVal) / (Maxval - MinVal)
Value2(i) = (4 * Value1(i) + 3 * Value1(i - 1) + 2 * Value1(i - 2) + Value1(i - 3)) / 10
Value2(i) = 2 * (Value2(i) - 0.5)
Signal(i) = 0.96 * (Value2(i - 1) + 0.02)
End If


Ergebnis(i) = Signal(i)


next

 

Download Stochastic CC Trigger

VBS-Indikatoren für Investox

 
 
Stochastic Center Center of Gravity

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500


' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

 

Dim alpha,Smooth,Cycle,Counter_max,Maxval,Counter_min,MinVal,Value1,Value2,Counter,Num,Denom
ReDim Smooth(EndI),Cycle(EndI),Value1(EndI),Value2(EndI)

For i = StartI + Perioden + 1 To EndI

Counter = 0
Num = 0
Denom = 0

Do While Counter < Perioden

Num = Num + (1 + Counter) * Daten(i - Counter)
Denom = Denom + Daten(i - Counter)
Counter = Counter + 1
Loop

If Denom <> 0 Then
Cycle(i) = -Num / Denom + (Perioden + 1) / 2
Else
Cycle(i) = Daten(i)
End If

Counter_max = 0
Maxval = -999

Do While Counter_max < Perioden
If Maxval < Cycle(i - Counter_max) Then
Maxval = Cycle(i - Counter_max)
End If
Counter_max = Counter_max + 1
Loop

Counter_min = 0
MinVal = 999

Do While Counter_min < Perioden
If MinVal > Cycle(i - Counter_min) Then
MinVal = Cycle(i - Counter_min)
End If
Counter_min = Counter_min + 1
Loop


If Maxval <> MinVal Then
Value1(i) = (Cycle(i) - MinVal) / (Maxval - MinVal)
Value2(i) = (4 * Value1(i) + 3 * Value1(i - 1) + 2 * Value1(i - 2) + Value1(i - 3)) / 10
Value2(i) = 2 * (Value2(i) - 0.5)
End If


Ergebnis(i) = Value2(i)



Next

Download Stochastic Center of Gravity

VBS-Indikatoren für Investox
 
 
Stochastic Center of Gravity Trigger

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500


' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)

 

Dim alpha,Smooth,Cycle,Counter_max,Maxval,Counter_min,MinVal,Value1,Value2,Counter,Num,Denom,Signal
ReDim Smooth(EndI),Cycle(EndI),Value1(EndI),Value2(EndI), Signal(EndI)

For i = StartI + Perioden + 1 To EndI

Counter = 0
Num = 0
Denom = 0

Do While Counter < Perioden

Num = Num + (1 + Counter) * Daten(i - Counter)
Denom = Denom + Daten(i - Counter)
Counter = Counter + 1
Loop

If Denom <> 0 Then
Cycle(i) = -Num / Denom + (Perioden + 1) / 2
Else
Cycle(i) = Daten(i)
End If

Counter_max = 0
Maxval = -999

Do While Counter_max < Perioden
If Maxval < Cycle(i - Counter_max) Then
Maxval = Cycle(i - Counter_max)
End If
Counter_max = Counter_max + 1
Loop

Counter_min = 0
MinVal = 999

Do While Counter_min < Perioden
If MinVal > Cycle(i - Counter_min) Then
MinVal = Cycle(i - Counter_min)
End If
Counter_min = Counter_min + 1
Loop


If Maxval <> MinVal Then
Value1(i) = (Cycle(i) - MinVal) / (Maxval - MinVal)
Value2(i) = (4 * Value1(i) + 3 * Value1(i - 1) + 2 * Value1(i - 2) + Value1(i - 3)) / 10
Value2(i) = 2 * (Value2(i) - 0.5)
Signal(i) = 0.96 * (Value2(i - 1) + 0.02)
End If


Ergebnis(i) = Signal(i)



Next

Download Stochastic CG Trigger

VBS-Indikatoren für Investox
 
 
Stochastic Relative Vigor Index

1.Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500


' VBS-Code



dim i,closedaten, highdaten,lowdaten,opendaten
getdaten "Close",closedaten
getdaten "High",highdaten
getdaten "Low",lowdaten
getdaten "Open",opendaten

StartI = ErsteDatenPeriode(closeDaten)
EndI = LetzteDatenPeriode(closeDaten)

Dim Value1,Value2,Num,Denom,Counter,RVI,Counter_max,Maxval,Counter_min,MinVal,value3,Value4
ReDim Value1(EndI),Value2(EndI),RVI(EndI),value3(EndI),Value4(EndI)



For i = StartI + Perioden + 1 To EndI

Value1(i) = ((CloseDaten(i) - openDaten(i)) + 2 * (CloseDaten(i - 1) - openDaten(i - 1)) + 2 * (CloseDaten(i - 2) - openDaten(i - 2)) + (CloseDaten(i - 3) - openDaten(i - 3))) / 6
Value2(i) = ((HighDaten(i) - LowDaten(i)) + 2 * (HighDaten(i - 1) - LowDaten(i - 1)) + 2 * (HighDaten(i - 2) - LowDaten(i - 2)) + (HighDaten(i - 3) - LowDaten(i - 3))) / 6
Num = 0
Denom = 0
Counter = 0

Do While Counter < Perioden
Num = Num + Value1(i - Counter)
Denom = Denom + Value2(i - Counter)
Counter = Counter + 1
Loop

If Denom <> 0 Then
RVI(i) = Num / Denom
Else
RVI(i) = CloseDaten(i)
End If



Counter_max = 0
Maxval = -999

Do While Counter_max < Perioden
If Maxval < RVI(i - Counter_max) Then
Maxval = RVI(i - Counter_max)
End If
Counter_max = Counter_max + 1
Loop

Counter_min = 0
MinVal = 999

Do While Counter_min < Perioden
If MinVal > RVI(i - Counter_min) Then
MinVal = RVI(i - Counter_min)
End If
Counter_min = Counter_min + 1
Loop


If Maxval <> MinVal Then
value3(i) = (RVI(i) - MinVal) / (Maxval - MinVal)
Value4(i) = (4 * value3(i) + 3 * value3(i - 1) + 2 * value3(i - 2) + value3(i - 3)) / 10
Value4(i) = 2 * (Value4(i) - 0.5)
End If



Ergebnis(i) = Value4(i)

Next


Download Stochastic RVI
VBS-Indikatoren für Investox

 
 
Stochastic Relative Vigor Index Trigger

1.Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500


' VBS-Code


dim i,closedaten, highdaten,lowdaten,opendaten
getdaten "Close",closedaten
getdaten "High",highdaten
getdaten "Low",lowdaten
getdaten "Open",opendaten

StartI = ErsteDatenPeriode(closeDaten)
EndI = LetzteDatenPeriode(closeDaten)

Dim Value1,Value2,Num,Denom,Counter,RVI,Counter_max,Maxval,Counter_min,MinVal,value3,Value4,Signal
ReDim Value1(EndI),Value2(EndI),RVI(EndI),value3(EndI),Value4(EndI),Signal(EndI)



For i = StartI + Perioden + 1 To EndI

Value1(i) = ((CloseDaten(i) - openDaten(i)) + 2 * (CloseDaten(i - 1) - openDaten(i - 1)) + 2 * (CloseDaten(i - 2) - openDaten(i - 2)) + (CloseDaten(i - 3) - openDaten(i - 3))) / 6
Value2(i) = ((HighDaten(i) - LowDaten(i)) + 2 * (HighDaten(i - 1) - LowDaten(i - 1)) + 2 * (HighDaten(i - 2) - LowDaten(i - 2)) + (HighDaten(i - 3) - LowDaten(i - 3))) / 6
Num = 0
Denom = 0
Counter = 0

Do While Counter < Perioden
Num = Num + Value1(i - Counter)
Denom = Denom + Value2(i - Counter)
Counter = Counter + 1
Loop

If Denom <> 0 Then
RVI(i) = Num / Denom
Else
RVI(i) = CloseDaten(i)
End If



Counter_max = 0
Maxval = -999

Do While Counter_max < Perioden
If Maxval < RVI(i - Counter_max) Then
Maxval = RVI(i - Counter_max)
End If
Counter_max = Counter_max + 1
Loop

Counter_min = 0
MinVal = 999

Do While Counter_min < Perioden
If MinVal > RVI(i - Counter_min) Then
MinVal = RVI(i - Counter_min)
End If
Counter_min = Counter_min + 1
Loop


If Maxval <> MinVal Then
value3(i) = (RVI(i) - MinVal) / (Maxval - MinVal)
Value4(i) = (4 * value3(i) + 3 * value3(i - 1) + 2 * value3(i - 2) + value3(i - 3)) / 10
Value4(i) = 2 * (Value4(i) - 0.5)
Signal(i) = 0.96 * (Value4(i - 1) + 0.02)
End If



Ergebnis(i) = signal(i)

Next

Download Stochastic RVI-Trigger
VBS-Indikatoren für Investox

 
 
Wilders Smoothing

1. Parameter

Name: Daten
Typ: Datenreihe
Standardwert: close

2.Parameter

Name: Perioden
Typ: Wert
Standardwert: 14
Minimum: 2
Maximum: 500


' VBS-Code

StartI = ErsteDatenPeriode(Daten)
EndI = LetzteDatenPeriode(Daten)


Dim Counter,Sum,GD,wilders
ReDim GD(EndI)


For i = StartI + Perioden To EndI


Counter = 0
Sum = 0
Do While Counter < Perioden
Sum = Sum + Daten(i - Counter)
Counter = Counter + 1
Loop
GD(i) = Sum / Perioden

If i <= StartI + 2 * Perioden Then
wilders = GD(i)
Else
wilders = (Daten(i) / Perioden + (1 - 1 / Perioden) * wilders)
End If

'' ******ENDERGEBNIS
Ergebnis(i) = wilders

next


Download Wilders Smoothing

 



VBS Indikatoren, Investox, Visual Basic Script

Das folgende Buch ist DER Top-Titel für eine systematische Einarbeitung in VBS. Es ist sehr verständlich geschrieben und vermittelt dennoch fundiertes Know-How. Auch Programmier-Anfänger können damit sehr schnell die ersten Scripte coden....



Investox Trough Value Metastock

Kurzanleitung zum Import von Indikatoren in Investox

1. Entpacken Sie die Datei nach dem Download mit einem Packprogramm (z.B. Winzip)

2. Starten Sie Investox und öffen Sie ein vorhandenes Projekt oder legen Sie ein neues Projekt an.

3. Doppelklicken Sie in der Befehlszeile das Icon: "Neuronale Netze und Anwenderindikatoren anzeigen".

4. Klicken Sie auf "Importieren" und wählen Sie im folgenden Fenster den Ort der heruntergeladenen Datei aus.

5. Markieren Sie den zu importierenden Indikator und wählen Sie "Öffnen".

6. Im folgenden Fenster aktivieren Sie das Häkchen vor dem Indikatornamen und klicken dann 2x "Weiter " und einmal "Fertigstellen" an.

7. Der Indikator steht Ihnen jetzt für die Arbeit in Investox zur Verfügung.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Seitenanfang | Site Map |Suche | Kontakt | Über uns | |© copyright 2003-2010 Ascunia

Startseite
Produktübersicht What´s New ?
Handelssysteme Seminare Coaching
Programmierungen Candlestick Plugin für Investox

Downloads BücherLinksForum KontaktPartner Disclaimer Impressum