如何指代一个特定的时间

 
我知道Time[]和iTime的用途,但是要指代一个特定的时间或时间范围,是否可以简单地使用datetime?

https://docs.mql4.com/dateandtime/Hour

这就是它的全部内容吗?

请指教

谢谢

 
不知道你说的......"指一个特定的时间或时间范围"是什么意思,你能举个例子说明你的意思吗?
 
Oops sorry

那么就从文件中举例吧?


if(Hour()>=12 || Hour()<17)
{
OrderSend code
}

if(Minute()>=720 || Minute()<725)   //I may not be using this correctly
         {
         int m=TimeMinute(TimeCurrent());
         Print (m, " Minutes");
        
我不认为我了解DateTime函数
 

必须 阅读文档并确保你理解它在说什么...不要假设。

点击这个链接 -->Minute() " 返回程序启动时最后已知的服务器时间的当前分钟(0,1,2,...59)(这个值在程序执行期间不会改变)。"... ...所以对于服务器时间12:34 Minute()将返回34

"我认为这意味着从tick到tick,即start()的执行不是EA的执行。

 
我在这里错过了一些东西


string var1=TimeToStr(TimeCurrent(),TIME_DATE|TIME_MINUTES)。
打印(var1, " var1")。

产生这样的打印结果?我在看什么呢,似乎它的打印结果是随机跳过几天等。


2011.12.07 08:23:17 2011.10.14 11:55 Time_sampling EURUSD,M15: 2011.10.14 11:55 var1
2011.12.07 08:23:17 2011.10.14 11:55 Time_sampling EURUSD,M15: 2011.10.14 11:55 var1
2011.12.07 08:23:17 2011.10.14 11:55 Time_sampling EURUSD,M15: 2011.10.14 11:55 var1
2011.12.07 08:23:17 2011.10.14 11:55 Time_sampling EURUSD,M15: 2011.10.14 11:55 var1
2011.12.07 08:23:16 2011.10.12 00:59 Time_sampling EURUSD,M15: 2011.10.12 00:59 var1
2011.12.07 08:23:16 2011.10.12 00:59 Time_sampling EURUSD,M15: 2011.10.12 00:59 var1
2011.12.07 08:23:16 2011.10.12 00:59 Time_sampling EURUSD,M15: 2011.10.12 00:59 var1
2011.12.07 08:23:16 2011.10.12 00:58 Time_sampling EURUSD,M15: 2011.10.12 00:58 var1
2011.12.07 08:23:16 2011.10.12 00:58 Time_sampling EURUSD,M15: 2011.10.12 00:58 var1
2011.12.07 08:23:16 2011.10.12 00:58 Time_sampling EURUSD,M15: 2011.10.12 00:58 var1
2011.12.07 08:23:16 2011.10.12 00:57 Time_sampling EURUSD,M15: 2011.10.12 00:57 var1
2011.12.07 08:23:16 2011.10.12 00:57 Time_sampling EURUSD,M15: 2011.10.12 00:57 var1
2011.12.07 08:23:15 2011.10.07 06:51 Time_sampling EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 Time_sampling EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 Time_sampling EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 Time_sampling EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 Time_sampling EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 Time_sampling EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 Time_sampling EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:50 Time_sampling EURUSD,M15: 2011.10.07 06:50 var1
2011.12.07 08:23:14 2011.10.04 17:42 Time_sampling EURUSD,M15: 2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 Time_sampling EURUSD,M15: 2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 Time_sampling EURUSD,M15: 2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 Time_sampling EURUSD,M15: 2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 Time_sampling EURUSD,M15: 2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 Time_sampling EURUSD,M15: 2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 Time_sampling EURUSD,M15: 2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 Time_sampling EURUSD,M15: 2011.10.04 17:42 var1

 
Agent86:

我在这里看什么呢。

以最上面的第一行为例 ......弄清楚 ......这里有一个线索 ......。

2011.12.07 08:23:172011.10.14 11:55时间_取样欧元兑美元。M15:2011.10.14 11:55 var1
今天/现在ST中的时间EA/脚本/指标名称仪表时间段与 "ST中的时间 "相同

不知道你的问题是什么? 如果是为什么你的ST似乎在零星地运行你所运行的任何东西,那么我无法帮助,因为我看不到你的代码。...或者你在用它做什么。

 
打开欧元兑美元的M15图表,点击右键->刷新,这样你就有了ST的历史记录,并重试你的测试。
 
好的,谢谢大家

我可能看错了这一切。

也许我只需要参考if(Time[1] >= 18:00 && Time[1] < 21:00)之类的方案来创建一个定时交易。

我可以用这种方法创建一个时间范围吗?
我真的不知道什么是最典型的方法来创建一个时间范围来进行交易

谢谢大家的帮助,我将继续阅读
 
Agent86:
好的,谢谢大家

我可能看错了。

也许我只需要参考if(Time[1] >= 18:00 && Time[1] < 21:00)之类的方案来创建一个定时交易。

没有,因为Time[x]返回的是一个日期时间......但你可以做到 ......

if(TimeHour(Time[1]) >= 18 && TimeHour(Time[1]) < 21)

阅读关于TimeHour 的内容

 
datetime now = Time[0],
         bod = now - now % 86400,
         HR1800 = bod + 18*3600,
         HR2100 = bod + 21*3600;
if (Time[1] >= HR1800 && Time[1] < HR2100) ...
另见
 
谢谢大家,这应该足以让我现在解决这个问题了

我将阅读并编写一些代码

谢谢