IsConnected()

 

Quelqu'un peut-il m'expliquer comment IsConnected() peut fonctionner après int start() ?

si quelque chose est écrit après int start(), il ne s'exécute qu'après un nouveau tick. Comment l'EA peut-il y accéder ?

Merci

 

vous pouvez boucler dans start() pour vérifier le nouveau tick et...isconnected()

 
Matutin:

vous pouvez boucler dans start() pour vérifier le nouveau tick et...isconnected()


Mais qu'est-ce qui m'aiderait à boucler dans start(), si un nouveau tick n'est pas arrivé ?

par exemple, si je redémarre automatiquement le terminal et qu'il n'y a pas de connexion, l'EA n'est pas entré dans la boucle.

 
qjol:


Mais qu'est ce qui m'aiderait à boucler dans start(), si un nouveau tick n'est pas arrivé.

Par exemple, si je redémarre automatiquement le terminal et qu'il n'y a pas de connexion, l'EA n'entre pas dans la boucle.

Je peux vous aider avec un script, pas avec l'EA.
 
robofx.org:
Je peux vous aider dans un script, pas dans une EA.

dans un EA dans init() ?
 
qjol:

dans une EA dans init() ?
Possible.
 
 
robofx.org:
Possible.


Désolé, après que int init() n'ait pas fonctionné, je l'ai supprimé.

#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);
  }

 

En développant mon lien ci-dessus... J'exécute un EA séparé pour surveiller l'état de la connexion. Il a essentiellement tout le code pour mon test codé à l'intérieur de start avec un sleep à la fin. Start est essentiellement une grande boucle, quand elle se termine, elle retourne au début. Mais plutôt que d'attendre un tick pour déclencher le démarrage, j'appelle start() dans init(). De cette façon, start() continue à boucler avec le sleep et init() ne se termine jamais, donc le code s'exécute en fonction des intervalles de temps du sleep plutôt que d'attendre un tick... le lien ci-dessus montre le principe...

hth

V

 
Viffer:

En développant mon lien ci-dessus... J'exécute un EA séparé pour surveiller l'état de la connexion. Il a essentiellement tout le code pour mon test codé à l'intérieur de start avec un sleep à la fin. Start est essentiellement une grande boucle, quand elle se termine, elle retourne au début. Mais plutôt que d'attendre un tick pour déclencher le démarrage, j'appelle start() dans init(). De cette façon, start() continue à boucler avec le sleep et init() ne se termine jamais, donc le code s'exécute en fonction des intervalles de temps du sleep plutôt que d'attendre un tick... le lien ci-dessus montre le principe...

hth

V


merci
 
qjol:


Mais qu'est ce qui m'aiderait à boucler dans start(), si un nouveau tick n'est pas arrivé.

Par exemple, si je redémarre automatiquement le terminal et qu'il n'y a pas de connexion, l'EA n'entre pas dans la boucle.


Il suffit d'appeler start() depuis init () ...et vous serez dans start() même si aucun tick n'arrive !
Raison: