public static void CalculatePL(List <OpenPosition> positions, Streaming.Model.MarketData marketData)
        {
            Contract.Requires(positions != null);

            positions.ForEach(position =>
            {
                position.Position.ProfitAndLoss = CalculatePL(position, marketData).Value;
            });
        }
        public static double?CalculatePL(OpenPosition openPosition, Streaming.Model.MarketData marketData)
        {
            Contract.Requires(openPosition != null);
            Contract.Requires(marketData != null);

            if (openPosition.Position.Direction == "BUY")
            {
                return((marketData.Bid - openPosition.Position.Level) * openPosition.Position.Size);
            }
            else
            {
                return((openPosition.Position.Level - marketData.Offer) * openPosition.Position.Size);
            }
        }