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

Jost Männlich

Profi

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

1

Samstag, 1. Oktober 2005, 16:23

Definition einer Exitbedingung

Hallo Zusammen,

als Investox-Neuling habe ich die Frage, wie ich eine bestimmte Exitbedingung definieren kann.

Sie soll als eine Trailinglinie in Abhängigkeit von z.B. der TrueRange multipliziert mit einem bestimmten Faktor ("TR_Faktor") vom close abgezogen werden. Die Linie soll aber ab Entry stets den höchsten Wert dieser Berechnung annehmen; m.a.W., sie kann nicht fallen und wird stets nachgezogen bzw. auf Ihrem Level gehalten.

Wenn der Close diese Linie dann von oben nach unten durchkreuzt, erfolgt das Exitsignal.

Sie könnte prinzipiell so aussehen:

Const TR_Faktor: 2;

Cross(close,If(close-TrueRange()*TR_Faktor>ref(close,-1)-ref(TrueRange()*TR_Faktor,-1),close-TrueRange()*TR_Faktor,Ref(close,-1)-ref(TrueRange()*TR_Faktor,-1)),1)=-1

Leider funktioniert diese Exitlinie nicht, da sie zwischendurch fällt, was sie aber annahmegemäss nicht soll. Meine mathematischen Fähigkeiten sind leider auch recht beschränkt.

Eine Lösung über "HHV" über z.B. 5 Perioden hilft auch nicht weiter, da diese Linie dann mit Exit nicht wieder (auf niedrigerem Niveau) neu berechnet wird, sondern nach Exit der alte (hohe) Wert zunächst über 5 Perioden beibehalten wird.

Ich möchte diese Linie auch nicht als Stop definieren, um sie in den Auswertungen nicht mit den übrigen Stops zu vermischen.

Eie Variante wäre evtl. ValueWhen, aber dann bräuchte man ein Schlüsselwort, welches den Zeitpunkt des TradeEntry definiert, oder ?

Weiss hier jemand Rat ?

Vielen Dank im Voraus,
Jost
Viele Grüße,
Investor

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Jost« (1. Oktober 2005, 16:23)


Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

2

Dienstag, 4. Oktober 2005, 09:46

RE: Definition einer Exitbedingung

Hallo,

>>Eie Variante wäre evtl. ValueWhen, aber dann bräuchte man ein >>Schlüsselwort, welches den Zeitpunkt des TradeEntry definiert, oder ?
richtig, dieses steht im Anwender-Stop zur Verfügung.

Viele Grüße
Andreas Knöpfel

Jost Männlich

Profi

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

3

Freitag, 7. Oktober 2005, 10:37

RE: Definition einer Exitbedingung

Hallo Herr Knöpfel,

ja, aber ich möchte ja gerade keinen Stop konstruieren, sondern eine Exitbedingung (wegen der Auswertungen des Portfolio-Tests), und das müsste doch eigentlich auch irgendwie in einer Formel einstellbar sein ?

Denn eine meinem Wunsch fast entsprechende Linie konnte ich bereits in einer gesonderten Formel darstellen, doch leider musste ich mich mit "HHV" behelfen, und das führt zu Fehlsignalen, weil dann die Linie nach Exit zeitbedingt u.U. auf einem zu hohen Niveau gehalten wird oder vor dem Exit zeitbedingt u.U. zu früh absinkt.

Für eine Anregung wäre ich wirklich sehr dankbar.

Viele Grüsse,
Jost
Viele Grüße,
Investor

Fritz

unregistriert

4

Freitag, 7. Oktober 2005, 11:19

Hallo Jost,

Zitat

Eie Variante wäre evtl. ValueWhen, aber dann bräuchte man ein Schlüsselwort, welches den Zeitpunkt des TradeEntry definiert, oder ?


das könntest Du eventuell über den Umweg #_Position HSName# bekommen.
Leider fehlt mir die Zeit, Dir den komplette Code reinzustellen aber ich habe dies schon vor längerer Zeit so praktiziert.

Viele Grüße

Fritz

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Fritz« (7. Oktober 2005, 11:24)


Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

5

Freitag, 7. Oktober 2005, 12:12

RE: Definition einer Exitbedingung

Hallo,

>>ja, aber ich möchte ja gerade keinen Stop konstruieren, sondern eine >>Exitbedingung (wegen der Auswertungen des Portfolio-Tests)
das verstehe ich nicht. Inwiefern erschwert ein Stop statts Exit den Portfoliotest? Bezüglich der Abrechnung ergeben Stop und Exit doch keinen Unterschied.

Viele Grüße
Andreas Knöpfel

Jost Männlich

Profi

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

6

Samstag, 8. Oktober 2005, 10:33

RE: Definition einer Exitbedingung

@ Fritz:

Hallo Fritz.

danke für Deinen Hinweis , aber da muss ich Dich um etwas mehr Hilfe bitten, denn so firm bin ich in der Programmierung noch nicht. Wenn Du also irgendwann etwas Zeit findest ? Wäre super.


@ Andreas Knöpfel.

Sehr geehrter Herr Knöpfel,

Sie haben Recht, dass sich bzgl. der Abrechnung im Portfoliotest kein Unterschied ergibt.

Ich möchte im Portfoliotest jedoch eine getrennte Auswertung der Exits auf Grund von Stops und auf Grund der zu definierenden Ausstiegsbedingung andererseits, um z.B. die Einstiege besser überprüfen (und anpassen) zu können, inwieweit sie kurzfristig ausgestoppt werden (mit einem von mir bereits definierten Anfangsstop).

Analog hierzu möchte ich die Exits gesondert überprüfen, um ggfs. die Exitbedingung verbessern zu können. Eine Auswertung im Portfoliotest gesamthaft über "Stop" ist mir persönlich für die weitere Entwicklung des HS zu intransparent.

Hätten Sie eine Lösung, wie ich das realisieren könnte ?

Es muss ja nicht zwingend eine Exitbedingung sein, aber im Portfoliotest lassen sich -glaube ich- die unterschiedlichen Stops nicht getrennt auswerten, oder ? Wenn sich dies bewerkstelligen lassen würde, könnte ich einen entsprechenden Anwenderstop versuchen einzurichten.


Viele Grüsse,
Jost
Viele Grüße,
Investor

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

7

Montag, 10. Oktober 2005, 10:54

RE: Definition einer Exitbedingung

Hallo,

>> aber im Portfoliotest lassen sich -glaube ich- die unterschiedlichen >>Stops nicht getrennt auswerten, oder ?
Nein, aber inwiefern lassen sich Stops getrennt von Exits auswerten? Weder die Ergebnisse noch die Kapitalkurve zeigen doch, ob ein Trade mit einem Stop oder per Exitregel beendet wurde? Eine solche Unterscheidung kann doch nur mit der Tradeliste oder mit der Analyse der Exits durchgeführt werden.
Dort sind Stops aber insofern transparenter als eine kombinierte Exit-Regel, als man jeden Stop individuell benennen kann (Stop-Info) und diese Benennung in der Liste aller Trades (und in der Analyse der Exits) aufgeführt wird.

Viele Grüße
Andreas Knöpfel

Jost Männlich

Profi

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

8

Dienstag, 11. Oktober 2005, 07:50

RE: Definition einer Exitbedingung

Sehr geehrter Herr Knöpfel,

Zitat

Nein, aber inwiefern lassen sich Stops getrennt von Exits auswerten?

Im Projekt-Portfoliotest werden in der Ergebnisanzeige der "%-Anteil Stop-Exits" angezeigt. Dies ist für mich im Backtest wichtig, denn ich kann anhand der Ergebnisse des Backtests damit z.B. an den Einstiegen arbeiten. Wenn ich die Exits über einen Anwenderstop machen würde, liesse sich im Backtest nicht nach den Stops differenzieren (Vielleicht habe ich da aber etwas nicht verstanden?). Hinsichtlich der Kapitalkurve ist dies natürlich nicht möglich, aber für mich beim Testen auch nicht relevant, da ich mir zunächst die Ergebnisanzeige des Portfoliotests ansehe.

Mit der von ihnen erwähnten Tradeliste ist zwar erkennbar, mit welchem Stop der Exit ausgelöst wurde, bzw. die Exitanalyse durchführbar, für einen aussagekräftigeren Backtest müsste ich nun aber eine gesonderte Auswertung z.B. in Excel machen, um die Anteile meiner jeweiligen Stops an den Ausstiegen zu ermitteln. Dies erfordert mehrere Arbeitsschritte pro Backtest und mehrere Auswertungen. Genau dies ist der Fall in Market-Maker, was zu erheblichem Arbeitsaufwand führt und der Grund, warum ich dies in Investox besser umsetzen möchte (und ich bleibe überzeugt, dass es irgendwie geht).

Ich hoffe, es ist nun verständlicher geworden, warum ich meine Ausstiegsbedingung als Exit und nicht als Anwenderstop einstellen möchte.

Leider sind wir der Antwort auf die Frage, wie die gewünschte Linie/Zeitreihe als Exitbedingung definiert werden könnte, noch nicht viel näher gekommen. Daher wäre ich Ihnen dankbar, wenn Sie vielleicht doch noch einen Tip hierzu hätten... :)

Viele Grüsse und ein Dankeschön im voraus,
Jost
Viele Grüße,
Investor

Fritz

unregistriert

9

Dienstag, 11. Oktober 2005, 09:55

Hallo Jost,
mach mal folgendes:
In Dein HS schreibst Du unter Definitionen
calc Position: #_Position xy#;
Für xy mußt Du den Namen des HS eintragen.
Nun kannst Du in einem Teilchart schon mal #_Position xy# eintragen und erhälst einen graphischen Überblick über die Position.
Im Chart selbst kannst Du diese Formel eintragen.
HighestSince(close-TrueRange()*2, #_Position xy# =0, 1)
Damit erhälst Du die von Dir gewünschte Linie. Die entsprechende Auswertung (cross etc.) sollte Dir dann wohl möglich sein.
Um dies in einem HS dann auszuwerten, benötigst Du ein zweites HS, welches die Position aus dem ersten HS übernimmt.

Viele Grüße

Fritz

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

10

Dienstag, 11. Oktober 2005, 10:10

RE: Definition einer Exitbedingung

Hallo,

>>müsste ich nun aber eine gesonderte Auswertung z.B. in Excel machen, >>um die Anteile meiner jeweiligen Stops an den Ausstiegen zu ermitteln

nein, dies ist nicht erforderlich.
Gehen Sie nach Durchführung des Portfoliotests in die Registerkarte "Portfolio" und klicken Sie dort "Analyse". Im Analysefenster finden Sie dann in der Registerkarte "Exits" eine Auswertung der verschiedenen Ausstiegsarten.

Viele Grüße
Andreas Knöpfel

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Investox« (11. Oktober 2005, 10:10)


Jost Männlich

Profi

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

11

Dienstag, 11. Oktober 2005, 21:01

RE: Definition einer Exitbedingung

Sehr geehrter Herr Knöpfel,

tja, da haben Sie Recht; soweit war ich zugegebenermassen nicht vorgedrungen, da ich mich ganz auf den "%-Anteil der Stop-Exits" der Ergebnisanzeige im Chartfenster bzw. des Portfolios konzentriert hatte.

Also, ganz super wäre es natürlich, wenn diese Analyse der Exits, die nun gesondert über den Button Analyse aufgerufen wird, gleich in der Portfolio-Analyse unter "---weitere Analysen---" integriert werden würde, denn dann kann man wunderbar alles auf einmal ausdrucken. Vielleicht darf ich das für eins der nächsten Updates anregen ? :]

Vielen Dank,
Jost
Viele Grüße,
Investor

Jost Männlich

Profi

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

12

Dienstag, 11. Oktober 2005, 21:13

Hallo Fritz,

vielen Dank für Deine Hinweise zur Exitbedingung. Ich werde jetzt aber langsam starten und mich erst einmal in nur einem HS bewegen.

Daher versuche ich zunächst einmal, den von Herrn Knöpfel angeregten Anwenderstop zu realsieren, bevor ich mich dann mutig weiterwage...:

In den Zusatzbedingungen zum Anwenderstop habe ich also folgende Formel als Definition eingegeben:

calc #_StopLevel#: HighestSince(close-TrueRange()*2,TradePosition=1,1);
Cross(close,#_StopLevel#,1)=-1

Es wird nun auch eine Linie angezeigt, die schon mal gute Ansätze zeigt, aber: Sie sinkt zwischendurch immer; das liegt möglicherweise daran, dass durch HighestSince jeweils immer eine Periode in die Vergangenheit geblickt wird. Eigentlich soll der höchste Wert seit Einstieg gehalten werden. Wenn ich TradePosition aber auf 0 stelle (Höchster Wert seit das HS zuletzt out war), bekomme ich eine Fehlermeldung, weil sich 0 leider nicht einstellen lässt (nur short -1).

Hast Du oder jemand anderes aus dem Forum eine Idee ?

Vielen Dank,
Jost
Viele Grüße,
Investor

Fritz

unregistriert

13

Mittwoch, 12. Oktober 2005, 09:37

Hallo Jost,
statt
calc #_StopLevel#: HighestSince(close-TrueRange()*2,TradePosition=1,1);
kannst Du ja mal
TradePosition<1 oder TradePosition<>1 versuchen.
Natürlich stimmt die Linie dann nur während der Longphase. Für Short muß eine extra Bedingung geschrieben werden.

Außerdem würde ich die Linie mit Ref(Highest...........),-1) um eine Periode verschieben. Denn so wird ja die Stoplinie erst nach Handelsschluß berechnet. Natürlich kann man sich auch bei der Cross Auswertung auf den Stoplevel des Vortages beziehen. Für die graphische Darstellung ist aber die erste Variante besser.

Ansonsten kann ich Dir nur empfehlen, alle Formeln durch die graphische Darstellung zu überprüfen und notfalls so lange daran rumschrauben bis es passt. Mir fehlt die Zeit dies jetzt weiter zu vertiefen.

Viele Grüße

Fritz

Jost Männlich

Profi

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

14

Mittwoch, 12. Oktober 2005, 12:16

Hallo Fritz,

vielen Dank für Deinen Input. Auch ich habe schon an die Verschiebung gedacht. Klar prüfe ich die Linien optisch. Ich werde mich heute Abend wieder daransetzen und weitertüfteln, da auch ich leider immer nur kleine Zeitfenster habe. Danke trotzdem für Deine Unterstützung !

Jost
Viele Grüße,
Investor

Jost Männlich

Profi

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

15

Dienstag, 18. Oktober 2005, 20:49

RE: Definition einer Exitbedingung

Hallo,

nun habe ich eine geraume Zeit getestet und probiert, aber ich komme einfach nicht weiter bei der Definition meiner Stopbedingung. Eigentlich ist sie ja als Exitbedingung gedacht, aber ich habe nun zunächst mit dem Anwenderstop begonnen (Vola als Beispiel):

calc StartStop:
TradeEntryPrice;

calc Vola: (High-Low);
Calc Faktor: 2;

calc TrailingStop:
close-(Vola*Faktor);

calc StoplinieHeute:
If(TrailingStop>StartStop,TrailingStop, StartStop);

calc StoplinieGestern:
Ref(TrailingStop,-1);

Calc Stoplinie:
If(StoplinieHeute>StoplinieGestern,StoplinieHeute, StoplinieGestern{TradeEntryPrice});

calc #_StopLevel#:
Stoplinie;

Cross(close,#_StopLevel#,1)=-1

{Anschliessend noch erforderlich: Verschiebung um eine Periode, da sonst Stoplinie nach Handelsschluss berechnet würde; hier zunächst vernachlässigt}.

Die Formel macht auch zunächst das Richtige, sie startet bei TradeEntryPrice und steigt dann zutreffend. Das Problem liegt offenkundig beim Vergleich der Variablen "StoplinieHeute" vs. "StoplinieGestern", d.h. bei der Referenz auf den Wert der Vorperiode. Wenn dieser Wert niedriger ist, wird nicht der höhere Wert gehalten. Denn wenn ich statt "StoplinieGestern" "TradeEntryPrice" einsetze (siehe {Klammerausdruck} in Formel, fällt sie zutreffend zurück auf den TradeEntryPrice. M.E. wird die Variable "StoplinieGestern" nicht zutreffend berechnet, weil ich hier etwas falsch mache.

Das Ganze sieht jetzt so aus wie auf dem Bild (ich hoffe, es klappt).

Meine Versuche mit "HigehstSince" und "TradePosition" waren ebenfalls nicht erfolgreich.

Wer kann mir hier den entscheidenden (mathematischen ?) Tip geben ?

Viele Grüsse,
Jost
»Jost« hat folgendes Bild angehängt:
  • Stoptest1.png
Viele Grüße,
Investor

moneymaker

unregistriert

16

Mittwoch, 19. Oktober 2005, 08:56

editiert: ich lag falsch :O noch

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »moneymaker« (19. Oktober 2005, 09:02)


Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

17

Mittwoch, 19. Oktober 2005, 09:55

RE: Definition einer Exitbedingung

Hallo,

wenn es darum geht, den höchsten Wert des Stops seit Tradebeginn festzuhalten, ist der Ansatz mit HighestSince() schon richtig (vergleichbar dem Beispiel zum Anwenderstop in der Online-Hilfe). Wie sind Sie dabei vorgegangen?

Viele Grüße
Andreas Knöpfel

Jost Männlich

Profi

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

18

Mittwoch, 19. Oktober 2005, 12:50

RE: Definition einer Exitbedingung

Hallo Herr Knöpfel,

ich habe dabei folgende Formeln bei HighestSince verwendet (die ganze Formel habe ich leider gerade örtlich nicht parat):

calc Vola: (High-Low);

Calc Faktor: 2;

calc TrailingStop:
close-(Vola*Faktor);

calc StoplinieHeute:
HighestSince(TrailingStop,TradePosition=1,1);
calc Stopliniegestern:
Ref(HighestSince(TrailingStop,TradePosition=1,1),-1);

Und dann der Vergleich StoplinieHeute vs. Stopliniegestern und den Rest mit Stoplevel und cross so wie in der geposteten Formel. Die Linie hält ebenfalls nicht den höchsten Punkt.

Viele Grüsse,
Jost
Viele Grüße,
Investor

Fritz

unregistriert

19

Mittwoch, 19. Oktober 2005, 15:06

Hallo Jost,

hast Du auch

HighestSince(TrailingStop,TradePosition<>1,1) oder
HighestSince(TrailingStop,TradePosition<1,1)
getestet?

Ich kann es momentan nicht testen.

Viele Grüße

Fritz

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

20

Mittwoch, 19. Oktober 2005, 16:16

RE: Definition einer Exitbedingung

Hallo,

in HighestSince() sollten Sie statts
TradePosition=1
schreiben:
TradePeriods=1

- eben wie im genannten Beispiel. Eine Vergleich der Stoplininen heute/gestern ist da m.E. nicht mehr nötig.

Viele Grüße
Andreas Knöpfel

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Investox« (19. Oktober 2005, 16:16)