计时器 - 页 5 12345678 新评论 pusheax 2012.05.17 13:54 #41 Yedelkin: 哦,隧道尽头的光亮!你应该 在OnTimer()本身中调用EventSetTimer()?我到了终点站后一定会尝试。谢谢你的聪明解决方案!我一直都看到这个解决方案。我只是还没有尝试过最好的方法来EventKillTimer()或 EventSetTimer(0);来杀死定时器。 Yury Kulikov 2012.05.17 14:01 #42 MetaDriver:毫秒是非常需要的。我也加入了这个愿望。现在在专家顾问中是很危险的。例如,当用户离开终端时,同步的MessageBox()函数 可能会迅速排队(当然,你可以说在这种函数之前可以禁用定时器)。但如果他们做了中断处理... Документация по MQL5: Общие функции / MessageBox www.mql5.com Общие функции / MessageBox - Документация по MQL5 Vladimir Gomonov 2012.05.17 14:03 #43 stringo:现在已经不可能去到毫秒级了。有多少已经写好的专家顾问会开始产生比作者预期多1000倍的定时器事件?不,不...你不需要这样改变 它。你只需要添加一个新的函数EventSetTimerMS(long ms)。有必要留下旧的,只是为了兼容。(可以通过调用EventSetTimerMS(1000);来轻松模拟。) Документация по MQL5: Работа с событиями / EventSetTimer www.mql5.com Работа с событиями / EventSetTimer - Документация по MQL5 Vladimir Gomonov 2012.05.17 14:08 #44 Yurich:这在专家顾问中现在是很危险的。例如,同步的MessageBox()函数 可以在用户离开终端时快速排队(当然,你可以说在这种函数之前禁用定时器)。如果他们做出中断处理就好了......不要使用中断。 虽然我不知道你是什么意思,也许这是一个好的...:)关于队列--秒也可以用,如果你去睡觉。:) 如果你不知道如何处理后果,就不要使用它,这是一个简单的配方,而且是通用的。 Vladimir Gomonov 2012.05.17 14:13 #45 Yurich:.........例如,同步的MessageBox()函数,可以在用户离开终端时迅速排队。(当然,你可以说在这类函数之前禁用定时器)........ 我当然会。;) pusheax 2012.05.17 14:17 #46 用毫秒,你可以尝试测量刻度之间的时间,如果小于500毫秒,市场就要开始移动了。 Yedelkin 2012.05.17 14:23 #47 stringo: 有多少已经写好的专家会开始产生比作者意图多1000倍的计时器事件? 只是一个观点:如果有非常大的可能性为那些想要的人增加毫秒,而这个障碍只存在于旧的EA中,那么为什么不引入一个新的功能呢? bool EventSetTimer( int seconds, // количество секунд для OnTimer bool переключатель=false // переключатель: false - период измеряется в секундах, true - в миллисекундах ); 让一切都变成多秒,如果开关==false,就把秒的数值乘以1000(例如,对于老的EA)。 pusheax 2012.05.17 14:23 #48 Yurich:这在专家顾问中现在是很危险的。例如,同步的MessageBox()函数 可以在用户离开终端时快速排队(当然,你可以说在这种函数之前禁用定时器)。但如果他们做了中断处理...OnTimer, OnTick, OnTrade...这些是中断。 Yury Kulikov 2012.05.17 14:39 #49 pusheax: OnTimer, OnTick, OnTrade...这些都是中断。 中断是指OnTick正在执行,而一个更重要的事件,如OnTimer,已经到来。OnTick被暂停,OnTimer代码被执行,然后OnTick又继续运行。 pusheax 2012.05.17 14:43 #50 Yurich: 中断是指在执行OnTick的时候,一个更重要的事件,如OnTimer,已经到来。OnTick被暂停,OnTimer代码被执行,然后OnTick又继续运行。 这就是它的工作方式。 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
哦,隧道尽头的光亮!你应该 在OnTimer()本身中调用EventSetTimer()?我到了终点站后一定会尝试。谢谢你的聪明解决方案!
我一直都看到这个解决方案。
我只是还没有尝试过最好的方法来
EventKillTimer()或 EventSetTimer(0);来杀死定时器。
毫秒是非常需要的。我也加入了这个愿望。
现在在专家顾问中是很危险的。例如,当用户离开终端时,同步的MessageBox()函数 可能会迅速排队(当然,你可以说在这种函数之前可以禁用定时器)。
但如果他们做了中断处理...
现在已经不可能去到毫秒级了。
有多少已经写好的专家顾问会开始产生比作者预期多1000倍的定时器事件?
不,不...你不需要这样改变 它。你只需要添加一个新的函数EventSetTimerMS(long ms)。
有必要留下旧的,只是为了兼容。(可以通过调用EventSetTimerMS(1000);来轻松模拟。)
这在专家顾问中现在是很危险的。例如,同步的MessageBox()函数 可以在用户离开终端时快速排队(当然,你可以说在这种函数之前禁用定时器)。
如果他们做出中断处理就好了......
不要使用中断。 虽然我不知道你是什么意思,也许这是一个好的...:)
关于队列--秒也可以用,如果你去睡觉。:) 如果你不知道如何处理后果,就不要使用它,这是一个简单的配方,而且是通用的。
.........例如,同步的MessageBox()函数,可以在用户离开终端时迅速排队。(当然,你可以说在这类函数之前禁用定时器)........
有多少已经写好的专家会开始产生比作者意图多1000倍的计时器事件?
只是一个观点:如果有非常大的可能性为那些想要的人增加毫秒,而这个障碍只存在于旧的EA中,那么为什么不引入一个新的功能呢?
让一切都变成多秒,如果开关==false,就把秒的数值乘以1000(例如,对于老的EA)。
这在专家顾问中现在是很危险的。例如,同步的MessageBox()函数 可以在用户离开终端时快速排队(当然,你可以说在这种函数之前禁用定时器)。
但如果他们做了中断处理...
OnTimer, OnTick, OnTrade...这些是中断。
OnTimer, OnTick, OnTrade...这些都是中断。
中断是指在执行OnTick的时候,一个更重要的事件,如OnTimer,已经到来。OnTick被暂停,OnTimer代码被执行,然后OnTick又继续运行。