Dienstag, 16. April 2024, 21:36 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.

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 ....