Пример #1
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <see cref="Message"/>
        /// <param name="message">Source message.</param>
        public OrderCanceledData(Message message)
        {
            ClientId = DWConverter.FromProtoUuid(message.ClientId);

            OrderCanceledMessage orderCanceledMessage = message.OrderCanceledMsg.Clone();

            OrigClientId = DWConverter.FromProtoUuid(orderCanceledMessage.PrevClientId);
            TraderId     = message.TraderId;
            Symbol       = SymbolsContainer.GetSymbol(message.MarketId);
            MarkPrice    = DWConverter.FromProtoDecimal(orderCanceledMessage.MarkPrice);
            OrderIds     = new List <Guid>();
            foreach (ByteString orderId in orderCanceledMessage.OrderIds)
            {
                OrderIds.Add(DWConverter.FromProtoUuid(orderId));
            }
            OrderMargin       = DWConverter.FromProtoDecimal(orderCanceledMessage.OrderMargin);
            PositionMargin    = DWConverter.FromProtoDecimal(orderCanceledMessage.PositionMargin);
            Status            = orderCanceledMessage.Status;
            TraderBalance     = DWConverter.FromProtoDecimal(orderCanceledMessage.TraderBalance);
            TraderBalance2    = DWConverter.FromProtoDecimal(orderCanceledMessage.TraderBalance2);
            Upnl              = DWConverter.FromProtoDecimal(orderCanceledMessage.Upnl);
            BuyOrderMargin    = DWConverter.FromProtoDecimal(orderCanceledMessage.BuyOrderMargin);
            Pnl               = DWConverter.FromProtoDecimal(orderCanceledMessage.Pnl);
            SellOrderMargin   = DWConverter.FromProtoDecimal(orderCanceledMessage.SellOrderMargin);
            BuyOrderQuantity  = DWConverter.FromProtoDecimal(orderCanceledMessage.BuyOrderQuantity);
            SellOrderQuantity = DWConverter.FromProtoDecimal(orderCanceledMessage.SellOrderQuantity);
            AccumQuantity     = DWConverter.FromProtoDecimal(orderCanceledMessage.AccumQuantity);
            Orders            = new List <OrderBase>();
            foreach (OrderMessage order in orderCanceledMessage.Orders)
            {
                Orders.Add(order.OrderType == OrderType.Limit ? (OrderBase) new OrderLimit(order, Symbol) :
                           new OrderMarket(order, Symbol));
            }
        }
Пример #2
0
        public void Consume(OrderCanceledMessage message)
        {
            MessageBox.Show(string.Format("Hey, your order {0} is inserted has been canceled on date {1}.", message.CorrelationId, message.DataCancellazione), "Order Inserted", MessageBoxButtons.OK);

            _unsubscribeToken();
            _unsubscribeToken = null;
        }
Пример #3
0
        private void Handle(OrderCanceledMessage msg)
        {
            if (msg.Data is null)
            {
                return;
            }

            _logger.LogInformation(
                $"Order cancelled on {msg.Data.Symbol} | [orderType={msg.Data.Type}] [price={msg.Data.OrderPrice}] [size={msg.Data.OrderSize}] [orderId={msg.Data.OrderId}]");
        }
Пример #4
0
        private void SpedizioneAnnullataMittente(AnnulloOrdineMessage message)
        {
            Console.WriteLine("Ordine Annullato {0} {1}", message.CorrelationId, message.Motivazione);
            OrderCanceledMessage orderCanceledMessage = new OrderCanceledMessage
            {
                CorrelationId     = message.Token,
                DataCancellazione = DateTime.Now
            };

            Bus.Context().Respond(orderCanceledMessage);
        }
        private bool TryHandleOrderUpdateMessages(string message)
        {
            if (ConditionalOrderTriggerFailureMessage.TryParse(
                    Serializer,
                    message,
                    out var conditionalOrderTriggerFailureMessage))
            {
                Streams.ConditionalOrderTriggerFailureMessageSubject.OnNext(conditionalOrderTriggerFailureMessage);
                return(true);
            }

            if (ConditionalOrderCanceledMessage.TryParse(Serializer, message, out var conditionalOrderCanceledMessage))
            {
                Streams.ConditionalOrderCanceledMessageSubject.OnNext(conditionalOrderCanceledMessage);
                return(true);
            }

            if (OrderSubmittedMessage.TryParse(Serializer, message, out var conditionalSubmittedMessage))
            {
                Streams.OrderSubmittedMessageSubject.OnNext(conditionalSubmittedMessage);
                return(true);
            }

            if (OrderTradedMessage.TryParse(Serializer, message, out var orderTradedMessage))
            {
                Streams.OrderTradedMessageSubject.OnNext(orderTradedMessage);
                return(true);
            }

            if (OrderCanceledMessage.TryParse(Serializer, message, out var orderCanceledMessage))
            {
                Streams.OrderCanceledMessageSubject.OnNext(orderCanceledMessage);
                return(true);
            }

            return(false);
        }