连接了() - 页 3 1234 新评论 sunshineh 2010.09.26 14:42 #21 对不起,但为什么不应该工作。 int start() { while ( !IsStopped() ) { IsConnectedBefore = IsConnectedNow; IsConnectedNow = IsConnected(); .... } } 所以我的EA总是在while-loop中,不需要任何tick。 bernd 2010.09.26 14:58 #22 围绕PostMessageA()的整个事情,只是作为对本线程早期 "从init()调用start() "一句的回应。从init()调用start()" 在很多方面都是错误的,因此我必须对其进行评论,并提供一个适当的解决方案,即即使在周末也要从init()中强制调用start()。 对于在断开连接的状态下启动MT4 的问题,它没有提供一个解决方案。虽然我也不明白 这可能是什么用例,因为连接 来来去去,而metatrader本身应该很容易保持24/7不间断运行。即使在周末重启,通过init()中的PostMessageA(),只要重启后连接回来,它就会立即恢复start()中的循环,即使没有勾选,然后它又会一直运行,直到下一次(意外的)重启。 qjol 2010.09.26 16:14 #23 sunshineh: 对不起,但为什么不应该工作。 所以我的EA总是在while-loop中,不需要任何tick。 是的,因为你没有重新启动终端,而你没有连接到互联网,但如果你重新启动终端,而你没有连接到互联网,AE就不会在没有勾选的情况下进入循环,无论你做什么,即使你使用PostMessageA()或从init()调用Start(),唯一的方法是用脚本,因为脚本的运行不考虑是否有勾选。 qjol 2010.09.26 16:24 #24 无论如何,感谢大家的努力帮助。我决定把我的手弄脏一点,运行一个外部程序来运行脚本,故事结束。 不管怎么说,IsConnected()这个函数 还是让我发笑,如果这么简单的事情他都不涉及的话 [删除] 2010.09.26 18:32 #25 7bit: 围绕PostMessageA()的整个事情,只是作为对本线程早期 "从init()调用start() "一句的回应。"从init()调用start()" 在很多方面都是错误的,因此我必须对它进行评论,并提供一个适当的解决方案 来实现同样的目的,即即使在周末也要从init()中强制调用start()。 对于在断开连接的状态下启动MT4 的问题,它没有提供一个解决方案。虽然我也不明白 这有什么用处,因为连接是 来来去去的,而metatrader本身应该很容易保持24小时不间断的运行。即使在周末重启,通过init()中的PostMessageA(),只要重启后连接回来,它就会立即恢复start()中的循环,即使没有勾选,然后它又会一直运行,直到下一次(意外的)重启。 谢谢你的插话7Bit,知道更好的方法是很有用的,我已经成功地运行了一个EA,就像我上面描述的那样,试图解决一个给我带来重大问题的问题。终端可以定期失去连接,但由于一个未知的原因,无法恢复连接。我需要在终端中手动重新扫描服务器,才能重新连接。起初我只是认为这是时间上的侥幸,但往往不是侥幸,我可以等待一个小时,不恢复连接,然后我点击重新扫描,它就会重新连接。我的解决办法是不断地测试连接状态......如果它失去了连接,给它5分钟时间重新连接,在警报、电子邮件和日志中大叫它正在发生,然后它关闭终端并重新启动。这在大多数情况下都有效。不时地,有一个合法的连接问题,由于EA在没有连接的情况下不会初始化,我被卡在一个洞里。我已经研究了解决这个问题的方法,所有这些方法都是在MT4之外的,因此超出了我目前的IT能力。幸运的是,我已经转移了经纪商,并且在目前的供应商那里没有遇到任何问题......因此,在这个问题上的工作在优先级列表中是很低的。 但有可能发生连接丢失的情况,当连接确实可用时,MT4却无法重新连接。终端重启对我的EA没有影响,但在没有连接的情况下坐了一个小时就会有影响!。 V bernd 2010.09.26 19:08 #26 Viffer:幸运的是,我已经转移了经纪人,并且与我目前的供应商没有任何问题......因此,在这个问题上的工作是低优先级的。我还没有在我的经纪人那里看到这种情况,所以它真的可能只发生在某些经纪人身上。连接有时会丢失几秒钟,一天一到两次,但总是立即重新连接。 如果要快速地将一个外部应用程序黑客化,使其能够监控和远程控制 另一个windows应用程序(点击按钮,菜单命令等),我推荐AutoIT。它是一种易于学习的类似于BASIC的脚本语言,正是围绕着这种类型的东西。 [删除] 2010.09.26 22:31 #27 7bit: 我还没有在我的经纪商那里看到这种情况,所以它真的可能只发生在某些经纪商那里。连接有时会丢失几秒钟,每天一到两次,但总是立即重新连接。 如果要快速地将一个外部应用程序黑客化,使其能够监控和远程控制另一个windows应用程序(点击按钮、菜单提示等),我推荐AutoIT。它是一种易于学习的类似于BASIC的脚本语言,正是围绕着这种类型的东西。 谢谢你的建议,我会去查的。 V bernd 2010.09.26 23:22 #28 qjol: IsConnected()函数还是让我哭笑不得,这么简单的事情他都不涉及。 我以为问题出在重启后MT4延迟init(),直到完全连接? 这和IsConnected()突然有什么关系?IsConnected()似乎按预期工作。当连接时它会返回真,当断开连接时返回假。我不明白这有什么好笑的。 qjol 2010.09.27 00:31 #29 7bit:我以为问题出在重启后MT4延迟init(),直到完全连接?这与IsConnected()突然有什么关系?IsConnected()似乎按预期工作。当连接时它会返回真,当断开连接时返回假。我不明白这有什么好笑的。 因为 if (!IsConnected()) 应该返回false & 只要不来一个新的tick IsConnected()就不能被检查 因为这个,所以才让我发笑 bernd 2010.09.27 12:49 #30 qjol:只要不出现新的勾选,IsConnected()就不能被检查,因为这一点,这就是为什么它让我发笑。它可以被检查,只是在一个无限循环中运行检查。在连接中断时启动终端时如何启动 这个循环是一个完全独立的问题。一旦你让你的循环运行,它就会做预期的事情。 你的问题与IsConnected()函数 没有关系。用同样的参数,你也可以抱怨Print()或Alert()或任何其他你无法调用的函数,因为你首先 因为一些完全不同的 原因无法启动整个代码。 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
对不起,但为什么不应该工作。
所以我的EA总是在while-loop中,不需要任何tick。
围绕PostMessageA()的整个事情,只是作为对本线程早期 "从init()调用start() "一句的回应。从init()调用start()" 在很多方面都是错误的,因此我必须对其进行评论,并提供一个适当的解决方案,即即使在周末也要从init()中强制调用start()。
对于在断开连接的状态下启动MT4 的问题,它没有提供一个解决方案。虽然我也不明白 这可能是什么用例,因为连接 来来去去,而metatrader本身应该很容易保持24/7不间断运行。即使在周末重启,通过init()中的PostMessageA(),只要重启后连接回来,它就会立即恢复start()中的循环,即使没有勾选,然后它又会一直运行,直到下一次(意外的)重启。
对不起,但为什么不应该工作。
所以我的EA总是在while-loop中,不需要任何tick。
是的,因为你没有重新启动终端,而你没有连接到互联网,但如果你重新启动终端,而你没有连接到互联网,AE就不会在没有勾选的情况下进入循环,无论你做什么,即使你使用PostMessageA()或从init()调用Start(),唯一的方法是用脚本,因为脚本的运行不考虑是否有勾选。
无论如何,感谢大家的努力帮助。我决定把我的手弄脏一点,运行一个外部程序来运行脚本,故事结束。
不管怎么说,IsConnected()这个函数 还是让我发笑,如果这么简单的事情他都不涉及的话
围绕PostMessageA()的整个事情,只是作为对本线程早期 "从init()调用start() "一句的回应。"从init()调用start()" 在很多方面都是错误的,因此我必须对它进行评论,并提供一个适当的解决方案 来实现同样的目的,即即使在周末也要从init()中强制调用start()。
对于在断开连接的状态下启动MT4 的问题,它没有提供一个解决方案。虽然我也不明白 这有什么用处,因为连接是 来来去去的,而metatrader本身应该很容易保持24小时不间断的运行。即使在周末重启,通过init()中的PostMessageA(),只要重启后连接回来,它就会立即恢复start()中的循环,即使没有勾选,然后它又会一直运行,直到下一次(意外的)重启。
谢谢你的插话7Bit,知道更好的方法是很有用的,我已经成功地运行了一个EA,就像我上面描述的那样,试图解决一个给我带来重大问题的问题。终端可以定期失去连接,但由于一个未知的原因,无法恢复连接。我需要在终端中手动重新扫描服务器,才能重新连接。起初我只是认为这是时间上的侥幸,但往往不是侥幸,我可以等待一个小时,不恢复连接,然后我点击重新扫描,它就会重新连接。我的解决办法是不断地测试连接状态......如果它失去了连接,给它5分钟时间重新连接,在警报、电子邮件和日志中大叫它正在发生,然后它关闭终端并重新启动。这在大多数情况下都有效。不时地,有一个合法的连接问题,由于EA在没有连接的情况下不会初始化,我被卡在一个洞里。我已经研究了解决这个问题的方法,所有这些方法都是在MT4之外的,因此超出了我目前的IT能力。幸运的是,我已经转移了经纪商,并且在目前的供应商那里没有遇到任何问题......因此,在这个问题上的工作在优先级列表中是很低的。
但有可能发生连接丢失的情况,当连接确实可用时,MT4却无法重新连接。终端重启对我的EA没有影响,但在没有连接的情况下坐了一个小时就会有影响!。
V
幸运的是,我已经转移了经纪人,并且与我目前的供应商没有任何问题......因此,在这个问题上的工作是低优先级的。
我还没有在我的经纪人那里看到这种情况,所以它真的可能只发生在某些经纪人身上。连接有时会丢失几秒钟,一天一到两次,但总是立即重新连接。
如果要快速地将一个外部应用程序黑客化,使其能够监控和远程控制 另一个windows应用程序(点击按钮,菜单命令等),我推荐AutoIT。它是一种易于学习的类似于BASIC的脚本语言,正是围绕着这种类型的东西。
我还没有在我的经纪商那里看到这种情况,所以它真的可能只发生在某些经纪商那里。连接有时会丢失几秒钟,每天一到两次,但总是立即重新连接。
如果要快速地将一个外部应用程序黑客化,使其能够监控和远程控制另一个windows应用程序(点击按钮、菜单提示等),我推荐AutoIT。它是一种易于学习的类似于BASIC的脚本语言,正是围绕着这种类型的东西。
谢谢你的建议,我会去查的。
V
IsConnected()函数还是让我哭笑不得,这么简单的事情他都不涉及。
我以为问题出在重启后MT4延迟init(),直到完全连接?
这和IsConnected()突然有什么关系?IsConnected()似乎按预期工作。当连接时它会返回真,当断开连接时返回假。我不明白这有什么好笑的。
我以为问题出在重启后MT4延迟init(),直到完全连接?
这与IsConnected()突然有什么关系?IsConnected()似乎按预期工作。当连接时它会返回真,当断开连接时返回假。我不明白这有什么好笑的。
因为
if (!IsConnected()) 应该返回false & 只要不来一个新的tick IsConnected()就不能被检查 因为这个,所以才让我发笑
只要不出现新的勾选,IsConnected()就不能被检查,因为这一点,这就是为什么它让我发笑。
它可以被检查,只是在一个无限循环中运行检查。在连接中断时启动终端时如何启动 这个循环是一个完全独立的问题。一旦你让你的循环运行,它就会做预期的事情。
你的问题与IsConnected()函数 没有关系。用同样的参数,你也可以抱怨Print()或Alert()或任何其他你无法调用的函数,因为你首先 因为一些完全不同的 原因无法启动整个代码。