分析ReConnecter.mq4脚本程序. - 页 2 12 新评论 xfxyldj 2009.10.18 12:57 #11 y2k_connect 写道 >> 我是这样想的。 用next_connect来定义,每隔10分钟重新连一次服务器。 只需要ea的start()中增加一次判断,就可以实现定时重新登陆的功能。 这样处理后,即使电脑重新启动,也可以继续执行ea。减少人工操作的步骤。 对于每间隔一定的时间就重连一次,个人觉得不是很好。 1、每次重连都会有个延时的短的几秒长的几十秒。反而会造成行情数据不连续,尤其是赶上数据行情的时候。 2、断线和假死现象一天并不会出现太多次,多数时间是顺畅的,反复登录反而会增加资源消耗和服务器负担。 3、我测试过频繁的重新登录容易造成MT4直接死掉了。 xfxyldj 2009.10.18 13:02 #12 我的解决方案倾向于用 while(IsStopped()==false) 制造一个可控的死循环,从而解决tick触发的问题。保证不论有没有行情数据是否断线,后续的控制操作本地都能执行。 然后检测断线和假死(长时间没有行情)从而触发重连动作。 connect y2k 2009.10.18 15:19 #13 xfxyldj 写道 >> 我想你的逻辑不对。 在自动断线检测重连这个问题中,是要解决断线或者假死(没有行情数据到达)然后让系统重现登录下。 而当断线或者假死的时候是没有tick到达的,因此tick出发的start()函数就不能运行了,这样里面的代码就不可能再执行了。 所以必须把检测和重连的代码放在 这个死循环里面才可以。不然都没有tick了,EA根本就不执行任何代码了 是的,我的思路是错误的。忘记了ea在没有收到新的报价时,是不会执行的。 看来,在mt4中,只能使用脚本程序重新连接mt4服务器。 但是,这样就解决不了mt4重新启动后,再次断线或者假死的情况。 Jinsong Zhang 2009.10.19 06:24 #14 如果MT启动时自动装入script就可以, 12 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我是这样想的。
用next_connect来定义,每隔10分钟重新连一次服务器。
只需要ea的start()中增加一次判断,就可以实现定时重新登陆的功能。
这样处理后,即使电脑重新启动,也可以继续执行ea。减少人工操作的步骤。
对于每间隔一定的时间就重连一次,个人觉得不是很好。
1、每次重连都会有个延时的短的几秒长的几十秒。反而会造成行情数据不连续,尤其是赶上数据行情的时候。
2、断线和假死现象一天并不会出现太多次,多数时间是顺畅的,反复登录反而会增加资源消耗和服务器负担。
3、我测试过频繁的重新登录容易造成MT4直接死掉了。
我的解决方案倾向于用
制造一个可控的死循环,从而解决tick触发的问题。保证不论有没有行情数据是否断线,后续的控制操作本地都能执行。
然后检测断线和假死(长时间没有行情)从而触发重连动作。
我想你的逻辑不对。
在自动断线检测重连这个问题中,是要解决断线或者假死(没有行情数据到达)然后让系统重现登录下。
而当断线或者假死的时候是没有tick到达的,因此tick出发的start()函数就不能运行了,这样里面的代码就不可能再执行了。
所以必须把检测和重连的代码放在
这个死循环里面才可以。不然都没有tick了,EA根本就不执行任何代码了
是的,我的思路是错误的。忘记了ea在没有收到新的报价时,是不会执行的。
看来,在mt4中,只能使用脚本程序重新连接mt4服务器。
但是,这样就解决不了mt4重新启动后,再次断线或者假死的情况。
如果MT启动时自动装入script就可以,