si può fare un ciclo in start() per controllare il nuovo tick e...isconnected()
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
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
Può aiutarvi in uno script, non EA.
in un EA in init() ?
in un EA in init() ?
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
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
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!
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
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