EventSetMillisecondTimer

La funzione indica al terminale client che gli eventi timer dovrebbero essere generati ad intervalli di meno di un secondo, per questo Expert Advisor o indicatore.

bool  EventSetMillisecondTimer(
   int  milliseconds      // numero di millisecondi
   );

Parametri

millisecondi

[in] Numero di millisecondi che definiscono la frequenza degli eventi timer.

Valore restituito

In caso di esecuzione di successo, restituisce true, in caso contrario - false. Per ricevere un codice d'errore, dev'essere chiamata la funzione GetLastError().

Nota

Questa funzione è progettata per i casi in cui è necessario il timer ad alta risoluzione. In altre parole, gli eventi timer devono essere ricevuti più di una volta al secondo. Se un timer convenzionale con il periodo di più di un secondo è abbastanza per voi, usate EventSetTimer().

In generale, quando il periodo del timer viene ridotto, il tempo di prova è aumentato, come gestore di eventi timer viene chiamato più spesso. Quando si lavora in modalità real-time, gli eventi timer vengono generati non più di 1 volta a 10-16 millisecondi a causa di limitazioni hardware.

Di solito, questa funzione dovrebbe essere chiamata dalla funzione OnInit() o nella classe costruttore. Per gestire gli eventi provenienti dal timer, un Expert Advisor o un indicatore dovrebbe avere la funzione OnTimer().

Ogni Expert Advisor e ogni indicatore lavorano con un proprio timer ricevendo eventi esclusivamente da questo timer. Durante la chiusura dell'applicazione mql5, il timer viene forzatamente distrutto nel caso in cui è stato creato, ma non è stato disabilitato dala funzione EventKillTimer().

Solo un timer può essere lanciato per ogni programma. Ogni applicazione mql5 e chart hanno la loro coda di eventi in cui vengono inseriti tutti gli eventi appena arrivati. Se la coda contiene già l'evento Timer o questo evento è in fase di lavorazione, il nuovo evento Timer non viene aggiunto alla coda dell' applicazione mql5.