コード例 #1
0
        public void BarPerformance()
        {
            SingleSimImpl h = new SingleSimImpl(new string[] { @"Common\FTI20070926.TIK", @"Common\ABN20080318.TIK", @"Common\SPX20070926.TIK" });

            h.GotTick += h_GotTick;

            h.Initialize();

            tickcount = 0;
            lasttime  = 0;

            Assert.Equal(0, lasttime);
            Assert.True(h.TicksPresent > 0);
            if (Environment.ProcessorCount == 1)
            {
                EXPECTBARS *= 2.5;
            }

            DateTime start = DateTime.Now;

            h.PlayTo(SingleSimImpl.Endsim);

            double time = DateTime.Now.Subtract(start).TotalSeconds;

            h.Stop();
            Assert.True(tickcount >= 50000);
            Assert.Equal(3, bt.SymbolCount);
            Assert.True(time <= EXPECTBARS);
            debug("BarList runtime: " + time.ToString("N2") + "sec, versus: " + EXPECTBARS + "sec expected.");
            debug("BarList " + ((double)tickcount / time).ToString("N0") + " ticks/sec");
        }
コード例 #2
0
        //[Test]
        public void BarPerformance()
        {
            SingleSimImpl h = new SingleSimImpl(new string[] { "FTI20070926.TIK", "ABN20080318.TIK", "SPX20070926.TIK" });

            h.GotTick += new TradeLink.API.TickDelegate(h_GotTick);

            h.Initialize();

            tickcount = 0;
            lasttime  = 0;

            Assert.AreEqual(0, lasttime);
            Assert.Greater(h.TicksPresent, 0);
            if (Environment.ProcessorCount == 1)
            {
                EXPECTBARS *= 2.5;
            }

            DateTime start = DateTime.Now;

            h.PlayTo(SingleSimImpl.ENDSIM);

            double time = DateTime.Now.Subtract(start).TotalSeconds;

            h.Stop();
            Assert.GreaterOrEqual(tickcount, 50000);
            Assert.AreEqual(3, bt.SymbolCount);
            Assert.LessOrEqual(time, EXPECTBARS);
            rt.d("BarList runtime: " + time.ToString("N2") + "sec, versus: " + EXPECTBARS + "sec expected.");
            rt.d("BarList " + ((double)tickcount / time).ToString("N0") + " ticks/sec");
        }
コード例 #3
0
        public void ExecutionPerformance()
        {
            System.Threading.Thread.Sleep(100);
            h = new SingleSimImpl(new string[] { @"Common\FTI20070926.TIK", @"Common\ABN20080318.TIK", @"Common\SPX20070926.TIK" });
            h.Initialize();
            h.GotTick           += execute_GotTick;
            h.SimBroker.GotFill += SimBroker_GotFill;

            tickcount = 0;
            lasttime  = 0;

            Assert.Equal(0, tickcount);
            Assert.Equal(0, syms.Count);
            Assert.Equal(0, lasttime);
            Assert.True(h.TicksPresent > 0);
            if (Environment.ProcessorCount == 1)
            {
                EXPECTEX *= 2.5;
            }

            DateTime start = DateTime.Now;

            h.PlayTo(SingleSimImpl.Endsim);

            double time = DateTime.Now.Subtract(start).TotalSeconds;

            debug("Execution runtime: " + time.ToString("N2") + "sec, versus: " + EXPECTEX + "sec expected.");
            debug("Execution " + ((double)tickcount / time).ToString("N0") + " ticks/sec.  " + ((double)fillcount / time).ToString("N0") + " fills/sec");

            Assert.Equal(desiredfills, fillcount);
            Assert.True(time <= EXPECTEX);
            h.Stop();
        }
コード例 #4
0
        //[Test]
        public void ExecutionPerformance()
        {
            System.Threading.Thread.Sleep(100);
            h = new SingleSimImpl(new string[] { "FTI20070926.TIK", "ABN20080318.TIK", "SPX20070926.TIK" });
            h.Initialize();
            h.GotTick           += new TradeLink.API.TickDelegate(execute_GotTick);
            h.SimBroker.GotFill += new TradeLink.API.FillDelegate(SimBroker_GotFill);

            tickcount = 0;
            lasttime  = 0;

            Assert.AreEqual(0, tickcount);
            Assert.AreEqual(0, syms.Count);
            Assert.AreEqual(0, lasttime);
            Assert.Greater(h.TicksPresent, 0);
            if (Environment.ProcessorCount == 1)
            {
                EXPECTEX *= 2.5;
            }

            DateTime start = DateTime.Now;

            h.PlayTo(SingleSimImpl.ENDSIM);

            double time = DateTime.Now.Subtract(start).TotalSeconds;

            rt.d("Execution runtime: " + time.ToString("N2") + "sec, versus: " + EXPECTEX + "sec expected.");
            rt.d("Execution " + ((double)tickcount / time).ToString("N0") + " ticks/sec.  " + ((double)fillcount / time).ToString("N0") + " fills/sec");

            Assert.AreEqual(desiredfills, fillcount);
            Assert.LessOrEqual(time, EXPECTEX);
            h.Stop();
        }