Exemplo n.º 1
0
        public void BarBuilderTimeBar_СоздатьЭкземплар()
        {
            BarBuilderTimeBar barBuilder = null;

            Assert.IsNull(barBuilder);
            BarSettings barSettings;

            Common.Enums.DataModelType barType;
            barBuilder = CreateBarBuilderTimeBar(out barSettings, out barType);

            Assert.IsNotNull(barBuilder);
            Assert.AreEqual(barBuilder.BarSettings.BarType, barType);
            Assert.IsNotNull(barBuilder.BarList);
            Assert.AreEqual(barBuilder.TimeSpanInterval.TotalSeconds, barBuilder.BarSettings.Interval);
            Assert.AreEqual(barBuilder.DateTimeStart.Date, DateTime.Now.Date);
            Assert.AreEqual(barBuilder.DateTimeStart.TimeOfDay, barBuilder.BarSettings.DateTimeStart.TimeOfDay);
            Assert.AreNotEqual(barBuilder.BarList.Count, 0);
            ///15 чаосов * 60 мин = 900 мин
            Assert.AreEqual(barBuilder.BarList.Count, 900);
            Assert.AreEqual(barBuilder.BarList.First().DateTimeOpen, (DateTime.Now.Date).AddHours(9));
            Assert.AreEqual(barBuilder.BarList.First().DateTime, (DateTime.Now.Date).AddHours(9) + barBuilder.TimeSpanInterval);
            Assert.AreEqual(barBuilder.BarList.Last().DateTimeOpen, (DateTime.Now.Date).AddHours(24) - barBuilder.TimeSpanInterval);
            Assert.AreEqual(barBuilder.BarList.Last().DateTime, (DateTime.Now.Date).AddHours(24));

            Assert.AreEqual(barBuilder.BarList.Last().Interval, barBuilder.BarSettings.Interval);
            Assert.AreEqual(barBuilder.BarList.Last().Symbol, barBuilder.BarSettings.Symbol);
        }
Exemplo n.º 2
0
        public void BarBuilder_СоздатьЭкземплар()
        {
            BarBuilderRangeBar barBuilder = null;

            Assert.IsNull(barBuilder);
            BarSettings barSettings;

            Common.Enums.DataModelType barType;
            barBuilder = CreateBarBuilderRangeBar(out barSettings, out barType);

            Assert.IsNotNull(barBuilder);
            Assert.AreEqual(barBuilder.BarSettings.BarType, barType);
        }
Exemplo n.º 3
0
 public MakeRangeBarsOnTick(BarSettings barSettings, ITimeTrackable timeTracker, IDataContext tradingData, ILogger logger)
     : base(tradingData.Get <ObservableCollection <Tick> >())
 {
     this.tradingData = tradingData;
     this.barSettings = barSettings;
     this.timeTracker = timeTracker;
     this.logger      = logger;
     //подменяем тип бара на RangeBar
     if (this.barSettings.BarType != Enums.DataModelType.RangeBar)
     {
         this.barSettings.BarType = Enums.DataModelType.RangeBar;
     }
     this.barBuilder = new BarBuilderRangeBar(barSettings);
 }
Exemplo n.º 4
0
        public void Setup()
        {
            this.ticks = new ObservableCollection <Tick>();

            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 20, 20), Price = 500, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 20, 25), Price = 530, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 20, 28), Price = 510, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 20, 33), Price = 550, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 20, 38), Price = 490, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 21, 10), Price = 510, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 21, 20), Price = 500, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 21, 23), Price = 520, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 21, 45), Price = 520, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 21, 58), Price = 520, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 22, 20), Price = 520, Volume = 100, TradeAction = TradeAction.Buy
            });
            this.ticks.Add(new Tick {
                Symbol = "SBER", DateTime = new DateTime(2012, 10, 23, 20, 22, 45), Price = 500, Volume = 100, TradeAction = TradeAction.Buy
            });

            barBuilder = CreateBarBuilderRangeBar(out barSettings, out barType);
        }
Exemplo n.º 5
0
        public void BarBuilderTimeBar_GetNewBarTest()
        {
            BarBuilderTimeBar barBuilder = null;

            Assert.IsNull(barBuilder);
            BarSettings barSettings;

            Common.Enums.DataModelType barType;
            barBuilder = CreateBarBuilderTimeBar(out barSettings, out barType);
            var tick = new Tick(barSettings.Symbol, new DateTime(2016, 7, 10, 10, 0, 00, 600), 151000, 25);

            var bar = barBuilder.GetBarTemplate(tick);

            Assert.IsNotNull(bar);
            Assert.IsTrue(bar.DateTimeOpen == new DateTime(2016, 7, 10, 10, 0, 0));
            Assert.IsTrue(bar.DateTimeOpen <= tick.DateTime);
            Assert.IsTrue(bar.DateTime > tick.DateTime);
            Assert.IsTrue(bar.Symbol == tick.Symbol);
            Assert.IsTrue(bar.State == BarState.None);
            Assert.IsTrue(barBuilder.BarList.First().DateTimeOpen == new DateTime(2016, 7, 10, 10, 1, 0));
            Assert.IsTrue(barBuilder.BarList.Last().DateTime == new DateTime(2016, 7, 11, 00, 0, 0));
            Assert.AreEqual(barBuilder.DateTimeStart.Date, (new DateTime(2016, 7, 10, 00, 0, 0)).Date);
            try
            {   // проверяем генерацию exception когда
                // Не удалось создать нужный интервал
                tick = new Tick(barSettings.Symbol, new DateTime(2016, 7, 10, 08, 0, 00, 600), 151000, 25);
                bar  = barBuilder.GetBarTemplate(tick);
                Assert.Fail("no exception thrown");
                Assert.IsNull(bar);
            }
            catch (Exception ex)
            {
                //Assert.IsTrue(ex is Exception);
                //Assert.IsTrue(ex.Message == "Не удалось создать нужный интервал");
            }
        }