... um eine Breakout-Strategie zu implementieren. Diese Problematik hat mich gestern einige Stunden meines noch recht jungen Traderlebens gekostet.
Ein Breakout auf Basis einer Narrowest-Range Idee. Das bedeutet, ich setze ein Buy-Stop über der Range der letzten X Tage und einen Sell-Stop unterhalb der Range. Leider hat NinjaTrader immer nur die Buy-Order ausgeführt bzw. in den Markt gebracht. Die Sell-Order führte im Code öfters zu einer NullPointerException. Habe ich die Buy-Order auskommentiert, so führte die Sell-Order zum Ziel ... merkwürdig ...
Nun habe ich etwas im Forum gestöbert und gesehen, dass NT in Version 6.5 keine gleichzeitigen Orders, auf demselben Instrument, in unterschiedliche Richtungen unterstützt. Scheinbar liegt es am internen Orderhandling, dass keine One-Cancel-Other-Order abgesetzt wird. Schade ... das erste große Feature, welches ich auf jeden Fall erwartet hätte. Mal sehen, ob in Version 7 dieses "unschöne" Verhalten seinen Platz findet.
Erklärbar ist es wohl so: NinjaTrader platziert eine Order im Backtest immer erst zum Open des nächsten Bars. Hier wird bewusst ein defensiver Ansatz gewählt, um fehlerhaften und zu optimistisch gestalteten Backtest vorzubeugen. Werden nun beide Grenzen der Range getriggert, dann weiß NinjaTrader nicht welche Order abgesetzt und welche gecancelt wird.
Lösung: Ich muss also selbst Hand anlegen und die Grenzen manuell prüfen, dann funktioniert es auch mit dem Orderhandling ...
Beste Grüße
DarthTrader
Ein Breakout auf Basis einer Narrowest-Range Idee. Das bedeutet, ich setze ein Buy-Stop über der Range der letzten X Tage und einen Sell-Stop unterhalb der Range. Leider hat NinjaTrader immer nur die Buy-Order ausgeführt bzw. in den Markt gebracht. Die Sell-Order führte im Code öfters zu einer NullPointerException. Habe ich die Buy-Order auskommentiert, so führte die Sell-Order zum Ziel ... merkwürdig ...
Nun habe ich etwas im Forum gestöbert und gesehen, dass NT in Version 6.5 keine gleichzeitigen Orders, auf demselben Instrument, in unterschiedliche Richtungen unterstützt. Scheinbar liegt es am internen Orderhandling, dass keine One-Cancel-Other-Order abgesetzt wird. Schade ... das erste große Feature, welches ich auf jeden Fall erwartet hätte. Mal sehen, ob in Version 7 dieses "unschöne" Verhalten seinen Platz findet.
Erklärbar ist es wohl so: NinjaTrader platziert eine Order im Backtest immer erst zum Open des nächsten Bars. Hier wird bewusst ein defensiver Ansatz gewählt, um fehlerhaften und zu optimistisch gestalteten Backtest vorzubeugen. Werden nun beide Grenzen der Range getriggert, dann weiß NinjaTrader nicht welche Order abgesetzt und welche gecancelt wird.
Lösung: Ich muss also selbst Hand anlegen und die Grenzen manuell prüfen, dann funktioniert es auch mit dem Orderhandling ...
Beste Grüße
DarthTrader
Keine Kommentare:
Kommentar veröffentlichen
Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.