Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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;
        }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 9
0
 public void SetDataSimulator(string name)
 {
     this.dataSimulator = (this.GetProvider(name) as IDataSimulator);
 }
Ejemplo n.º 10
0
 public void SetDataSimulator(int id) => this.dataSimulator = GetProvider(id) as IDataSimulator;
Ejemplo n.º 11
0
 public void SetDataSimulator(string name) => this.dataSimulator = GetProvider(name) as IDataSimulator;
Ejemplo n.º 12
0
 public void SetDataSimulator(int id)
 {
     this.dataSimulator = (this.GetProvider(id) as IDataSimulator);
 }
Ejemplo n.º 13
0
 public void SetDataSimulator(string name)
 {
     this.dataSimulator = (this.GetProvider(name) as IDataSimulator);
 }
Ejemplo n.º 14
0
 public void SetDataSimulator(string name) => this.dataSimulator = GetProvider(name) as IDataSimulator;
Ejemplo n.º 15
0
 public ProviderManager(Framework framework, IDataSimulator dataSimulator = null, IExecutionSimulator executionSimulator = null)
 {
     throw new System.NotImplementedException();
 }
Ejemplo n.º 16
0
 public void SetDataSimulator(int id)
 {
     this.dataSimulator = (this.GetProvider(id) as IDataSimulator);
 }
Ejemplo n.º 17
0
 public void SetDataSimulator(int id) => this.dataSimulator = GetProvider(id) as IDataSimulator;