I just started developing a strategy in NT7 a couple weeks ago using a 15 minute bar chart and learned that NT7 back-testing does not support intrabar entries or exits. As I understand it, the only way around this is to develop the strategy using multiple time series, the second series using 100 ticks or something like that. Looking at NT8 I thought intrabar fills might be supported, especially since I saw screen shots from the optimization area that showed a section "Historical fill processing" with an option for "high" Order Fill Resolution, but when I use this option using 1 tick, it still appear the fill happens on the open of the next bar.
Now, I understand I can run my strategy as it is in Replay mode or Live, and it will work as I designed it. I can do as it was done in NT7 and use multiple bar time series, but I believe this would add much overhead to the strategy. Or am I missing some way of optimizing it?
Assuming it is what it is, I have a language suggestion for NT8. Would it be possible to add a hypothetical fill price to EnterLong, EnterShort, ExitLong, and ExitShort? The current method has the following overloads:
EnterLong()
EnterLong(string signalName)
EnterLong(int quantity)
EnterLong(int quantity, string signalName)
Could an optional HypotheticalPrice be added as so:
EnterLong([double HypotheticalPrice])
EnterLong(string signalName, [double HypotheticalPrice])
EnterLong(int quantity, [double HypotheticalPrice])
EnterLong(int quantity, string signalName, [double HypotheticalPrice])
The use of this parameter would cause NT to use the price as stated again the current bar rather than the next bar open, which must be between the current bars high and low, or and exception will be thrown. Also, if the parameter is used, then all back-testing reports will clearly state Hypothetical Price was used to prevent falsified reports. However, for my personal back-testing, I know it can be trusted (why would I lie to myself!). This parameter would be ignored when running live or in replay mode.
For example, if the current bar open at 45.00 and if the price rises to 45.20 I want to enter a long trade (at that point), and the bar will have a high of 45.50 and close at 45.35. In live mode the entry would happen at 45.20 or 45.21 with some slippage, but in back-testing it will show 45.35 by default, but if I use HypotheticalPrice like:
EnterLong(EntryPrice) where double EntryPrice = 45.20, then back-testing will use a fill price of 45.20 + back-test slippage amount as configured for the back-test. The same idea could be used for exits. This would allow me to not have to use multiple bar time series and allow me to back-test, optimize, and walk-forward test still only using 15 minute bars. Much less overhead to optimize a strategy with this implemented change. Any thoughts?
Thanks.. tom

Comment