- OnStart
- OnInit
- OnDeinit
- OnTick
- OnCalculate
- OnTimer
- OnTrade
- OnTradeTransaction
- OnBookEvent
- OnChartEvent
- OnTester
- OnTesterInit
- OnTesterDeinit
- OnTesterPass
OnTimer
La fonction est appelée dans les indicateurs pendant l'évènement Timer généré par le terminal à des intervalles fixes de temps.
void OnTimer(void); |
Valeur de Retour
Aucune valeur de retour
Note
L'évènement Timer est générée périodiquement par le terminal client pour un EA, qui a activé le timer en utilisant la fonction EventSetTimer(). Habituellement, cette fonction est appelée dans la fonction OnInit(). Lorsque l'EA s'arrête de fonctionner, le timer doit être éliminé en utilisant EventKillTimer(), qui est habituellement appelé dans la fonction OnDeinit().
Chaque Expert Advisor et chaque indicateur fonctionne avec son propre timer recevant les évènements uniquement de ce timer. Pendant l'arrêt d'une application mql5, le timer est détruit obligatoirement dans le cas où il a été créé mais n'a pas été désactivé par la fonction EventKillTimer().
Si vous avez besoin de recevoir les évènements du timer plus d'une fois par seconde, utilisez EventSetMillisecondTimer() pour créer un timer haute résolution.
En général, lorsque la période du timer est réduite, le temps de test est augmenté puisque le handler des évènements du timer est appelé plus souvent. Lors du travail en temps réel, les évènements du timer ne sont pas générés plus d'une fois toutes les 10-16 millisecondes en raison des limitations matérielles.
Un seul timer peut être lancé pour chaque programme. Chaque application mql5 et chaque graphique ont leur propre queue d'évènements où tous les nouveaux évènements sont placés. Si la queue contient déjà l'évènement Timer ou que cet évènement est déjà en cours de traitement, alors le nouvel évènement NewTick n'est pas ajouté dans la queue de l'application mql5.
EA exemple avec la fonction OnTimer()
//+------------------------------------------------------------------+
|
Voir également
EventSetTimer, EventSetMillisecondTimer, EventKillTimer, GetTickCount, GetMicrosecondCount, Evènements du terminal client