Strange Problems with Playback

I downloaded Market Replay data, which I understand downloads the ticks data.

I configured the example Sample MA crossover strategy and set the Market Replay to the beginning of the ticks that I downloaded.

Problem 1. Before I start Market Replay I see the chart populated, not just from the Start date, but also from before the Start date.

How is that possible? There is no ticks data downloaded before the Start date.

Problem 2. I played back 1 date, then the next date (12/1 and 12/2) individually. So playback 12/1 noted the result, and then played back 12/2 and noted the results. I then added up the results (e.g. result1)

Then I played back from 12/1 to 12/2 and noted the result (result2)

result1 is not equal to result2.

Should they not be equal, since they’re back to back dates?

Thanks in advance!

Hi,

Great questions — both of these behaviors are expected once you understand how Market Replay and historical data loading work under the hood.

I’ll address them one at a time.


Problem 1 – Why the chart shows data before the Market Replay start time

Even though Market Replay is driven by the tick data you downloaded, NinjaTrader will pre-load historical bars before the replay start time if historical data is available from another source (cache, minute data, or the historical data server).

This happens for a few reasons:

  • Indicators (like moving averages) require prior bars to initialize correctly
  • NinjaTrader separates chart historical loading from Market Replay tick playback
  • The chart will load earlier bars to “warm up” indicators, even if replay ticks only start later

So although you didn’t download tick data before the start date, the platform is likely:

  • Loading minute or bar data from historical cache
  • Or pulling it from the historical data server to populate the chart

Key point:
Those earlier bars are not replayed tick-by-tick. They are only used to initialize the chart and indicators so the strategy doesn’t start “blind.”

This is normal and intentional behavior.


Problem 2 – Why replaying 12/1 + 12/2 separately ≠ replaying 12/1–12/2 together

This is also expected, and it’s a very important nuance.

When you replay the days individually, the strategy resets between sessions:

  • Indicator state resets
  • Strategy internal variables reset
  • No open position or context carries over

When you replay 12/1 → 12/2 as a continuous range, the strategy does not reset:

  • Indicator values carry over
  • Position state can persist
  • Trade management logic spans sessions

Because of this, entries, exits, and even signal timing can differ.

In other words:

  • Separate replays = two independent simulations
  • Continuous replay = one uninterrupted simulation

Those are not mathematically equivalent for stateful strategies like MA crossovers.

So yes — result1 and result2 should not be expected to match, even though the dates are back-to-back.


Practical takeaway

If your goal is realism:

  • Always replay multi-day ranges continuously
  • Avoid stitching together single-day results

If your goal is isolated session behavior:

  • Replaying days individually is fine, but expect different t
1 Like

Thank you for the insight! It makes sense now.