要将一周的开始日期设置为周一,您可以使用以下函数来计算给定日期的周一日期:

datetime GetMonday(datetime date)
{
    int dayOfWeek = DayOfWeek(date);

    if (dayOfWeek == 0)  // Sunday
    {
        return date - 6 * 86400;  // Subtract 6 days to get the previous Monday
    }
    else
    {
        return date - (dayOfWeek - 1) * 86400;  // Subtract (dayOfWeek - 1) days to get the previous Monday
    }
}

这个函数接受一个日期参数,并返回该日期所在周的周一日期。它使用DayOfWeek函数来获取给定日期是星期几,然后根据星期几的值来计算上一周的周一日期。

在您的MQL4程序中,您可以使用此函数来设置一周的开始日期为周一。例如:

datetime startDate = GetMonday(TimeLocal());

这将获取当前日期并将其设置为当前周的周一日期。

请注意,这个函数假设星期一为每周的第一天,这是大多数国家的常规设置。如果您在特定的市场中使用不同的周开始日期,您需要相应地调整此函数的逻辑。

MQL4 函数:将一周的开始日期设置为周一

原文地址: https://www.cveoy.top/t/topic/o2di 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录