コード例 #1
0
        public void TestUpdateMarketPositionMultipleOrders()
        {
            var orderCreator = new OrderCreator();
            var manager      = new StrategyManager(orderCreator);

            orderCreator.MarketThisBar(
                new SOrderParameters(EOrderAction.Buy)).Send();
            orderCreator.MarketThisBar(
                new SOrderParameters(EOrderAction.Buy)).Send();
            orderCreator.MarketThisBar(
                new SOrderParameters(
                    Contracts.Default, EOrderAction.Sell, OrderExit.FromAll)).Send();

            Assert.Equal(0, manager.StrategyInfo.MarketPosition);
        }
コード例 #2
0
        public void TestUpdateMarketPosition()
        {
            var orderCreator = new OrderCreator();
            var manager      = new StrategyManager(orderCreator);

            var order = orderCreator.MarketThisBar(
                new SOrderParameters(EOrderAction.Buy));

            order.Send();

            Assert.Equal(100, manager.StrategyInfo.MarketPosition);
        }
コード例 #3
0
ファイル: OrderCreatorTest.cs プロジェクト: okinta/MCRunner
        public void TestMarketThisBar()
        {
            var orderCreator = new OrderCreator();

            using var monitoredOrderCreator = orderCreator.Monitor();
            var order = orderCreator.MarketThisBar(
                new SOrderParameters(Contracts.CreateUserSpecified(10), EOrderAction.Buy));

            order.Send(99);
            monitoredOrderCreator
            .Should().Raise("OrderSent")
            .WithArgs <OrderInfo>(info => info.Order == order)
            .WithArgs <OrderInfo>(info => info.OrderAction == EOrderAction.Buy)
            .WithArgs <OrderInfo>(info => info.Size == 99);
        }