а зачем вы изобретаете велосипед, когда уже есть стандартный кубик "Доход" и "Доход %"?
И код его примитивный:
Code:

    public class Profit : IPosition2Double
    {
        public double Execute(IPosition pos, int barNum)
        {
            if (pos == null)
            {
                return 0;
            }
            return pos.OpenProfit(barNum);
        }
    }