BBTrading - 量化交易社区 | 交易干货分享 | 助力投资交易更好成功!

【0基础学编程2-8】时间与日期

了解时间与日期函数

在学习本章节内容化之前我们先来回顾一下第一章节讲的datetime类型。时间类型数据,既整数类型的分支,用于存储日期和时间专用的类型,以秒为单位计算。在一个完整的时间与日期戳当中,存储了自1970年1月1日以来经过的总秒数。我们用Print()函数在终端中输出为int类型后可以看到以下结果。

那是不是所有时间类型都是固定的呢?当然不是,在MQL4中,有很多种代表时间类型的预定义函数,为了便于区分,他们有的默认类型为datetime,有的为整型函数。以下是我整理的常用函数列表,每一种都有特定的应用场景。

用法解读

接下来详细解读每个函数的用法
1、 Year() :获取当前年份

2、 Day() :当天在本月中的第几号

3、Month() :// 当前月份1~12

4、TimeGMTOffset(): 本地时间与GMT的时差

5、TimeCurrent():当前服务器时间,也就是MT4终端上,市场列表顶部的时间


6、TimeLocal() :当前电脑上右下角的时间(本地时间)

7、TimeGMT() :UTC/GMT世界时间

8、对于其他几个函数,则是根据自己定义的时间来返回指定的值,具体的解释如下:
TimeYear(time) // 指定日期的年份2024【2024】
TimeMonth(time) // 指定日期的月份1~12【5】
TimeDay(time) // 指定时间是几号1~31【22】
TimeHour(time) // 指定时间的小时数0~23【12】
TimeMinute(time) // 指定时间的分钟数0~59【30】
TimeDayOfWeek(time)// 指定日期在一星期中的星期几0~6【3】
TimeDayOfYear(time)// 指定日期在一年中的第几天1~365n 【143】

实践-现学现用

使用以上所学,我们在EA编写时使用时间判断来实现一些交易流程控制。
主要逻辑如下:

  • 使用 TimeLocal() 函数获取当前电脑本地时间。
  • 如果当前时间大于等于 18:00 (24小时制)且还没有开仓,则买入 0.01 手的 EURUSD 多单。
  • 如果当前时间大于等于 22:30 (24小时制)且已经开仓,则平掉所有未平仓的订单。
  • 使用全局变量 isPositionOpen 标记当前是否有仓位。
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容