Функция определяет количество прибыльных сделок с определенного времени, передаваемого в параметре этой функции.
int profitInRow(datetime startCount)
{
int res = 0;
double profit = 0;
ulong deal_ticket=0;
ulong order_ticket=0;
ulong order_magic = -1;
int deals=HistoryDealsTotal();
datetime deal_time = 0;
for(int i=0; i<deals; i++)
{
deal_ticket=HistoryDealGetTicket(i);
order_magic = (ulong)HistoryDealGetInteger(deal_ticket,DEAL_MAGIC);
profit = HistoryDealGetDouble(deal_ticket,DEAL_PROFIT);
deal_time = (datetime) HistoryDealGetInteger(deal_ticket,DEAL_TIME);
if(deal_ticket>0 && order_magic == Magic && profit > 0 && deal_time > startCount)
{
order_ticket=(ulong)HistoryDealGetInteger(deal_ticket,DEAL_ORDER);
if(order_ticket>0)
{
if(HistoryDealGetInteger(deal_ticket,DEAL_ENTRY)==DEAL_ENTRY_OUT) res++;
}
}
}
return(res);
}