Hier der Code meines Indikators:
der berechnet die Kapitalkurve ohne Kosten.
Wenn ich jedoch den Profitfakor auf identischem Wege berechnen möchte, müßte ich die Ergebnis Berechnung wie folgt abändern:
|
Quellcode
|
1
|
ergebnis(i+datenoffset)=-summegewinner/summeverlierer
|
Leider erhalte ich dann aber keine Ergebnisse mehr zurück, sondern nur K/A.
Das verwundert mich schon sehr, dass das ersetzen der Addition durch die Divison zu diesem Ergebniss führt.
|
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
|
dim i
dim aktTradeNr
dim startperiod
dim endperiod
dim wert
dim datum
dim TradeStartdatum
dim DatenOffset
dim anzahlgewinner, anzahlverlierer, summegewinner, summeverlierer
anzahlgewinner=0
anzahlverlierer=0
summegewinner=0
summeverlierer=0
if tradeanzahl>0 then
'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")
wert=(tradeergebnis(akttradenr,"exitbasis") - tradeergebnis(akttradenr,"enterbasis"))*tradeergebnis(akttradenr,"position")
if wert>0 then
anzahlgewinner=anzahlgewinner+1
summegewinner=summegewinner+wert
else
if wert<0 then
anzahlverlierer=anzahlverlierer+1
summeverlierer=summeverlierer+wert
end if
end if
for i = startperiod to endperiod
if i+datenoffset <= AllePerioden then
ergebnis(i+datenoffset)=summegewinner+summeverlierer
end if
next
next
else
'Ohne Tradeliste: Alles auf 0 setzen
for i=1 to alleperioden
ergebnis(i)=1
next
end if
|
If you think it´s expensive to hire a professional, wait until you hire an amateur.