MQL4编程:当前K线收盘倒计时器

 时间:2026-02-14 15:11:05

1、我们大家都知道,无论是股票、期货,还是外汇,各种行情交易软件的行情图表,都有系统默认的几种时间周期,比如:5分钟图表、15分钟图表、小时图、日线图……等等;

不同时间周期的行情图表上,一根K线代表的时长是不一样的,也就是说,同样的一根K线,在5分钟图上要5分钟才能走完;在15分钟图上则要15分钟才能走完 ;……依此类推

MQL4编程:当前K线收盘倒计时器

2、如果在不同的图表上都能看到当前K线还有多长时间收盘,无疑对我们的操作和时间安排是有一定好处的;

下面,我们就在电脑上双击“MQL语言编辑器”,打开“MetaEditor 4”,来做一做这个小功能;

MQL4编程:当前K线收盘倒计时器

3、进入“MQL语言编辑器”后,在工作界面的左上方点击“新建”程序的图标,然后选择“EA交易(模板)”;

在随后出现的界面中给我们的例程取名“K-clock”;

接下来全部采用默认设置;

最后,可以看到“K-clock.mq4”模板文件已经建立;

MQL4编程:当前K线收盘倒计时器

MQL4编程:当前K线收盘倒计时器

MQL4编程:当前K线收盘倒计时器

MQL4编程:当前K线收盘倒计时器

MQL4编程:当前K线收盘倒计时器

4、我们首先要明确,由于时间周期的跨度不同,各周期所包含的时间量采取什么标准进行统一度量是一个关键问题。比如小时线、日线、月线,这直接关系到倒计时的准确性,尤其是时间跨度大的长周期图表!

因此,我们采用MQL4预先内置的时间周期枚举变量作为统一计算的标准;

在采用分钟作为计量标准的基础上,我们进一步将它精确到”秒“,也就是将系统预先设置的”VALUE“值都”*60“。

MQL4编程:当前K线收盘倒计时器

MQL4编程:当前K线收盘倒计时器

5、有了统一计算的标准,接下来,我们在例程主函数 OnTick()中输入下列语句:

 switch(Period())   {      case 1:      {         int a=60-Seconds();         Comment(a);         break;      }      case 5:      {         int a=Period()*60-Minute()%5*60-Seconds();         Comment(a/60,":",a%60);         break;      }            case 15:      {         int a=Period()*60-Minute()%15*60-Seconds();         Comment(a/60,":",a%60);         break;      }      case 30:       {         int a=Period()*60-Minute()%30*60-Seconds();         Comment(a/60,":",a%60);         break;      }        case 60:      {         int a=Period()*60-Minute()*60-Seconds();         Comment(a/60,":",a%60);         break;      }      case 240:      {         int a=Period()*60-Hour()%4*3600-Minute()*60-Seconds();         Comment(a/3600,":",a%3600/60,":",a%3600%60);         break;      }      case 1440:      {         int a=Period()*60-Hour()*3600-Minute()*60-Seconds();         Comment(a/3600,":",a%3600/60,":",a%60);         break;      }      case 10080:      {         int a=Period()*60-TimeDayOfWeek(TimeCurrent())*1440*60-Hour()*3600-Minute()*60-Seconds();         Comment(a/86400,":",a%86400/3600,":",a%86400%3600/60,":",a%86400%3600%60);         break;      }      case 43200:      {         int a=Period()*60-TimeDay(TimeCurrent())*1440*60-Hour()*3600-Minute()*60-Seconds();         Comment(a/86400,":",a%86400/3600,":",a%86400%3600/60,":",a%86400%3600%60);         break;      }      default:      {         string c="failed!!!";         Comment(c);         break;      }         }

MQL4编程:当前K线收盘倒计时器

MQL4编程:当前K线收盘倒计时器

6、输入完毕后,检查确认无误,在工作区上方点击“编译运行”按钮,然后“确定”,检查目标功能是否实现;

可以看到,针对工作区左边中上部的“市场报价”时间,各个周期的行情图表左上角都显示了本周期图表当前K线的收盘倒计时时间。

MQL4编程:当前K线收盘倒计时器

MQL4编程:当前K线收盘倒计时器

MQL4编程:当前K线收盘倒计时器

MQL4编程:当前K线收盘倒计时器

7、从编译调试的结果可以看到,我们预先要求的目标功能已经实现,你做到了吗?

MQL4编程:当前K线收盘倒计时器

  • 怎么下载到齐之韵快乐舞步健身操的舞曲
  • 怎样可以在节假日避开高峰期去旅游?
  • DOTA宙斯出装分析
  • 快音悦新用户如何邀请
  • 下不了高速怎么办
  • 热门搜索
    出国旅游需要什么手续 吐鲁番旅游 景德镇旅游攻略 常州旅游商贸高等职业技术学校 广东省旅游 东京旅游 尼泊尔旅游 张家界旅游网 成都航空旅游职业学校 康定旅游