コード例 #1
0
        public void AllowsOneActiveOrderPerSymbol(OrderTestParameters parameters)
        {
            // tradier's api gets special with zero holdings crossing in that they need to fill the order
            // before the next can be submitted, so we just limit this impl to only having on active order
            // by symbol at a time, new orders will issue cancel commands for the existing order

            bool orderFilledOrCanceled = false;
            var order = parameters.CreateLongOrder(1);
            EventHandler<OrderEvent> brokerageOnOrderStatusChanged = (sender, args) =>
            {
                // we expect all orders to be cancelled except for market orders, they may fill before the next order is submitted
                if (args.OrderId == order.Id && args.Status == OrderStatus.Canceled || (order is MarketOrder && args.Status == OrderStatus.Filled))
                {
                    orderFilledOrCanceled = true;
                }
            };

            Brokerage.OrderStatusChanged += brokerageOnOrderStatusChanged;

            // starting from zero initiate two long orders and see that the first is canceled
            PlaceOrderWaitForStatus(order, OrderStatus.Submitted);
            PlaceOrderWaitForStatus(parameters.CreateLongMarketOrder(1));

            Brokerage.OrderStatusChanged -= brokerageOnOrderStatusChanged;

            Assert.IsTrue(orderFilledOrCanceled);
        }
コード例 #2
0
ファイル: BinanceBrokerageTests.cs プロジェクト: yzhao20/Lean
 protected override void ModifyOrderUntilFilled(Order order, OrderTestParameters parameters, double secondsTimeout = 90)
 {
     Assert.Pass("Order update not supported. Please cancel and re-create.");
 }
コード例 #3
0
ファイル: BinanceBrokerageTests.cs プロジェクト: yzhao20/Lean
 public override void ShortFromLong(OrderTestParameters parameters)
 {
     base.ShortFromLong(parameters);
 }
コード例 #4
0
ファイル: BinanceBrokerageTests.cs プロジェクト: yzhao20/Lean
 public override void LongFromShort(OrderTestParameters parameters)
 {
     base.LongFromShort(parameters);
 }
コード例 #5
0
ファイル: BinanceBrokerageTests.cs プロジェクト: yzhao20/Lean
 public override void CloseFromShort(OrderTestParameters parameters)
 {
     base.CloseFromShort(parameters);
 }
コード例 #6
0
ファイル: BinanceBrokerageTests.cs プロジェクト: yzhao20/Lean
 public override void CloseFromLong(OrderTestParameters parameters)
 {
     base.CloseFromLong(parameters);
 }
コード例 #7
0
ファイル: BinanceBrokerageTests.cs プロジェクト: yzhao20/Lean
 public override void LongFromZero(OrderTestParameters parameters)
 {
     base.LongFromZero(parameters);
 }
コード例 #8
0
ファイル: BinanceBrokerageTests.cs プロジェクト: yzhao20/Lean
 public override void CancelOrders(OrderTestParameters parameters)
 {
     base.CancelOrders(parameters);
 }
コード例 #9
0
 public override void LongFromShort(OrderTestParameters parameters)
 {
     // https://github.com/alpacahq/Alpaca-API/issues/90
     Assert.Ignore("Alpaca brokerage does not currently support reversing a position with a single order.");
 }