For the past few days, I have been testing a new strategy in Live Sim and then the same day in replay. I have made certain that all delay settings are 0 in the simulator, but I have left "Enforce Immediate Fills" (EIF)Unchecked. My understanding (Which may be mistaken so I want to confirm it) is that as long as all delays are set to 0, the results between Live Sim and Replay testing over the exact same period should be relatively the same.
In the case of the strategy I am testing, LIVE SIM from this last Wednesday produced a Net Loss of -1213 / contract on 369 trades (Long and Short). On the other hand, the REPLAY of the exact same day, same times, same settings (No EIF, 0 delays on all else) produced a net gain of +2767 / contract on 652 trades (In both cases, there is no position sizing applied yet - All trades are 1 contract). As you can see, the gap between Live Sim and Replay is not a couple of trades and a hundred or so dollars / contract. It is enormous so I am trying to understand the reason for this.
So with that background, here are my questions:
1) Is the NinjaTrader Fill Algorithm Logic used in Live Sim (No EIF, 0 Delays) the same as the fill alogorithm in replay (No EIF, 0 delays)?
2) I notice that if I run the replay at 4x, it starts out at that speed, but after an hour or 2, begins to slow down ... to the point where it is maybe running at 1/4x speed near the end of the day instead of the 4x that the replay slider is set at. This seems to be happenning as the trade count increases (the strategy uses a fair bit of processing ... CalcOnBarClose == false & it runs 5 timeframes and about 10 indicators). When running in Live Sim (Zenfire datafeed) there have been periods of 3-20 seconds where the chart (ES) isn't moving. It is as though NT isn't processing the data as fast as it is coming. Is this indicative of Machine Performance / Software performance issues?
3) Are there any other possible reasons you can think of for this gap in the 2 testing methods?
Thanks for your help,
Learning1
Comment