示例#1
0
        public StopOrder SendStopOrder(Instrument instrument, Side side, double qty, double price)
        {
            StopOrder stopOrder = new StopOrder(instrument, side, qty, price);

            this.Strategy.EB2iXBUSFK((SingleOrder)stopOrder);
            stopOrder.Send();
            return(stopOrder);
        }
示例#2
0
        public StopOrder SendStopOrder(Instrument instrument, Side side, double qty, double price)
        {
            StopOrder stopOrder = new StopOrder(instrument, side, qty, price);

            base.Strategy.RegisterOrder(stopOrder);
            stopOrder.Send();
            return(stopOrder);
        }
示例#3
0
        public void TestSendNumLotsZeroDefault()
        {
            var order = new StopOrder(new SOrderParameters());

            using var monitoredOrder = order.Monitor();
            order.Send(13, 0);
            monitoredOrder.Should().Raise("OrderSent")
            .WithArgs <OrderInfo>(info => info.ConditionPrice == 13)
            .WithArgs <OrderInfo>(info => info.Size == 100);
        }
示例#4
0
        public void TestSendCustomNumLots()
        {
            var order = new StopOrder(
                new SOrderParameters(Contracts.CreateUserSpecified(100), EOrderAction.Buy));

            using var monitoredOrder = order.Monitor();
            order.Send(14, 25);
            monitoredOrder.Should().Raise("OrderSent")
            .WithArgs <OrderInfo>(info => info.ConditionPrice == 14)
            .WithArgs <OrderInfo>(info => info.OrderAction == EOrderAction.Buy)
            .WithArgs <OrderInfo>(info => info.Size == 25);
        }
示例#5
0
        public void TestSend()
        {
            var order = new StopOrder(new SOrderParameters());

            using var monitoredOrder = order.Monitor();
            order.Send(15);
            monitoredOrder
            .Should().Raise("OrderSent")
            .WithArgs <OrderInfo>(info => info.ConditionPrice == 15)
            .WithArgs <OrderInfo>(info => info.OrderAction == EOrderAction.Buy)
            .WithArgs <OrderInfo>(info => info.Size == 100);
        }
示例#6
0
        public void TestSendNumLotsDissallowNegative()
        {
            var order = new StopOrder(new SOrderParameters());

            Assert.Throws <ArgumentOutOfRangeException>(() => order.Send(20, -100));
        }