IsConnected()

 

Qualcuno può spiegarmi come IsConnected() può funzionare dopo int start()

se viene scritto qualcosa dopo int start() viene eseguito solo dopo un nuovo tick Come può l'EA arrivarci?

grazie

 

si può fare un ciclo in start() per controllare il nuovo tick e...isconnected()

 
Matutin:

puoi fare un loop in start() per controllare i nuovi tick e...isconnected()


Ma cosa mi aiuterebbe a fare un loop in start(), se non arriva un nuovo tick

per esempio, se riavvio automaticamente il terminale e non c'è connessione, l'EA non arriva al ciclo

 
qjol:


Ma cosa mi aiuterebbe a fare il loop in start(), se non arriva un nuovo tick

per esempio, se riavvio automaticamente il terminale e non c'è connessione, l'EA non arriva al ciclo

Posso aiutarti in uno script, non nell'EA.
 
robofx.org:
Può aiutarvi in uno script, non EA.

in un EA in init() ?
 
qjol:

in un EA in init() ?
Possibile.
 
 
robofx.org:
Possibile.


Scusate, dopo che int init() non ha funzionato, l'ho eliminato

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

 

Espandendo il mio link sopra... Eseguo un EA separato per monitorare lo stato della connessione. Fondamentalmente ha tutto il codice per il mio test codificato all'interno di start con uno sleep alla fine. Start è fondamentalmente un grande ciclo, quando finisce, torna all'inizio. Ma piuttosto che aspettare un tick per innescare lo start, chiamo start() dentro init(). In questo modo start() continua a fare il ciclo con lo sleep e init() non finisce mai, quindi il codice viene eseguito in base agli intervalli di tempo dallo sleep piuttosto che aspettare un tick... il link sopra mostra il principio...

hth

V

 
Viffer:

Espandendo il mio link sopra... Eseguo un EA separato per monitorare lo stato della connessione. Fondamentalmente ha tutto il codice per il mio test codificato all'interno di start con uno sleep alla fine. Start è fondamentalmente un grande ciclo, quando finisce, torna all'inizio. Ma piuttosto che aspettare un tick per innescare lo start, chiamo start() dentro init(). In questo modo start() continua a fare il ciclo con lo sleep e init() non finisce mai, quindi il codice viene eseguito in base agli intervalli di tempo dallo sleep piuttosto che aspettare un tick... il link sopra mostra il principio...

hth

V


grazie
 
qjol:


Ma cosa mi aiuterebbe a fare il loop in start(), se non arriva un nuovo tick

per esempio, se riavvio automaticamente il terminale e non c'è connessione, l'EA non arriva al ciclo


Basta chiamare start() da init () ...e sarai in start() anche se non arriva nessun tick!