← Voltar

Portfolio.GetPnL()

Этот метод, по идее, должен возвращать текущие прибыли/убытки по всему портфелю ( у меня одновременно несколько стратегий работают по разным инструментам). Но возвращает начальный депозит даже не на начало сессии, а вообще начальный. Счёт тестовый если что. Почему не работает? Как иначе получить текущие PnL по всему портфелю?

Este tópico foi útil?

Compartilhar tópico

Comentários (2)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

Alexander
Alexander

romanick: Этот метод, по идее, должен возвращать текущие прибыли/убытки по всему портфелю ( у меня одновременно несколько стратегий работают по разным инструментам). Но возвращает начальный депозит даже не на начало сессии, а вообще начальный. Счёт тестовый если что. Почему не работает? Как иначе получить текущие PnL по всему портфелю?

данный метод возвращает

portfolio.CurrentAmount - portfolio.BeginAmount

Регистрировали ли Portfolio, есть ли подписка на сделки?

romanick
romanick Autor

Alexander:

romanick: Этот метод, по идее, должен возвращать текущие прибыли/убытки по всему портфелю ( у меня одновременно несколько стратегий работают по разным инструментам). Но возвращает начальный депозит даже не на начало сессии, а вообще начальный. Счёт тестовый если что. Почему не работает? Как иначе получить текущие PnL по всему портфелю?

данный метод возвращает

portfolio.CurrentAmount - portfolio.BeginAmount

> 
> Регистрировали ли Portfolio, есть ли подписка на сделки?

Вроде бы всё есть:

_strategy = new RobotStrategy(tradeData);
				_manager.Register(_strategy, portfolio, security);
_trader.RegisterSecurity(security);
_trader.RegisterQuotes(security);
_trader.RegisterTrades(security);
_trader.RegisterPortfolio(portfolio);

Что интересно, что Strategy.GetPnL работает верно и можно в принципе брать нужное значение от туда, но почему не работает Portfolio.GetPnL()? Им-то пользоваться намного удобнее, тем более у меня несколько работающих стратегий в одном портфеле...