Hallo,
ich würde gern folgendes Szenario in VBScript umsetzen:
1. ein Indi soll berechnet werden
2. die TradeInformationen sollen in ein File geschrieben werden (dieser Teil ist in unten angeführtem Script noch nicht implementiert)
Zum testen habe ich die Scripts von der Investox-Webseite benutzt (Script-MACD und Script-GetTradeInfo). Zudem habe ich ein einfaches HS erstellt, das nur Long-Seite handelt, Signalgeber ist der VBScript-Indikator Script-MACD in Verbindung mit dem Tradedauerstop (5 Perioden). Somit ist das System immer Long mit Unterbrechungen alle 5 Perioden.
MACD und die Trades werden korrekt berechnet und auch im Chart dargestellt. Durch testen musste ich feststellen, dass die "tradeanzahl" immer 0 ist und ich im Script-GetTradeInfo gar nicht über das erste if-Anweisung komme. Tradeliste habe ich im Chart mit #_TradelisteEinbinden# eingebunden.
Hätte da jemand von euch eine Idee wo ich ein Fehler mache?
Ist es möglich auf die gesamte KK von VBS zuzugreifen?
Danke giuseppe
|
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
|
''Script-MACD ------------------------------------------------------------
dim i
dim mymacd
if scriptberechneformel("macd(close)", mymacd) then
for i= 1 to AllePerioden
Ergebnis(i)=mymacd(i)
next
end if
msgbox tradeanzahl '' <---------- WIE VIELE TRADES WURDEN GENERIERT?----------------
''Script-GetTradeInfo ------------------------------------------------------------
dim aktTradeNr
dim startperiod
dim endperiod
dim wert
dim datum
dim TradeStartdatum
dim DatenOffset
if tradeanzahl>0 then '' <---------- HIER KOMME ICH NIE DURCH ------------------------------
'Zuerst ermitteln, welcher Offset in den Perioden von
'Tradeliste und Chartdaten besteht
getdatum datum
TradeStartdatum=tradeergebnis(1,"startdate")
Startperiod=tradeergebnis(1,"startperiod")
for i=1 to alleperioden
if datum(i)>=TradeStartdatum then
DatenOffset=i-Startperiod
exit for
end if
next
' Jetzt das gewünschte Ergebnis kopieren
for aktTradeNr = 1 to tradeanzahl
startperiod=tradeergebnis(akttradenr,"startperiod")
endperiod=tradeergebnis(akttradenr,"endperiod")
' Hier wird "Opendrawdown" kopiert
' ansonsten stehen zur Verfügung:
' "position"
' "startperiod"
' "endperiod"
' "tradedperiods"
' "investStart"
' "investEnd"
' "paidcommissions"
' "opendrawdown"
' "exitreason"
' "startdate"
' "enddate"
' "stückzahl"
' "cash"
' "zinsen"
' "paidtax"
' "enterbasis"
' "exitbasis"
' "maxgewinn"
' "stopnr"
' "pyramidstückzahl"
' "tradehigh"
' "tradelow"
wert=tradeergebnis(akttradenr,"cash")
for i = startperiod to endperiod
if i+datenoffset <= AllePerioden then
ergebnis(i+datenoffset)=wert
end if
next
next
else
'Ohne Tradeliste: Alles auf 0 setzen
for i=1 to alleperioden
ergebnis(i)=0
next
end if
|
keep going on...
Inv [7.6.7]
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Giuseppe« (9. August 2010, 23:27)