Как посчитать прибыль по истории

 

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

Сделал вот так:

for(int pr=OrdersHistoryTotal()-1;pr>=prstop;pr--)
   {
   if (profitclots < depo)  
     {
     profitclots += (OrderProfit()+OrderCommission()+OrderSwap());
     GetLots();
     }  
     
   if (profitclots > depo) 
     {
     profitclots =0;
     GetLots();
     prstop = (OrdersHistoryTotal()-1);
     }
   }

Считает, сбрасывает, но! Когда меняется тип ордера, то профит становится отрицательным. Если ордера все одного типа, то все гуд. 

Подскажите, куда копать?

 
R-try:

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

Сделал вот так:

Считает, сбрасывает, но! Когда меняется тип ордера, то профит становится отрицательным. Если ордера все одного типа, то все гуд. 

Подскажите, куда копать?

Не лучше смотреть время закрытия, а не количество в массиве истории.

Причина обращения: