Geschrieben von Klaus am 30.07.2007, 12:23:
Zitat: Original von Trader
Du schreibst: "if MarketPosition = 0 and Time > 1000 and Time < 1400 then Buy at HighD(1) Stop". Die TradeStation verlangt aber auch bei dieser Formulierung immer noch ein "next bar". Mir ging es aber darum, mich z.B. zum high der jetzigen Intradaybars innerhalb der nachsten 3 Bars einstoppen zu lassen, d.h. nich t nur zum "next" sonder auch zu den beiden übernaechsten Bars.
Ja, die TS8 wiill das "next bar" sehen, die TS 2000i kommt ohne aus. Das ist aber nur Syntax, alle Orders gelten immer für den nächsten Bar (einzige Ausnahme "this Bar at Close"). Du hast hier aber noch ein generelles Verständnisproblem, da der Code für jeden Bar wieder neu ausgeführt wird gilt er trotz "next bar" für mehrere (viele) Bars und die Einschränkung musst Du dann selbst programmieren (z.B. über die Uhrzeit wie in meinem Beispiel).
Zitat: Inzwischen arbeite ich mich langsam ein. Kannst Du mir einen Hinweis zu den Backtesteinstellungen in der TS 8 geben? Dazu folgendes Beispiel:
If MarketPosition = 0 then Buy next bar at HighD(1) Stop;
SetDollartrailing(100) ;
1) Wenn ich bei der Strategieformatierung unter "Properties" die Funktion "Use Look-Inside-Bar Backtesting" markiere, wird das Ergebnis dramatisch schlecht und wenn es nicht aktiviert ist, ist das Ergebnis dramatisch gut. Soweit ich verstanden habe, wird bei Look-In die Reihenfolge der Kursbewegungen innerhalb eines Bars berücksichtigt. Insofern erstaunt mich das schlechtere Backtestergebnis mit Look-In, denn ohne Look-In-Aktivierung müsste das Backtestergebnis doch immer von der schlechteren Variante bei OHLC ausgehen?
2) Wird der Trailingstopp nur bei Look-In korrekt abgebildet?
Das komplett zu erklären würde an dieser Stelle zu weit führen. Generell kannst Du davon ausgehen, dass das schlechtere Ergebnis (das mit "look inside") realistisch ist. Wenn diese grossen Unterschiede im Backtest auftreten, dann passt immer was nicht zusammen - in Deinem Fall ist der Stop zu klein (eng) für den gewählten Chart und das gewählte Symbol bzw. die Bars sind zu lang. In diesem Fall hilft es nur den Stop auf grössere (sinnvollere) Werte zu setzen oder aber den Chart zu detaillieren (z.B. von 60min Bars auf 5min zu gehen). Eine andere Alternative ist den Stop selbst zu programmieren, dann wird er nur einmal (zum Ende) pro Bar ausgerechnet und berücksichtigt nicht den Kursverlauf innerhalb einer Kerze.
Zitat: 3) Was mache ich, wenn nicht genug Look-In-Daten verfügbar sind (z.B. für ein Intradaysystem mit einem 3-jährigen Backtestzeitraum sind teilweise nur für weniger als 1 Jahr Look-In-Daten verfügbar. Ist der Backtest ohne unbrauchbar? Wie ist der TradeStation-User vor Einführung des Look-In vorgegangen?
4) Welche generelle Backtesteinstellung hat sich in TS8 eigentlich bewährt ?
- Look-In --> ja/nein? sowie "Maximum number of bars study will reference" --> 50 oder mehr?
- "Enable intrabar order generation and calculation" --> 3 Varianten zur Auswahl, was funktioniert ?
Bei "richtigem" (sinnvollem) Einsatz von Stops, Charts und Symbol tritt das von Dir beobachtete Verhalten nicht auf, sprich das Ergebnis des Backtests ist (nahezu) identisch mit und ohne "look inside". Die "max. Numer of Bars" hängen von den Berechnungen und Indikatoren ab, kann man keine generelle Empfehlung geben. "Intrabar order generation" würde ich persöhnlich immer ausschalten weil Du damit auch wieder Annahmen über den Kursverlauf innerhalb einer Kerze machst und der Backtest damit verfälscht wird.
Gruss
-Klaus
|