Just out of curiosity, are the following 2 lines in your System.Startup?
SystemData.EnableTradeOnClose = true;
SystemData.CreateTicksFromBars = true;
The first is not specifically need in your case but can be used with the BarClosing method (see separate discussions in forums).
ShouldFill should be triggered every tick if CreateTicksFromBars is set to true. ShouldFill is not recalled to my knowledge although a position may remain outstanding if it is a limit order.
Which raises another question regarding your system: are the orders market orders? If yes, the order will be opened on the next bar open if CreateTicksFromBars = false or the next tick if CreateTicksFromBars = true (or if you are simulating with tick data). While I have not tested this, one option may be either use limit orders or to change the order type in ShouldFill to a limit order and then fill when _tickType == TickFromBarType.Low.
Let me know what results you get.
Duane, I've tried a lot, changing OrderType, FillPrice, ..., but I've found no way to 'force' ShouldFill to loop through the O,L,H,C of the entry day. While it's not difficult to set an entry price overriding NewTick in paperbroker, ShouldFill executes a test one time, so _tickType == TickFromBarType.Low has no effect.
Just out of curiosity, would it be easier to simulate a bad fill using a percent slippage rather than the low of the bar?
This is the core of what I'd like to accomplish: backtesting an EOD system with orders filled the next day, I'm looking for the opportunity to set whatever price I prefer. I want to be free to simulate an entry at tomorrow low, at a midprice between Open and High, ... ok, you have the idea. Using slippage is easier, but it's not enough. The logic would be to compute a price from O,L,H,C ticks and pass it to ShoudFill. I fully understand it's not consistent in a live system, but my interest in RE is for its backtesting capabilities and I'd like to feel reasonably free to test whatever I want.