internal void OnOrderRejected(OrderRejectionResponse message) { if (OrderRejected == null) return; var o = message.Order; var order = new Order(o.UserID, o.Symbol, o.Quantity, DataConverter.ToClientOrderType(o.OrderType), o.OrderSide.ToClientSide(), o.Commission, o.AvgFillPrice, o.OpenDate, DataConverter.ToClientTIF(o.TimeInForce)) { CurrentPrice = o.CurrentPrice, SLOffset = o.SLOffset, TPOffset = o.TPOffset, ProfitPips = o.PipProfit, Profit = o.Profit, FilledQuantity = o.FilledQuantity, BrokerName = o.BrokerName, AccountId = o.AccountId, BrokerID = o.BrokerID, ServerSide = o.ServerSide }; OrderRejected(this, new EventArgs<Order, string>(order, message.Msg)); }
internal void OnHistoricalOrder(HistoricalOrderResponse message) { if (NewHistoricalOrder == null) return; var order = message.HistoricalOrder; var status = order.FilledQuantity > 0 ? Status.Filled : Status.Canceled; var historicalOrder = new Order(order.UserID, order.Symbol, status == Status.Filled ? order.FilledQuantity : order.CancelledQuantity, DataConverter.ToClientOrderType(order.OrderType), order.OrderSide.ToClientSide(), order.Commission, status == Status.Filled ? order.AvgFillPrice : order.Price, order.OpenDate, DataConverter.ToClientTIF(order.TimeInForce)) { OrderStatus = status, BrokerName = order.BrokerName, AccountId = order.AccountId, BrokerID = order.BrokerID, ServerSide = order.ServerSide, OpeningQty = order.OpeningQty, ClosingQty = order.ClosingQty }; NewHistoricalOrder?.Invoke(this, new EventArgs<string, Order>(message.AccountID, historicalOrder)); }