private void OnBar(Event e)
{
DataEventCount++;
var bar = (Bar)e;
if (this.framework.Clock.Mode == ClockMode.Simulation)
this.framework.Clock.DateTime = bar.DateTime;
if (bar.Status != BarStatus.Open)
{
this.framework.DataManager.OnBar(bar);
this.framework.InstrumentManager.GetById(bar.InstrumentId).Bar = bar;
this.framework.ProviderManager.ExecutionSimulator.OnBar(bar);
this.framework.StrategyManager.OnBar(bar);
if (bar.Type == BarType.Time || bar.Type == BarType.Session)
BarSliceFactory.OnBar(bar);
return;
}
if ((bar.Type == BarType.Time || bar.Type == BarType.Session) && !BarSliceFactory.OnBarOpen(bar))
{
return;
}
this.framework.ProviderManager.ExecutionSimulator.OnBarOpen(bar);
this.framework.StrategyManager.OnBarOpen(bar);
}