MQL4中的日期时间算法

Perjliv

我想定义一个datetime类型变量,它是datetime类型变量之间的简单算术运算的结果

我定义了:

datetime duration = ( TimeCurrent() - OrderOpenTime() );
datetime   TmStop = StringToTime( "1970.01.01 16:00" );

但是当我用其他算术运算或一般这样的代码来调用它时

ExitBuy_H1 = ( duration > TmClose && ...

或这个

text[3]= "Duration: " + TimeToStr( duration, TIME_MINUTES );

它不起作用。

TmStop 相反工作正常。

有人知道为什么吗?

丹尼尔·克尼亚兹

datetime是一个简单的整数,自以来经过的秒数1970.01.01 00:00duration在您的示例中,即使datetime格式化了格式,它也以秒为单位,当您在几分钟内需要它时,将其除以60。TmClose将示例16*60*60 seconds值与该整数进行比较,int当然可以将该整数与任何其他整数进行比较,但是这可能是什么原因呢?如果持仓超过16小时,则duration> TmClose为true。如果要将秒(持续时间)的差异转换为时间,则时间将从1970.01.01 00:00 +持续时间秒转换。

无论如何,您不清楚进行此计算的目的是什么?如果您想确保在某个特定的位置上持有超过x个小时,然后是简单的bool holdMoreThanXHours = TimeCurrent()-OrderOpenTime()>x*PeriodSeconds(PERIOD_H1),并且如果您有几个未平仓合约,别忘了重新选择每张彩票

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章