Функция для формирования отчета по парам

Функция для мультивалютного советника, выводящая (принтом) в конце тестирования сумму профита по каждому участвующему в торговле инструменту.

Вызов функции делать в OnDeinit(). Входной параметр — массив с торговыми инструментами.

void reportOpPair(string &arrP[])
  {
   ulong d_ticket;
   string res = "";
   string totalRes = "";

   if(HistorySelect(0,TimeCurrent()))
     {
      for(int i = 0; i < ArraySize(arrP); i++)
        {
         double prof=0;

         for(int j=HistoryDealsTotal(); j>0; j--) // Получаем общее количество сделок в истории
           {
            d_ticket = HistoryDealGetTicket(j); // выбираем сделку по тикету
            if(d_ticket>0)
              {
               mydeal.Ticket(d_ticket);
               if(mydeal.Symbol() == arrP[i])
                 {
                  prof += mydeal.Profit() + mydeal.Swap() + mydeal.Commission();
                 }
              }
           }
         res = DoubleToString(prof,2);
         Print("#",i,": pair: ", arrP[i]," profit: ", res);
        }
      totalRes+=res;
     }
   Print("Total profit :",DoubleToString(totalRes,2));
  }

Поделись с друзьями: