Максимальное значение зафиксированного профита

Автор: konstantinio

Максимальное значение зафиксированного профита - Sat Jan 21 2017 03:27 PM

Доброго дня суток. Для реализации риск менеджмента потребовалось написать простую функцию которая возвращала бы максимальное значение зафиксированного П/У за какой либо период истории. Но вот не пойму почему значения различаются? На графике максимально высокая точка выдает одно значение, а функция совсем другое.
Функция:
Code:
        public static double MaxProfit(this IPositionsList positionsList, int bar)
        {
            var positions = positionsList.GetClosedForBar(bar);// Берем все закрытые позиции



            var maxProfit = 0.0; // начальное значение профита
            
            foreach (var p in positions) //Переберакм все позиции
            {
                //если профит с учетом предыдущего профита больше то записываем его в переменную maxProfit
                //если меньше то возвращаем в переменную то же значение 
                maxProfit = maxProfit > maxProfit + p.Profit() ? maxProfit : maxProfit + p.Profit();
            }
            
            return maxProfit;
        }


Результат:

Скриншот в полную величину:
https://dl.dropboxusercontent.com/u/34862336/img-2017-01-21-15-14-55.png
Автор: komissar

Re: Максимальное значение зафиксированного профита - Sat Jan 21 2017 05:26 PM

Вы считаете закрытые позиции, а на эквити вы смотрите текущий профит. Пики могут оказатся не на закрытой позиции.
Автор: konstantinio

Re: Максимальное значение зафиксированного профита - Sat Jan 21 2017 06:07 PM

Зафиксированный П/У(Фиолетовая кривая) - это и есть профит закрытых позиций. В расчет беру только закрытые позиции.
Code:
var positions = positionsList.GetClosedForBar(bar);// Берем все закрытые позиции
Автор: konstantinio

Re: Максимальное значение зафиксированного профита - Mon Jan 23 2017 06:49 PM

Я же задал вопрос по TsLab API. Почему тему перенесли в ветку форума "Работа с версией 2.0"?