计时器 - 页 7

 
Yurich:
如果只是这样的话 :)
这对开发者来说肯定更容易,否则他们将不得不解释,全局变量 只能在定时器事件发生和程序切换到它的一半时才能在OnTick处理程序中被改变。
 
不要不经意地使用MessageBox
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / MessageBox
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / MessageBox
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / MessageBox - Документация по MQL5
 
pusheax:
这对开发者来说可能更容易,否则他们就得解释全局变量 只能在OnTick处理程序中半途改变,当一个定时器事件发生后,程序已经切换到它。
有很短的 "不间断区块 "用于此。中断无论如何都要等待它完成,然后中止。
 
Yurich:
如果只是这样的话 :)
正是如此。
 
TheXpert:
不要不假思索地使用MessageBox
这就是为什么我不得不在YuTrade中做两个线程以避免跳过事件。而有了中断,一切都将在一个线程中进行。
 
MetaDriver:
有很短的 "不间断区块 "用于此。中断在任何情况下都会等待它完成,然后中止。

而我根本不知道这一点,我在写作时假设可能会出现中断,数据不会被完全处理。

设置标志以开始和结束处理。

 
Yurich:
中断是指在执行OnTick的时候,一个更重要的事件,如OnTimer,已经到来。OnTick的执行被暂停,OnTimer代码被执行,然后OnTick再次被执行。
总而言之,你需要某种形式的多线程。
 
Yurich:
而在中断的情况下,所有的东西都会在同一条线上。
啊,糟糕的争论。现在的方式 -- 很好。
 
pusheax:

而我根本不知道这一点,写的时候还担心可能会出现中断,数据无法完全处理。

我设置了标志来开始和结束处理。

来了,公众已经走了一半,我们可以安全进入。

;)

 
Interesting:
幼儿园一般来说,至少需要一些多线程。
也许,开发人员会在以后的某个时候添加它。CreateThread(NULL,0,CaptureThread,0,CREATE_SUSPENDED,&ThreadId); ?