Matutin:
你可以在start()中循环,检查新的tick和...isconnected()。
但是,如果没有新的点数出现,如何帮助我在start()中进行循环?
例如,如果我自动重新启动终端,但没有连接,那么EA就不会进入循环。
qjol:
我可以用一个脚本来帮助你,而不是EA。
但是,如果没有新的tick出现,怎样才能帮助我循环到start()?
例如,如果我自动重新启动终端,但没有连接,那么EA就不会进入循环。
robofx.org:
可以在脚本中帮助你,而不是EA。
可以在脚本中帮助你,而不是EA。
在EA中输入init()?
qjol:
在一个EA中加入init()?
可能的。
在一个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出现!
谁能给我解释一下,IsConnected()在int start()之后如何工作?
如果在int start()之后写了什么,只有在一个新的tick之后才会执行,那么EA怎么能得到它?
谢谢