public ProviderManager(Framework framework, IDataSimulator dataSimulator = null, IExecutionSimulator executionSimulator = null) { this.framework = framework; this.providers = new ProviderList(); this.settings = new ProviderManagerSettings(); this.LoadSettings(); if (dataSimulator == null) { this.dataSimulator = new DataSimulator(framework); } else { this.dataSimulator = dataSimulator; } this.AddProvider(this.dataSimulator); if (executionSimulator == null) { this.executionSimulator = new ExecutionSimulator(framework); } else { this.executionSimulator = executionSimulator; } this.AddProvider(this.executionSimulator); }
public ProviderManager(Framework framework, IDataSimulator dataSimulator = null, IExecutionSimulator executionSimulator = null) { this.framework = framework; this.providers = new ProviderList(); this.settings = new ProviderManagerSettings(); this.LoadSettings(); if (dataSimulator == null) { this.dataSimulator = new DataSimulator(framework); } else { this.dataSimulator = dataSimulator; } this.AddProvider(this.dataSimulator); if (executionSimulator == null) { this.executionSimulator = new ExecutionSimulator(framework); } else { this.executionSimulator = executionSimulator; } this.AddProvider(this.executionSimulator); }
public static void UseBarOptimize(this IDataSimulator simulator, Instrument instrument, long inputBarSize, params long[] barSizes) { var framework = ((DataSimulator)simulator).GetFramework(); var dm = framework.DataManager; var inputBars = GetTimeBars(dm, instrument, inputBarSize, simulator.DateTime1, simulator.DateTime2); if (inputBars.Count == 0) { return; } foreach (var size in barSizes) { simulator.BarFilter.Add(BarType.Time, size); if (size == inputBarSize) { continue; } var bars = GetTimeBars(dm, instrument, size, simulator.DateTime1, simulator.DateTime2); if (bars.Count == 0) { bars = inputBars.TimeCompress(instrument, size); dm.Save(bars); } } globalOptimizeBarFilter = barSizes; framework.EventManager.Filter = new QBOptimizeBarFilter(framework); simulator.SubscribeBar = true; simulator.SubscribeAsk = false; simulator.SubscribeBid = false; simulator.SubscribeTrade = false; simulator.SubscribeQuote = false; simulator.SubscribeLevelII = false; }
public ProviderManager(Framework framework, IDataSimulator dataSimulator = null, IExecutionSimulator executionSimulator = null) { this.framework = framework; this.dataSimulator = dataSimulator ?? new DataSimulator(framework); AddProvider(this.dataSimulator); this.executionSimulator = executionSimulator ?? new ExecutionSimulator(framework); AddProvider(this.executionSimulator); }
public ProviderManager(Framework framework, IDataSimulator dataSimulator = null, IExecutionSimulator executionSimulator = null) { this.framework = framework; this.dataSimulator = dataSimulator ?? new DataSimulator(framework); AddProvider(this.dataSimulator); this.executionSimulator = executionSimulator ?? new ExecutionSimulator(framework); AddProvider(this.executionSimulator); }
public static void UseBarBacktest(this IDataSimulator simulator, Instrument inst, long inputBarSize, params long[] barSizes) { var framework = ((DataSimulator)simulator).GetFramework(); var dm = framework.DataManager; var inputBars = GetTimeBars(dm, inst, inputBarSize, simulator.DateTime1, simulator.DateTime2); if (inputBars.Count == 0) { return; } UseBarBacktest(simulator, inst, inputBars, barSizes); }
public static void UseBarBacktest(this IDataSimulator simulator, Instrument instrument, BarSeries inputBars, params long[] barSizes) { var framework = ((DataSimulator)simulator).GetFramework(); framework.EventManager.Dispatcher.SimulatorStop += DispatcherSimulatorStop; var dm = framework.DataManager; if (simulator.DateTime1 == DateTime.MinValue) { simulator.DateTime1 = inputBars.First.OpenDateTime; simulator.DateTime2 = inputBars.Last.CloseDateTime; } var list = new List <BarSeries>(); foreach (var size in barSizes) { if (BarInSimulator(simulator, instrument, size)) { continue; } if (size == inputBars.First.Size) { list.Add(inputBars); } else { var bars = GetTimeBars(dm, instrument, size, simulator.DateTime1, simulator.DateTime2); if (bars.Count == 0) { bars = inputBars.TimeCompress(instrument, size); } list.Add(bars); } } if (list.Count == 0) { return; } simulator.Series.AddRange(list); simulator.SubscribeBar = false; simulator.SubscribeBarSlice = false; simulator.SubscribeAsk = false; simulator.SubscribeBid = false; simulator.SubscribeTrade = false; simulator.SubscribeQuote = false; simulator.SubscribeLevelII = false; }
private static bool BarInSimulator(IDataSimulator simulator, Instrument inst, long barSize) { foreach (var series in simulator.Series) { if (series.Count == 0) { continue; } if (series[0].TypeId == DataObjectType.Bar) { var bar = (Bar)series[0]; if (bar.InstrumentId == inst.Id && bar.Size == barSize) { return(true); } } } return(false); }
public void SetDataSimulator(string name) { this.dataSimulator = (this.GetProvider(name) as IDataSimulator); }
public void SetDataSimulator(int id) => this.dataSimulator = GetProvider(id) as IDataSimulator;
public void SetDataSimulator(string name) => this.dataSimulator = GetProvider(name) as IDataSimulator;
public void SetDataSimulator(int id) { this.dataSimulator = (this.GetProvider(id) as IDataSimulator); }
public void SetDataSimulator(string name) { this.dataSimulator = (this.GetProvider(name) as IDataSimulator); }
public void SetDataSimulator(string name) => this.dataSimulator = GetProvider(name) as IDataSimulator;
public ProviderManager(Framework framework, IDataSimulator dataSimulator = null, IExecutionSimulator executionSimulator = null) { throw new System.NotImplementedException(); }
public void SetDataSimulator(int id) { this.dataSimulator = (this.GetProvider(id) as IDataSimulator); }
public void SetDataSimulator(int id) => this.dataSimulator = GetProvider(id) as IDataSimulator;