下载MetaTrader 5
MQL5参考工作事件EventSetMillisecondTimer 

EventSetMillisecondTimer

函数显示到客户端,为这个EA或指标的timer 事件应当在间隔不到一秒钟就被触发.

bool  EventSetMillisecondTimer(
   int  milliseconds      // 毫秒数
   );

参数

milliseconds

[in]  定义定时器事件的频率的毫秒数.

返回值

若成功返回true,否则false。若要获得错误代码,调用函数GetLastError()

注意

此功能是为需要高分辨的计时器的情况而设计的。换句话说,定时器事件应当比每秒一次更频繁接收。如果一个超过一秒钟时间的常规计时器对您已经足够,使用 EventSetTimer().

最小间隔1000毫秒被用于策略测试。一般来说,当定时器时长缩短,测试时间增加,作为定时器事件处理被称作多于平时。在实时模式下工作时,由于硬件限制,计时器事件在10-16毫秒内运转不超过一次。

一般情况下,这个函数必须从函数OnInit()或者从类构造函数中调用。若为处理定时器事件,EA交易必须有OnTimer()函数。

每个EA交易及标识符使用自己的定时器工作,且仅从那里接收事件。一旦mql5程序停止运行,如果定时器不能通过EventKillTimer()函数创建和禁止,则会被强制销毁。

对于每一个程序只能运行一个定时器。 每个mql5程序以及每个图表都有其自己的事件队列,其中放置了所有最近收到的事件。如果 Timer 事件正在队列或者正被处理中,新的Timer事件将不会被放置在mql5程序队列中.


更新: 2015.12.03