← Atrás

Portfolio.GetPnL()

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

¿Le resultó útil este tema?

Compartir tema

Comentarios (2)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

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()? Им-то пользоваться намного удобнее, тем более у меня несколько работающих стратегий в одном портфеле...