Как узнать текущую стоимость портфеля акций?

 
Vasilii Polovnikov:

Добрый день, подскажите пожалуйста, как в mql5 узнать текущую ликвидационную стоимость портфеля акций?

ACCOUNT_ASSETS возвращает 0. Брокер Открытие. Реал.


Решил вопрос.

 
Vasilii Polovnikov:

Решил вопрос.

Прекрасно!

Если не сложно, напишите решение, может кому пригодится. 

 
Vitaly Muzichenko:

Прекрасно!

Если не сложно, напишите решение, может кому пригодится. 

Да, пожалуйста, 

double positionsBalance;

   string s;

   for(int i=0;i<=PositionsTotal();i++)

   {

      s=PositionGetSymbol(i);

      PositionSelect(s);

      positionsBalance+=PositionGetDouble(POSITION_VOLUME)*PositionGetDouble(POSITION_PRICE_OPEN)*

      SymbolInfoDouble(s,SYMBOL_TRADE_CONTRACT_SIZE);

   }

   positionsBalance+=AccountInfoDouble(ACCOUNT_BALANCE)+AccountInfoDouble(ACCOUNT_PROFIT);

 
Vasilii Polovnikov:
Да, пожалуйста, 

double positionsBalance;

   string s;

   for(int i=0;i<=PositionsTotal();i++)

   {

      s=PositionGetSymbol(i);

      PositionSelect(s);

      positionsBalance+=PositionGetDouble(POSITION_VOLUME)*PositionGetDouble(POSITION_PRICE_OPEN)*

      SymbolInfoDouble(s,SYMBOL_TRADE_CONTRACT_SIZE);

   }

   positionsBalance+=AccountInfoDouble(ACCOUNT_BALANCE)+AccountInfoDouble(ACCOUNT_PROFIT);


Должен предупредить, что данный код решает проблему на сегодня, при текущем билде. Брокер Открытие. 

 

А ты уверен PositionGetDouble(POSITION_VOLUME) возвращает количество акций ? Рискну предположить, что он возвращает количество лотов.

 
pivomoe:

А ты уверен PositionGetDouble(POSITION_VOLUME) возвращает количество акций ? Рискну предположить, что он возвращает количество лотов.

Никто и не спорит. Посмотри внимательней и ты увидишь, что количество лотов умножается на количество акций в лоте.