Mittwoch, 17. Oktober 2018, 04:15 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.

Yoggi

unregistriert

1

Dienstag, 15. April 2008, 18:57

Profitfaktor im Chart anzeigen lassen - geht das?

Hallo,

ich würde mir gerne den Profitfaktor des Handelssystems im Chart anzeigen lassen, also den fortlaufend sich verändernden Wert nach jedem Trade. Ist das möglich? Und wenn ja, kann mir jemand einen Tip geben, wie ich das hinkriegen kann?
Vielen Dank für die Hilfe schonmal.
Schönen Abend noch
Yoggi

Yoggi

unregistriert

2

Donnerstag, 17. April 2008, 11:57

Hallo,

darf ich nochmal fragen, ob jemand eine Möglichkeit sieht, den Profitfaktor im Chart als Zeitreihe abzubilden? Ich will prüfen, ob man an der Veränderung des Profitfaktors evt. die Verschlechterung eines Handelssystems messen kann.
Danke fürs Mitüberlegen!
Yoggi

Tim Männlich

Profi

Registrierungsdatum: 5. August 2004

Beiträge: 441

3

Donnerstag, 17. April 2008, 12:02

Hallo Yoggi,

möglich ist das auf jeden Fall in V5 über VBS.
Hast Du die Formel für den Profitfaktor da ?
Dann schau ich es mir gern mal an.

Cu Tim

Yoggi

unregistriert

4

Donnerstag, 17. April 2008, 13:36

Hallo Tim,

danke schonmal für das Hilfsangebot. Ich kenne als Formel für den Profitfaktor nur
(Durchschnittl. Gewinn / Durchschnittl. Verlust) *
(Anzahl Gewinntrades / Anzahl Verlusttrades)

Aber meine Frage ist ja eben, wie man auf die Ergebnisse der Handelssystemauswertung in einer Formel zugreifen kann. Ich wüßte jetzt nicht, wie man den durchschnittlichen Gewinn so berechnet, dass man eine fortlaufende Zeitreihe bekommt. Ich wüßte, wie man das in Excel macht, aber immer nur für eine feste Menge an Trades, hier geht es ja aber gerade darum, die Veränderung des Profitfaktors über die Zeit zu betrachten.
Aber wenn Du eine Ahnung hast, wie das gehen könnte wäre das natürlich klasse.
Danke nochmal
Yoggi

Tim Männlich

Profi

Registrierungsdatum: 5. August 2004

Beiträge: 441

5

Donnerstag, 17. April 2008, 13:56

Zitat

Aber meine Frage ist ja eben, wie man auf die Ergebnisse der Handelssystemauswertung in einer Formel zugreifen kann. Ich wüßte jetzt nicht, wie man den durchschnittlichen Gewinn so berechnet, dass man eine fortlaufende Zeitreihe bekommt.


Du kannst in V5 mit dem Schlüsselwort
#_tradelisteeinbinden#
die Eigenschaften der Investox-Tradeliste abgreifen. Auf Basis von Einstiegspreis / Ausstiegspreis, Tradeanzahl, Kosten kannst Du dann den Nettogewinn ---durchschnittlichen Gewinn /durchschnittlichen Verlust, Anzahl Gewinntrades + Verlusttrades und daraus schlussendlich den Profitfaktor errechnen und später als Anwenderindikator im Chart anzeigen lassen.
Für die Demonstration des Zugriffes auf Eigenschaften der Tradeliste lieferte Herr Knöpfel einen Beispiel-Indikator mit V5 (Script-Tradeinfo).

Die programmiertechnische Umsetzung für den Profitfaktor ist allerdings nicht ganz trivial bzw. zumindest einigermaßen zeitaufwändig.

Cu Tim

Yoggi

unregistriert

6

Donnerstag, 17. April 2008, 16:09

Hallo Tim,

danke für die Hinweise, mit VBS habe ich mich leider noch nicht genug beschäftigt. Aber trotzdem gut zu wissen, wie es funktionieren könnte.
Alles Gute
Yoggi

Lenzelott Männlich

Erleuchteter

Registrierungsdatum: 30. Dezember 2002

Beiträge: 2 901

Wohnort: Giessen

7

Sonntag, 20. April 2008, 16:55

Mal ne ganz andere Frage:
Willst Du den Profitfaktor für die letzten x Trades anzeigen oder ab Handelssystembeginn?
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Lenzelott Männlich

Erleuchteter

Registrierungsdatum: 30. Dezember 2002

Beiträge: 2 901

Wohnort: Giessen

8

Sonntag, 20. April 2008, 18:20

VB Indikator

Ich habe Dir das mal schnell zusammengeklöppelt. Als Vorlage habe ich dazu den Indi von Investox genommen, der dort zum Downloadbereitsteht.

Was der indikator macht ist folgendes:
Er holt sich zu jedem Trade die Einsteigs und Aussteigsbasis und die Taderichtung und berechnet daraus das Tradergebniss.
Dann summiert er die ewinner und Verlierer.
Als Ergebnis gibt er die Summe daraus aus. Sprich die Kapitalkurve wird nachgebildet.

Quellcode

1
ergebnis(i+datenoffset)=summegewinner+summeverlierer

Um den profitfaktor zu berechnen müßte das Ergebnis wie folgt berechnet werden:

Quellcode

1
ergebnis(i+datenoffset)=-summegewinner/summeverlierer


Leider gibt IV dann bei mir aber kein Ergebnis zurück. :fire:
Aber ich hoffe das Prinzip ist Dir damit klar geworden

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.

Lenzelott Männlich

Erleuchteter

Registrierungsdatum: 30. Dezember 2002

Beiträge: 2 901

Wohnort: Giessen

9

Sonntag, 20. April 2008, 20:07

Nachdem mir TIm gerade auf die Sprünge geholfen hat den Fehler zu finedn (Div by zero) hier der Profitfaktor zum Einblenden in den Chart

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
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
			  if summeverlierer<>0  then
				ergebnis(i+datenoffset)=-(summegewinner/summeverlierer)
              else
			    ergebnis(i+datenoffset)=0
			  end if
			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.

Yoggi

unregistriert

10

Sonntag, 20. April 2008, 22:48

Hallo Lenzelott,
wow!
Vielen Dank für die Mühe, die ich nur erahnen kann. Ich werde mir morgen mal ansehen, wie ich den Quellcode jetzt einbinden kann und mich dann mit großen Dank nochmal melden, wenn ich den Profitfaktor im Chart sehe.
Guten Wochenstart!
Yoggi

Yoggi

unregistriert

11

Montag, 21. April 2008, 07:59

Hallo Lenzelott,

vielen Dank nochmal für die Mühe. Ich habe den Indikator jetzt gerade bei mir erstellt und im Chart eingeblendet, erhalte aber immer nur den Wert 1 - also eine gerade Linie, die immer den Wert 1 anzeigt -. Hast Du einen Tip für mich, was ich falsch gemacht haben könnte? Ich habe einmal versucht den FDAX zu markieren und dann den Indikator anzeigen zu lassen, dann habe ich die Kapitalkurve markiert - beidesmale aber nur die 1 als Ergebnis erhalten.
Yoggi
»Yoggi« hat folgendes Bild angehängt:
  • Zwischenablage01.png

Yoggi

unregistriert

12

Montag, 21. April 2008, 09:19

Hallo,

alles zurück. Es funktioniert. Ich hatte bei Formel einfügen anstelle
#_TradelisteEinbinden#
Profitfaktor()

nur
#_TradelisteEinbinden#
Profitfaktor

geschrieben, also hinter dem Namen des Indikators die Klammern vergessen.
Nochmals vielen Dank!
Yoggi

Lenzelott Männlich

Erleuchteter

Registrierungsdatum: 30. Dezember 2002

Beiträge: 2 901

Wohnort: Giessen

13

Montag, 21. April 2008, 11:06

Der Indi ist "nur" die Rohversion des Profitfaktores.
Nicht berücksichtigt werden die Handelskosten.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Bernd

Erleuchteter

Registrierungsdatum: 5. Juni 2005

Beiträge: 3 896

Wohnort: Iringsweg

14

Montag, 21. April 2008, 19:53

Hallo Lenzelott

Prima gemacht! Sieht strukturiert aus, Dein Coding.

Indi ist "nur" die Rohversion

Heisst das, Du entwickelst den Indi noch ein wenig weiter, und ich sollte noch warten, ihn bei mir zu installieren?
Gruss
Bernd

-----------------------------------------------
http://www.13quants.ch

Lenzelott Männlich

Erleuchteter

Registrierungsdatum: 30. Dezember 2002

Beiträge: 2 901

Wohnort: Giessen

15

Montag, 21. April 2008, 20:04

Installier Dir den schon mal.
Bis ich was neues habe dauert noch.

Ich könnte mir vorstellen, dass man den Indikator verallgemeinert.
der könnte ja nicht nur den Profitfaktor zurückgeben.

außerdem könnte ich mir vorstellen, dass es viel interessanter ist den Profitfaktor der letzten x Trades zu sehen, statt für´s ganze HS.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Yoggi

unregistriert

16

Montag, 21. April 2008, 21:08

Hallo Lenzelott,

erstmal alles Gute für die OP auch von mir.
Ich habe auch schon etwas über die Frage nachgedacht, ob der Profitfaktor der letzten x Trades nicht interessanter wäre als der für das ganze HS. Folgendes Problem sehe ich momentan - neben der Tatsache, dass ich nicht nachdem Du das so prima programmiert hast, sofort nach Ergänzungen/Änderungen fragen wollte - noch: Man braucht ja erstmal eine Anzahl von Trades, damit sich der Profitfaktor auf ein halbwegs aussagekräftiges Niveau einpendelt, bei mir würde ich beim ersten Anschauen sagen so etwa 100 Trades. Diese Anfangsungenauigkeit müsste man doch auch bei der Betrachtung der letzten x Trades berücksichtigen oder? D.h. um die letzten 25 Trades zu beurteilen, müsste ich mir die letzten 125 Trades ansehen, dann hätte ich Bedenken, dass das Ergebnis der letzten 25 von den 100 davor zu sehr beeinträchtigt wird, um daraus eine Tendenz der Handelssystementwicklung abzulesen. Oder bin ich da zu "pingelig"?
Yoggi

Lenzelott Männlich

Erleuchteter

Registrierungsdatum: 30. Dezember 2002

Beiträge: 2 901

Wohnort: Giessen

17

Montag, 21. April 2008, 21:34

In der Statitstik haben wir mal gelernt, dass bevor man von einer solchen sprechen kann, man mindestens eine Gruppe von 30 Ereginissen braucht.
Der Rest wäre Kaffeesatzlesen.

ich habe mir das Ergebniss des Indikatores auch mal angeschaut anhand von zwei/drei Hs von mir.
Ich würde Dir rechtgeben, dass man nach 100 Trades wahrscheinlich ein halbwegs vernünftiges Ergebnis erhält. Nach 30 bestimmt noch nicht.

Allerdings hast Du einen Denkfehler in Deinem Post.
Man würde folgende Trades zu einem Ergebnis zusammenfassen: PR100:1-100 , PR101:2-101, PR102:3-102, PR103:4-103, PR104:5-104, ...
Das rechnet natürlich ein wenig länger, als wenn man nur einfach einmal von vorne nach hinten rechnet.
Das schwingt sich quasi permanent ein, ..

Ich habe ein/zwei HS, die eine relativ stabile KK produzieren.
ca. 600 Trades im Backtest. Profitable Trades ca. 60%.
Dennoch kommen in der Historie 7 Verlusttrades hintereinander vor.
Wahrscheinlichkeit für das Erreigniss 0,17%. Aber 0,17%*600=1,0.
Hey das Ereigniss musste sogar statistisch auftauchen.
Wenn Du aber jetzt rein den Profitfaktor für zB 25 Trades anschauen würdest, wäre das ein Phase, in der der Kerlemann extremschnell abtaucht gegen Süden.
Du würdest alles hinwerfen und auf dem Drawdown sitzen bleiben, wenn Du den Proditfaktor über 25 Trades als Stabilitätskriterium hernehmen würdest.

Ich hoffe ich habe mich verständlich ausgedrückt.
If you think it´s expensive to hire a professional, wait until you hire an amateur.