连接了()

 

谁能给我解释一下,IsConnected()在int start()之后如何工作?

如果在int start()之后写了什么,只有在一个新的tick之后才会执行,那么EA怎么能得到它?

谢谢

 

你可以循环到start()来检查 新的tick和...isconnected()。

 
Matutin:

你可以在start()中循环,检查新的tick和...isconnected()。


但是,如果没有新的点数出现,如何帮助我在start()中进行循环?

例如,如果我自动重新启动终端,但没有连接,那么EA就不会进入循环。

 
qjol:


但是,如果没有新的tick出现,怎样才能帮助我循环到start()?

例如,如果我自动重新启动终端,但没有连接,那么EA就不会进入循环。

我可以用一个脚本来帮助你,而不是EA。
 
robofx.org:
可以在脚本中帮助你,而不是EA。

在EA中输入init()?
 
qjol:

在一个EA中加入init()?
可能的。
 
 
robofx.org:
可能的。


对不起,在int init()不工作后,我把它改掉了。

#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#import "shell32.dll"
int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);
#import

int init()
  {
   Print ("starting count");
   Sleep(10000);
   Print ("chacking");
   if (!IsConnected())
   {
   Print ("restarting ap in 5 sec");
   Sleep(5000);
   ShellExecuteA(0, "Open", "d:\r_ap.bat", "", "", 1); 
   }

   return(0);
  }

 

根据我上面的链接展开...我运行一个单独的EA来监控连接状态。它基本上有我的测试的所有代码,在开始时编码,最后是睡眠。开始基本上是一个大的循环,当它完成时,它又回到了起点。但我并没有等待一个tick来触发启动,而是在init()中调用start()。这样一来,start()继续在睡眠中循环,而init()永远不会结束,所以代码根据睡眠的时间间隔运行,而不是等待tick......上面的链接显示了原理......

hth

V

 
Viffer:

根据我上面的链接展开...我运行一个单独的EA来监控连接状态。它基本上有我的测试的所有代码,在开始时编码,最后是睡眠。开始基本上是一个大的循环,当它完成时,它又回到了起点。但我并没有等待一个tick来触发启动,而是在init()中调用start()。这样一来,start()继续在睡眠中循环,而init()永远不会结束,所以代码根据睡眠的时间间隔运行,而不是等待tick......上面的链接显示了原理......

hth

V


谢谢
 
qjol:


但是,如果没有新的tick出现,怎样才能帮助我循环到start()?

例如,如果我自动重新启动终端,但没有连接,那么EA就不会进入循环。


只要从init()中调用start()......你就会进入start(),即使没有tick出现!