Как вычислить начальный депозит счёта?

 

Как вычислить чистый начальный депозит счёта ?


В истории он указан как Deposit

 
Посмотрите скрипт Summary Report In Points
 
Rosh >>:
Посмотрите скрипт Summary Report In Points

Гм...

Спасибо большое, оно круто конечно...

Но в терминале же висит эта цифра в истории, неуж-то её никак попроще оттуда не снять?

Хотелось бы, что-бы советник сначала прикинул может на сегодня уже все лоссы слиты и ему даже начинать сегодня не стоит.

 
ну так посчитайте суммарный профит по всем закрытым ордерам, и отнимите его от баланса
 
xrust >>:
ну так посчитайте суммарный профит по всем закрытым ордерам, и отнимите его от баланса

Именно шулай!

 
Ну, а чего проще, взять да и прогнать всю историю по циклу. Тогда и увидишь, что самый первый депозит с номером 0.
 

Ну да, а завтра выйдет новая версия терминала и в ней будет функция типа DepositStartValue()

и сиди после этого (как всегда), и чеши репу, и думай (как всегда)- чё ради я старый олух корячился то?

Но в любом случае- спасибо за советы, иначе когда бы я ещё узнал про HistoryTotal()?

В следующем десятилетии... может быть...

 

Странно, чё я не так сделал?


Цикл показывает балланс 840 а терминал в отчётах 986.


int i,accTotal=OrdersHistoryTotal(),ProfitSumma=0;
for(i=0;i<accTotal;i++)
{
//---- check selection result
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
break;
}
// работа с ордером ...
ProfitSumma=ProfitSumma+OrderProfit();
}

//----
MessageBox("Obsii Ballans="+ProfitSumma);

if(ProfitSumma>0) return(ProfitSumma);
return(0);

 
надо еще суммировать СВОПЫ.
 
Talex >>:
надо еще суммировать СВОПЫ.

Так если б они были.

Отчёт то за день.

 

не корячься

//+------------------------------------------------------------------+
//  Показывает сумму внесенных средств                               |
//-------------------------------------------------------------------+
double StartBalans(){double profit=0;
if(OrdersTotal()>0){return(0);}
for(int i=OrdersHistoryTotal()+1;i>=0;i--){
  if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
    if(OrderType()<2){
      profit=profit+OrderProfit()+OrderSwap()+OrderCommission(); 
    }
  }
}
return(AccountBalance()-profit);
}
Причина обращения: