Metastock 11 Pro: EST Expiration Stop Buy Orders
Guten Tag,
leider habe ich bissher keine Lösung zu meinem Problem gefunden. Ich würde mich sehr freuen wenn mir jemand weiter helfen würde.
Grundsätzliches: Ich benutze Metastock 11 Pro Realtime
Im folgenden geht es um Backtests mit dem Enhanced System Tester auf Intraday 5 min Basis.
Die Frage lautet:
Wie kann ich Stop Entry Orders mit einer Expiration (z.B. 5 Bars) versehen? Das heißt ich setzte nach einem Signal eine Stop Buy Order über dem Signal-Hoch und möchte die Gültigkeit auf die nächsten 5 Bars begrenzen. Wird das Hoch innerhalb von 5 Bars nach dem Signal genommen soll eingestiegen werden, wird das Hoch nicht innerhalb von 5 Bars genommen soll die Order verfallen (gelöscht werden).
Mein Problem besteht dadrin das Stop Orders teilweise über 100te BArs im Systemtest rumgeistern nachdem das Signal gekommen ist und wenn der entsprechende Kurs erreicht wird Trades platziert werden, die natürlich so spät vollkommen falsch sind.
Der Ablauf einer Order im Systemtest ist naturgemäß das zuerst die eigendlich Entry Bedingung erfüllt sein muß bevor die Stop Berechnung beginnt. Die Krux ist allerdings das der Stopkurs nur ein einzuiges Mal berechnet wird, nämlich wenn das Hauptsignal auftritt. Dieser Umsttand verhindert das ich mit Barrsince, Prev, value when, oder simulation.age (<- letzteres funktioniert eh nicht da noch gar keine Position offen ist...) in der Stopbedingung arbeite.. Denn Da die berehcnung wie gesagt nur einmal stattfindet wird der Wert bei Barssince immer null sien, sonst würde das HAuptsignal nämlcih gar nicht eintreffen und somit eine Stoppberehcnung eh hinfällig sein...
Dieses Problem ist sehr schwerwiegend für mich da es praktisch jeden BAcktest mit StopEntry Orders nutzlos macht, da Signale auch bei einer nicht-bestätigung Orders auslösen die nciht mehr gelöscht werden und durch eine spätere Auslösung testergebnisse vollkommen verzerren.
Über iene Lösung wäre ich zu tiefst Dankbar.
mfG
Scaleo
EST Stop entry Orders / Thread gelöscht ???
Sehr geehrtes Metastock-Forum Team,
am 21.04.2010 (gestern) hatte ich einen neunen Threat eingestellt welcher heute kommentarlos gelöscht wurde. Da sich dieses anscheinend um ein Versehen gehandelt haben muß hier nochmals der Wortlaut.
Vielen Dank.
---
Anmerkung: Es wird Metastock 11 Realtime Pro genutzt.
Im Enhanced System Tester tritt folgendes Problem auf wenn versucht wird Stop entry Orders zeitlich zu limitieren.
Es geht dadrum das ich nicht mit einer Market Order zum Open des nächsten Bars meine Position eröfnen möchte. Vielmehr ist gewünscht, dass nach Signalgebung mit einer Stop Order z.B. über das Hoch des Signals long gegangen werden soll. (Das heißt: Ein Signal entsteht, -> eine stop buy Order wird über das Signalhoch gelegt, -> Möglichkeit 1: Das Signalhoch wird innerhalb von 5 Tag berührt und die Stop Buy order ausgelöst, Möglichkeit 2: Das Signalhoch wird innerhalb 5 Tagen nicht berührt und die Order verfällt) Wird das Signalhoch nicht innerhalb der nächsten 5 Bars überschritten soll diese Stop Order verfallen (weil das Signal dann nicht bestätigt wurde). Realisiert man das ganze mit einer Market Order kann man zwar die Anzahl der Bars beschränken an welchen die Order gültig ist, aber es wird zuerst das Signalhoch genommen und anschließend zum Open des nächsten Bars die Position Market erföffnet (zu spät und zum falschen Kurs).
Meines Wissens kann man nur mit Stop,Limit, StopLimit Orders andere Werte zum Eröffnen/Schließen von Positionen als O/H/L/C in Backtests bekommen. Nur das essentielle Problem mit einer einmal gesetzten Stop Order ist, dass siefix im Markt verbleibt bis sie ausgelöst wird (egal wie viele Bars später) oder der Test zuende ist und die Order mit Testende verfällt. Zumindest habe ich noch keine Zeitliche Begrenzung für Stop Orders gefunden, auf der Suche nach der Lösung bin ich ja hier.
Es muss doch möglich sein Zeitlich limitierte Stop Orders in den Markt zu legen!!!
Über hilfreiche Anregungen oder kommentare würde ich ich sehr freuen.
Scaleo
@ Scaleo [#2]
Ihr Beitrag war nicht gelöscht und jederzeit im Forum zu lesen. Die Texte unterscheiden sich allerdings.
Schöne Grüsse, Richard Ebert
@ Scaleo [#1]
Du kannst das Signal mit Hilfe der der Alert Funktion strecken, Syntax: Alert(Expression, Periods)
z.B. EnterLong := DeinKaufSignal;
StopBuy :=DeineStopBuyBedingung;
Alert(EnterLong, 5) and StopBuy