Comment créer une fonction pour traiter chaque milliseconde ?

 

Bonjour ! Comme vous le savez, il existe des fonctions intégrées de traitement des événements dans MQL4. Par exemple, comme OnTick() - qui traite chaque tick dans MetaTrader 4.

Question : Comment puis-je créer ma propre fonction personnalisée qui traitera chaque milliseconde ? Et le faire fonctionner séparément, comme Ontick() ?

PS : Je suis en train de créer une animation sur un graphique, et j'ai besoin que mon animation change avec l'arrivée de chaque nouvelle milliseconde, et non avec l'arrivée de chaque tick.

 

toutes les millisecondes pour rafraîchir une image?
c'est 1000 images par seconde, la carte vidéo va griller)

EventSetMillisecondTimer
 
Taras Slobodyanik:

chaque milliseconde pour rafraîchir une image ?
c'est 1000 images par seconde, la carte vidéo va griller...

Le problème est que mon animation fonctionne sans problème dans le testeur de stratégie, mais dès que je la passe en temps réel, elle se bloque en attendant un nouveau tick.

 
Taras Slobodyanik:

Chaque milliseconde pour rafraîchir l'image ?
C'est 1 000 images par seconde, la carte vidéo va griller).

Ok. Je vais essayer !

 
Yuriy Vins:

Le problème est que mon animation fonctionne dans le testeur de stratégie sans aucun problème, mais dès que je la place en temps réel, elle se bloque en attendant un nouveau tick.

La fréquence maximale de la fonction de minuterie est de 15-16 mc.

 
Ça ne marche pas jusqu'à présent. Je vais devoir lire un peu plus...
 
Quelqu'un peut-il recommander des liens vers des ressources vidéo où l'on enseigne la programmation mql dans un langage clair et compréhensible ?
 
Yuriy Vins:

Le problème est que mon animation fonctionne sans problème dans le testeur de stratégie, mais dès que je la place en temps réel, elle commence à se bloquer en attendant un nouveau tick.

Eh bien, rien ne change entre les tics. Pourquoi plus souvent ?
 
Yuriy Asaulenko:
Eh bien, rien ne change entre les tics. Pourquoi en avez-vous besoin plus souvent ?

C'est une animation! et je veux la programmer pour qu'elle ne dépende pas du tout de l'arrivée des tics. et elle fonctionne même si le marché est éteint et que rien ne se passe. Il y a toujours un moyen de le faire...

 
Yuriy Vins:

C'est une animation ! et je veux la programmer pour qu'elle ne dépende pas du tout de l'arrivée des tics. et elle fonctionne même si le marché est éteint et que rien ne se passe. Il y a toujours un moyen de le faire...

Je l'ai déjà mis en boucle et j'ai fait tout ce que je pouvais... (((

 
Yuriy Vins:
Ça ne marche pas encore. Je vais devoir en lire plus.

Dans OnInit() ajouter une ligne,

EventSetMillisecondTimer(16); 

et dans OnDeinit()

EventKillTimer(); 


Après cela, déplacez l'appel des fonctions de dessin de la fonction OnTick() à la fonction OnTimer().

Raison: