Problem: The 200-day moving average takes 200 days to produce a valid result to use in a model. If I I start a simulation in Jan 2000, the model won't be able to trade until approx. Nov 2000 - that's nearly a year without results, which affects the model's annualized metrics.
Solution: Provide a way to create indicator using seed data so that indicators are valid on the first bar of the Backtest. In the example above, if I were able to load all the BarHistory available for a symbol, create an indicator like SMA(200) and then synchronize it to the model's Data Range, trading would be possible on bar index 0 (or 1).
Ideally, this would occur 'magically' in the background. A BarHistory called from an IndicatorBase in Initialize() would load all the BarHistory, create and then synchronize the indicator.