我想定义一个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:00
。duration
在您的示例中,即使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] 删除。
我来说两句