コード例 #1
0
        public void TestTickMultiplier()
        {
            PbTickCodec codec = new PbTickCodec();

            codec.Config.SetTickSize(0.2);
            codec.Config.ContractMultiplier = 50000;
            codec.Config.Time_ssf_Diff      = 5;
            codec.UseFlat(false);

            PbTick tick1 = new PbTick();

            codec.SetAveragePrice(tick1, 123.45);
            codec.SetSettlementPrice(tick1, 123.45);
            codec.SetTurnover(tick1, 1234567890123456);
            codec.SetOpenInterest(tick1, 9123456789012345678);
            codec.SetVolume(tick1, 1234567890);



            Assert.AreEqual <double>(123.45, codec.GetAveragePrice(tick1));
            Assert.AreEqual <double>(123.45, codec.GetSettlementPrice(tick1));
            Assert.AreEqual <double>(1234567890120000, codec.GetTurnover(tick1));
            Assert.AreEqual <long>(9123456789012345678, codec.GetOpenInterest(tick1));
            Assert.AreEqual <long>(1234567890, codec.GetVolume(tick1));

            codec.Config.ContractMultiplier = 5;
            codec.SetTurnover(tick1, 1234567890123456);
            Assert.AreEqual <double>(1234567890123456, codec.GetTurnover(tick1));

            codec.Config.ContractMultiplier = 0.1;
            codec.SetTurnover(tick1, 12345678901234.56);
            Assert.AreEqual <double>(12345678901234.56, codec.GetTurnover(tick1));
        }
コード例 #2
0
        public void TestGetSetPrice()
        {
            PbTickCodec codec = new PbTickCodec();

            codec.Config.SetTickSize(0.2);
            codec.UseFlat(false);

            PbTick tick = new PbTick();

            Assert.AreEqual <double>(0, codec.GetBidPrice(tick, 1));
            Assert.AreEqual <double>(0, codec.GetBidPrice(tick, 4));
            Assert.AreEqual <double>(0, codec.GetBidPrice(tick, 10));

            codec.SetBidPrice(tick, 1, 1.0);
            codec.SetBidPrice(tick, 4, 2.4);
            codec.SetBidPrice(tick, 10, 5.8);

            Assert.AreEqual <double>(1, codec.GetBidPrice(tick, 1));
            Assert.AreEqual <double>(2.4, codec.GetBidPrice(tick, 4));
            Assert.AreEqual <double>(5.8, codec.GetBidPrice(tick, 10));



            Assert.AreEqual <double>(0, codec.GetAskPrice(tick, 1));
            Assert.AreEqual <double>(0, codec.GetAskPrice(tick, 4));
            Assert.AreEqual <double>(0, codec.GetAskPrice(tick, 10));

            codec.SetAskPrice(tick, 1, -1.0);
            codec.SetAskPrice(tick, 4, 2.4);
            codec.SetAskPrice(tick, 10, -5.8);

            Assert.AreEqual <double>(-1.0, codec.GetAskPrice(tick, 1));
            Assert.AreEqual <double>(2.4, codec.GetAskPrice(tick, 4));
            Assert.AreEqual <double>(-5.8, codec.GetAskPrice(tick, 10));

            codec.SetAskCount(tick, 1, 4);
            codec.SetAskCount(tick, 4, 5);
            codec.SetAskCount(tick, 10, -9);

            Assert.AreEqual <double>(4, codec.GetAskCount(tick, 1));
            Assert.AreEqual <double>(5, codec.GetAskCount(tick, 4));
            Assert.AreEqual <double>(-9, codec.GetAskCount(tick, 10));

            codec.SetSettlementPrice(tick, 1234.56);
            Assert.AreEqual <double>(1234.56, codec.GetSettlementPrice(tick), "SettlementPrice");

            codec.SetTurnover(tick, 4567.8);
            Assert.AreEqual <double>(4567.8, codec.GetTurnover(tick), "Turnover");
        }