mql5语言的特点、微妙之处以及技巧 - 页 243

 
如果需要快速编译而又不影响性能,可以使用编译后的库 -#import .ex5
 
Nikolai Semko #:

也许吧:

uchar WhatWeekDay(datetime t) {
   return uchar(t/(24*60*60)+4 )%7;
}

不,不起作用。

 
Mikola_2 #:

不,没有用。

它能非常准确地工作。我用的是这个。您可以将值转换为 ENUM_DAY_OF_WEEK

 
Alexey Viktorov #:

它的工作非常准确。我是这样使用的。您可以将值转换为 ENUM_DAY_OF_WEEK

没有所谓的 "非常准确"。要么永远准确,要么永远不准确。这就像第二条新鲜的鲱鱼。你在哪个时期测试的?我做不到
 
Mikola_2 #:

不,没有用。

括号不见了,除以 7 的余数取自转换为 uchar 类型的数字。

 
Mikola_2 #:
没有所谓的 "非常精确"。要么永远准确,要么永远不准确。就像第二条新鲜的鲱鱼你在哪个时期测试 的?我做不到

什么意思,什么时期?这个函数只返回星期几这和时间段有什么关系?输入任何时间都能得到星期几。

输入你的出生日期,就能得到你出生时的星期几。

下面是按蜡烛时间计算的星期


 
Aliaksandr Hryshyn #:

括号不见了,除以 7 时的余数是从投为 uchar 类型的数字中提取的。

都在这里。我只是按照自己的喜好替换了 24*60*60。

uchar WhatWeekDay(datetime t)
 {
  return uchar(t/(PeriodSeconds(PERIOD_D1))+4)%7;
 }

结果如上...

请注意,这个公式我已经用了很久了。


 
Alexey Viktorov #:

里面的一切都足够了。我只是按照自己的喜好更换了 24*60*60。

以上结果...

请注意我使用这个公式有多长时间了。


屏幕上没有任何错误!好好看看。我指出了错误。

 
Aliaksandr Hryshyn #:

括号不见了,除以 7 时的余数是从投为 uchar 类型的数字中提取的。

哦,对了!现在看来是真的了。
 
Aliaksandr Hryshyn #:

屏幕上没有错误!好好看看。我指出了错误。

我还展示了函数的完整代码。再说一遍:

uchar WhatWeekDay(datetime t)
 {
  return uchar(t/(PeriodSeconds(PERIOD_D1))+4)%7;
 }

我同意你的说法也许尼古拉是凭记忆写的,有不准确的地方。但说它不起作用也不太对。