请教各位大佬!!!!!!!!

 
double CalculateTodayProfit()
{
    double totalProfitOfToday = 0;

    datetime currentTime = TimeCurrent();
    MqlDateTime currentDateTime;
    TimeToStruct(currentTime, currentDateTime);

    MqlDateTime startOfDay;
    TimeToStruct(currentTime, startOfDay);
    startOfDay.hour = 0;
    startOfDay.min = 0;
    startOfDay.sec = 0;
    datetime startOfDayTime = StructToTime(startOfDay);

    if (HistorySelect(startOfDayTime, currentTime))
    {
        for (int i = HistoryDealsTotal() - 1; i >= 0; i--)
        {
            ulong dealTicket = HistoryDealGetTicket(i);
            if (HistoryDealSelect(dealTicket))
            {
                if (HistoryDealGetInteger(dealTicket, DEAL_MAGIC) == InpMagicNumber && HistoryDealGetInteger(dealTicket, DEAL_ENTRY) != DEAL_ENTRY_IN)
                {
                    datetime dealCloseTime = (datetime)HistoryDealGetInteger(dealTicket, DEAL_TIME);
                    MqlDateTime dealCloseDateTime;
                    TimeToStruct(dealCloseTime, dealCloseDateTime);
                    if (dealCloseDateTime.day == currentDateTime.day && dealCloseDateTime.mon == currentDateTime.mon && dealCloseDateTime.year == currentDateTime.year)
                    {
                        double dealProfit = HistoryDealGetDouble(dealTicket, DEAL_PROFIT);
                        totalProfitOfToday += dealProfit;
                    }
                }
            }
        }
    }
    return totalProfitOfToday;
}
这段代码是什么功能???
 
Kwong Yuan:
这段代码是什么功能???

计算当天的总盈利。

 
Xiaoyu Huang #:

计算当天的总盈利。

0点到现在吗?

现在我想写一个当天的总利润和几个亏损的订单对比。

先是总利润和最大的亏损对比,不够抵消这个亏损单的话就和第二大对比。

以此类推够抵消的话就平掉这个亏损单,然后更新总利润,然后继续对比。


但是问题就出现了,当天总利润只够平掉1-2个或者3个,但是一下子就把全部亏损单都平掉了

发现平仓一个亏损单之后好像更新不了总利润,不知道是哪里出问题