示例#1
0
        public void TestGuppiAlgMatrix()
        {
            var alg = new GuppiAlgorithm(4, 6, 9, 11, 13, 16, 31, 36, 41, 46, 51, 61);

            using (var provider = new FinamCandleProvider("SPFB.SI", TimePeriod.Hour,
                                                          "14", "19899", new DateTime(2013, 9, 1), new DateTime(2014, 03, 10)))
            {
                provider.Initialize();
                using (var reader = new StreamReader(@"data\guppi_data.dat"))
                {
                    var startDate = new DateTime(2014, 01, 13, 15, 0, 0);
                    while (provider.Current.TimeStamp != startDate)
                    {
                        provider.MoveNext();
                        alg.Check(provider.Current);
                    }
                    reader.ReadLine();
                    while (!reader.EndOfStream)
                    {
                        provider.MoveNext();
                        alg.Check(provider.Current);
                        var data    = reader.ReadLine().Split(';');
                        var algData = alg.Data.Last();
                        int i;
                        for (i = 0; i < 12; i++)
                        {
                            Assert.IsTrue(Math.Abs(float.Parse(data[i]) - algData[i]) <= 1);
                        }
                        for (i = 12; i < 24; i++)
                        {
                            Assert.AreEqual(int.Parse(data[i]), algData[i]);
                        }
                        Assert.IsTrue(algData[33] == algData[28] && algData[28] == -1);
                    }
                }
            }
        }
        public void TestFinamProviderBasicDownload()
        {
            var lowDate  = new DateTime(2016, 6, 10);
            var highDate = new DateTime(2016, 7, 10);

            using (var provider = new FinamCandleProvider("SPFB.SI", TimePeriod.Hour,
                                                          "14", "19899", lowDate, highDate))
            {
                Assert.AreEqual(provider.Current, default(Candle));
                provider.Initialize();
                var num = 0;
                while (provider.MoveNext())
                {
                    num++;
                    Assert.IsTrue(provider.Current.TimeStamp >= lowDate && provider.Current.TimeStamp <= highDate);
                }
                Assert.AreEqual(279, num);
            }
        }