//+------------------------------------------------------------------+//| Описание : Возвращает флаг разрешения торговли по времени. |//+----------------------------------------------------------------------------+//| Параметры: |//| hb - часы времени начала торговли |//| mb - минуты времени начала торговли |//| he - часы времени окончания торговли |//| me - минуты времени окончания торговли |//+----------------------------------------------------------------------------+bool isTradeTimeInt(int hb=0, int mb=0, int he=0, int me=0) {
datetime db, de; // Время начала и окончания работыint hc; // Часы текущего времени торгового сервера
db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+hb+":"+mb);
de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+he+":"+me);
hc=TimeHour(TimeCurrent());
if (db>=de) {
if (hc>=he) de+=24*60*60; else db-=24*60*60;
}
if (TimeCurrent()>=db && TimeCurrent()<=de) return(True);
elsereturn(False);
}
Kim有一个功能。
我有两个问题。
1. 为什么它要把时间 一下子翻译成字符串,然后再把字符串翻译成时间?
2. 为什么在函数中出现这个条件?
因为检查下面的时间...就在这里。
而在函数参数中,时间变量不是日期 类型,而是int 类型,不知为何......
Kim有一个功能。
我有两个问题。
1. 为什么它要把时间一下子翻译成字符串,然后再把字符串翻译成时间?
2. 为什么在函数中出现这个条件?
因为检查下面的时间...就在这里。
而在函数参数中,时间变量不是日期 类型,而是int 类型,不知为何......
1.用函数参数中指定的值替换时间中的当前小时和分钟值
我会这样做的。
2.按日增加正确的开始或结束日期
datetime和int本质上是一样的,参数不是完整的日期,而只是小时和分钟的数量。
2.对于按天计算的开始或结束日期的额外修正
为什么?我们需要限制EA的交易时间。而我们对从交易时间结束 到交易时间开始 的时间并不感兴趣,因为EA在这段时间内并不进行交易!我不明白什么是NONSENSES...
datetime和int本质上是一样的,参数不是完整的日期,而只是小时和分钟的数量。
但时间必须是时间,怎么可能没有差别?时间是一个数字,而且是一个完整的数字。
时间是一个数字,而且是一个整数。
我明白我对时间的意思--它不是一个日期,这就是为什么它被声明为一个数字。但是呢。
我见过很多变种,但我从未见过这样的东西......这在某种程度上是很奇怪的。此外,这里没有循环,减去和加上贸易的开始和结束的时间。我不明白这一点。
事实上,我们在上面得到了db 和de 贸易的开始和结束时间。所以,这块可以擦掉,然后我们再检查时间。
编写额外代码的意义何在?请解释这一点。这其实是不符合逻辑的。
如果我们不使用分钟,我们可能会简化它。 我理解我们对时间的意思--它不是日期,我们宣布日期。怎么样。
我见过很多变体,但我从未见过这样的东西......不知为何,这很奇怪。此外,这里没有循环,减去和加上贸易的开始和结束的时间。我不明白这一点。
事实上,我们在上面得到了db 和de 贸易的开始和结束时间。所以,这块可以擦掉,然后我们再检查时间。
编写额外代码的意义何在?请解释这一点。这其实是不符合逻辑的。
每个人都可以自由地做他自己的事情。伊戈尔是这样做的。我以不同的方式来做。
以及你得到的是加号还是减号。所以,这取决于交易的时间。例如,如何将交易从21小时安排到5小时。
如果不使用会议记录,一切就会简单得多。
每个人都可以自由地用自己的方式来做。伊戈尔是这样做的。我正在以不同的方式做事情。
而且不管是正数还是负数。所以这取决于交易的时间。例如,如何组织晚上9点到5点之间的交易。
而且,这些代码是多余的。这并不重要。
如果不使用会议记录,一切就会简单得多。
使交易时间从21.00到23.59,然后从00.01到5.00。
还有其他选择吗?
将交易时间定为21.00至23.59,然后是00.01至5.00
还有其他选择吗?
如果你写if(Hour() >= 21 || Hour() < 5),就会从21.00到4.59。
这很奇怪。它跳过了午夜,完全没有考虑到这一点?