← Zurück

Portfolio.GetPnL()

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (2)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

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