mql4写一个函数传入当前的日期。返回值为字符串格式为传入日期的年月再加上传入日期为传入当月的第多少周。每周的开始日期为周一。
以下是一个示例的MQL4函数,可以根据输入的日期返回符合要求的字符串:
string GetWeekOfMonth(datetime date)
{
string result = "";
// 获取传入日期的年份和月份
int year = Year(date);
int month = Month(date);
// 获取传入日期是当月的第几周
int weekOfMonth = DayOfWeek(date) == 1 ? 1 : MathCeil(DayOfMonth(date) / 7.0);
// 获取传入日期所在周的开始日期
int firstDayOfWeek = DayOfWeek(date) == 1 ? Day(date) : Day(date) - (DayOfWeek(date) - 1);
// 构造返回字符串
result = IntegerToString(year) + "-" + IntegerToString(month) + "-W" + IntegerToString(weekOfMonth) + "-Starting-" + IntegerToString(firstDayOfWeek);
return result;
}
使用示例:
void OnStart()
{
datetime currentDate = TimeCurrent();
string result = GetWeekOfMonth(currentDate);
Print(result);
}
这个示例会将当前日期传入GetWeekOfMonth函数中,并打印出符合要求的字符串。例如,如果当前日期是2022年2月15日(周二),则输出为"2022-2-W3-Starting-14",表示2022年2月的第3周,起始日期为2月14日
原文地址: https://www.cveoy.top/t/topic/hzes 著作权归作者所有。请勿转载和采集!