Ejemplo n.º 1
0
        public void SimpleTick()
        {
            var securityName = "TEST";
            var currencyName = "USD";

            var startingPortfolio = new Portfolio();
            var market            = new HistoricalMarket(TimeSpan.FromHours(1), startingPortfolio, 0);

            var csvName = "test.csv";

            GenerateConstantDataCsv(csvName, 100, 100, TimeSpan.FromHours(1));
            market.LoadDataFromCsv(csvName, securityName, currencyName);

            var last = market.GetLastPrice();

            Assert.IsNull(last);

            last = market.Tick();
            Assert.IsNotNull(last);
            Assert.IsNotNull(last[securityName]);
            Assert.IsTrue(last[securityName].Price > 0);

            var firstTickTime = last[securityName].Timestamp;

            last = market.Tick();
            Assert.IsNotNull(last);
            Assert.IsNotNull(last[securityName]);
            Assert.IsTrue(last[securityName].Price > 0);

            Assert.IsTrue((last[securityName].Timestamp - firstTickTime).TotalHours == 1);
        }
Ejemplo n.º 2
0
        public void OpenOrder_LimitOrder()
        {
            var startingPortfolio = new Portfolio();

            startingPortfolio.AddSecurity("USD", 1000m);
            var market = new HistoricalMarket(TimeSpan.FromHours(1), startingPortfolio, 0);

            GenerateConstantDataCsv("test.csv", 100, 100, TimeSpan.FromHours(1));
            market.LoadDataFromCsv("test.csv", "SPX", "USD");

            market.Tick();

            market.OpenOrder(new Order()
            {
                BaseCurrency = "USD",
                Price        = 100,
                Security     = "SPX",
                Side         = OrderSide.Buy,
                Type         = OrderType.LimitOrder,
                Volume       = 1
            });
        }