private void AddOrder(OrderDTO order)
 {
     if (order.OrderStatus == OrderStatus.Processing)
     {
         OpenOrders.Add(new DisplayOrder(order));
     }
     else
     {
         ClosedOrders.Add(new DisplayOrder(order));
     }
 }
예제 #2
0
        void CalculatePNL()
        {
            foreach (var order in OpenOrders)
            {
                double priceDiff;
                if (order.Model.Type == OrderType.Sell)
                {
                    priceDiff = order.Model.Open - CurrentPrice.Close;
                }
                else
                {
                    priceDiff = CurrentPrice.Close - order.Model.Open;
                }

                order.PL = ((priceDiff) / this.chartInfo.Point) * ChartInfo.PipValue * order.Model.Size;
            }

            CurrentPL = OpenOrders.Sum(x => x.PL);
            TotalPL   = CurrentPL + ClosedOrders.Sum(x => x.PL);
            Profit    = ClosedOrders.Sum(x => x.PL);
        }