internal void CanSerializeAndDeserialize_OrderPartiallyFilledEvents()
        {
            // Arrange
            var order = new StubOrderBuilder()
                        .WithQuantity(Quantity.Create(100000))
                        .BuildStopLimitOrder();
            var partiallyFilled = new OrderPartiallyFilled(
                AccountId.FromString("FXCM-02851908-DEMO"),
                order.Id,
                new ExecutionId("E123456"),
                new PositionIdBroker("P123456"),
                order.Symbol,
                order.OrderSide,
                Quantity.Create(order.Quantity / 2),
                Quantity.Create(order.Quantity / 2),
                Price.Create(2m, 1),
                Currency.USD,
                StubZonedDateTime.UnixEpoch(),
                Guid.NewGuid(),
                StubZonedDateTime.UnixEpoch());

            // Act
            var packed   = this.serializer.Serialize(partiallyFilled);
            var unpacked = (OrderPartiallyFilled)this.serializer.Deserialize(packed);

            // Assert
            Assert.Equal(partiallyFilled, unpacked);
            this.Output.WriteLine(Convert.ToBase64String(packed));
        }
Пример #2
0
 private void When(OrderPartiallyFilled @event)
 {
     this.executionIds.Add(@event.ExecutionId);
     this.PositionIdBroker = @event.PositionIdBroker;
     this.FilledQuantity   = @event.FilledQuantity;
     this.AveragePrice     = @event.AveragePrice;
     this.Slippage         = this.CalculateSlippage();
 }
Пример #3
0
        private void OnMessage(OrderPartiallyFilled @event)
        {
            this.EventCount++;
            this.Logger.LogWarning(LogId.Trading, $"{Received}{Event} {@event}.");

            this.ProcessOrderEvent(@event);
            this.HandleOrderFillEvent(@event);
            this.SendToEventPublisher(@event);
        }
Пример #4
0
 private void OnMessage(OrderPartiallyFilled @event)
 {
     this.ReceivedObjects.Add(@event);
 }
Пример #5
0
 private void OnMessage(OrderPartiallyFilled @event)
 {
     this.SendToBus(@event);
 }