Donnerstag, 18. April 2024, 20:58 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

LoboTrader Männlich

Fortgeschrittener

Registrierungsdatum: 13. Oktober 2012

Beiträge: 118

Wohnort: BW

1

Samstag, 19. September 2015, 23:01

Lobo´s Einarbeitung in VBS : MACD

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
'Start Berechnung
'##############################################################################################

#_Timeout 100000#
#_KeinGUI#


' EDIT Parameter nachgetragen nur für Investoxforum Frage , Settings so auch 
' im Chart unten ...... ==>> Daten = Close , FastEMA = 5 , SlowEMA = 15 , SignalEMA = 10  

'______________________________________________________________________________________________

startindex= erstedatenperiode(Daten)
endindex= letztedatenperiode(Daten)

dim startindex,endindex , i , Wert , Counter ,FaktorFast , FaktorSlow , FaktorSignal
dim fastgd(),slowgd(),signalgd(),macd()
redim fastgd(endindex),slowgd(endindex),signalgd(endindex),macd(endindex)
FaktorFast = 2/( 1 + FastEMA )
FaktorSlow = 2/( 1 + SlowEMA )
FaktorSignal = 2/( 1 + SignalEMA )
startindex = int(startindex + SlowEMA)

' Berechnung des Fast Moving Average
		fastgd(startindex) = Daten(startindex)
		For i = startindex + 1 to endindex

				Wert = FaktorFast * Daten(i) + ( 1 - FaktorFast) * fastgd(i-1) 
				fastgd(i)=Wert
			
		Next 

' Berechnung des Slow Moving Average
		slowgd(startindex) = Daten(startindex)
		For i = startindex + 1 to endindex

				Wert = FaktorSlow * Daten(i) + ( 1 - FaktorSlow) * slowgd(i-1) 
				slowgd(i)=Wert
			
		Next 

' Berechnung des Datenfeldes Histogram
		For i = startindex + 1 to endindex
				
				Wert = fastgd(i) - slowgd(i)
				macd(i)= Wert
		Next 

' Berechnung der Signallinie
		Signalgd(startindex) = macd(startindex)
		For i = startindex + 1 to endindex

				Wert = FaktorSignal * macd(i) + ( 1 - FaktorSignal) * macd(i-1) 
				Signalgd(i) = Wert
				ergebnis(i) = Wert
		Next


Hallo

neu im VBS und arbeite mich gerade mit Hilfe des sehr sehr hilfreichen Paketes von ASCUNIA ein .

Eigentlich nur "zur Übung" (aber mit DiNapoli-Indikatoren als Ziel) bemühe ich mich darum, den MACD in VBS zu bestimmen . Das funktioniert mit dem Code oben solange 1a bis ich zur Signallinie komme . Dort bekomme ich im Chart als Ergebnis wieder die Werte des MACD und nicht des GD über den MACD ( also die Signallinie) angezeigt .




Der Code des VBS - Indikator für den MACD im Chart ist "baugleich" mit dem Code oben , nur eben reduziert um den Code für die Signallinie . Die FastEMA und SlowEMA habe ich ebenfalls auf gleiche Weise wie den MACD vorher mit INVESTOX überprüft , stimmen auch ( Logo, wenn der MACD stimmt) .

So , nun vielen Dank im voraus für Eure Tipps .

Lobo
Do not trade alone ....

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »LoboTrader« (20. September 2015, 02:19)


LoboTrader Männlich

Fortgeschrittener

Registrierungsdatum: 13. Oktober 2012

Beiträge: 118

Wohnort: BW

2

Sonntag, 20. September 2015, 02:41

Und die Antwort lautet

...das ich einen doofen copy & paste Fehler gemacht habe , denn

Quellcode

1
2
3
4
5
6
7
8
' Berechnung der Signallinie
		Signalgd(startindex) = macd(startindex)
		For i = startindex + 1 to endindex

				Wert = FaktorSignal * macd(i) + ( 1 - FaktorSignal) * macd(i-1) 
				Signalgd(i) = Wert
				ergebnis(i) = Wert
		Next


ist falsch und

Quellcode

1
2
3
4
5
6
7
8
' Berechnung der Signallinie
		Signalgd(startindex) = macd(startindex)
		For i = startindex + 1 to endindex

				Wert = FaktorSignal * macd(i) + ( 1 - FaktorSignal) * Signalgd(i-1) 
				Signalgd(i) = Wert
				ergebnis(i) = Wert
		Next


ist in Zeile 5 richtig .

Gruß
Lobo
Do not trade alone ....