Ce que RefreshRates() met à jour - page 10

 
Le cache est simplement maintenu à jour uniquement si les données sont nécessaires (demandées par un EA ou si un graphique est ouvert).
 
Aleksey Mavrin:

C'est quoi le kizyak ? Un plat populaire bouriate ?)

Pourquoi inventer un cache de deux minutes. C'est simple - si vous devez accéder au tf toutes les 5 minutes, deux minutes suffisent. Si c'est toutes les minutes, alors 20-30 secondes, etc.

Non. Si c'est toutes les minutes, alors vous n'avez pas besoin d'une référence supplémentaire à la série chronologique - elle est déjà pertinente.

 
Roman:

Vous êtes-vous déjà demandé pourquoi les données doivent être consultées à une certaine fréquence ?

Renat a souvent mentionné que les données sont mises en cache avant d'être données à l'utilisateur.
En d'autres termes, si je comprends bien, lorsque nous appelons une fonction pour des données, nous demandons les données stockées dans le cache, et non sur le serveur.

Roman, le sujet continue de parler de séries temporelles, ne sont-elles pas le cache ? Vous pouvez les dessiner sur le graphique, vous pouvez les donner au conseiller expert sur demande. Des mots différents signifient la même chose.

 
Artyom Trishkin:

Non. Si c'est toutes les minutes, il n'est pas nécessaire de se référer aux feuilles de temps en plus - elles sont déjà à jour.

Oui, vous avez raison, c'était exagéré. Je n'ai pas essayé, mais je pense que même si la série chronologique (non ouverte) est consultée toutes les 3 à 5 minutes, elle sera toujours à jour.

 
Aleksey Mavrin:

Oui, vous avez raison, c'était exagéré. Je n'ai pas essayé, mais je pense que même si on accède à une minute (non ouverte) une fois toutes les 3-5 minutes, elle sera toujours mise à jour.

Au moins une fois toutes les deux minutes. Une fois toutes les 3 à 5 minutes est moins fréquent. Je règle généralement les séries chronologiques pour qu'elles soient accessibles après 90 secondes. Vous pouvez utiliser n'importe quelle fonction qui appelle le processus de synchronisation. Mais il faut toujours se rappeler que dans les indicateurs, il ne faut pas demander la synchronisation de la série temporelle qui coïncide avec le symbole actuel du graphique et sa période - cela peut mener à un accrochage. C'est écrit dans l'aide. Cela signifie que seuls les symboles/périodes "non-natifs" doivent être maintenus à jour dans les indicateurs en les adressant par les fonctions qui appellent le processus de synchronisation. iTime() par exemple.

 
Artyom Trishkin:

Mais vous devez toujours vous rappeler que dans les indicateurs, vous ne pouvez pas demander la synchronisation de la série temporelle, qui coïncide avec le symbole graphique actuel et sa période - cela peut conduire à un coin. C'est écrit dans l'aide.

Précisez ce que vous entendez par "synchronisation". Dans MQL4, la synchronisation est possible uniquement en accédant aux i-fonctions. D'après ce que vous avez dit, il s'avère qu'il ne peut pas être utilisé :

iTime(NULL, PERIOD_CURRENT, 1)

Mais une telle référence est utilisée en permanence.

 
Ihor Herasko:

Qu'entendez-vous par synchronisation ? Dans MQL4, la synchronisation est possible uniquement en accédant aux i-fonctions. D'après ce que vous avez dit, il s'avère qu'il ne peut pas être utilisé :

Mais ce genre de traitement est utilisé tout le temps.

Je parle de mql5 et uniquement des indicateurs. Dans les indicateurs de mql5, pour le symbole/période actuel du graphique, il y a des données toutes prêtes dans OnCalculate() - vous le savez. Pour les autres symboles/périodes - réception de données par le biais de fonctions. Et il fonctionne sur toutes les plates-formes. Je ne sais pas pour le clivage dans mql4 - je n'ai probablement pas ouvert le quadruple. Mais des constructions identiques fonctionnent de la même manière dans mql5 et mql4. Par conséquent, on peut utiliser les recommandations pour mql5 et pour quadruple sans "conséquences".

 
Artyom Trishkin:

Je parle de mql5

Un sujet dans le forum MQL4

 
Ihor Herasko:

Sujet dans le forum MQL4

Artyom Trishkin:

Je parle de mql5 et uniquement des indicateurs. Pour les indicateurs dans mql5, pour le symbole/période actuel d'un graphique il y a les données prêtes dans OnCalculate() - vous le savez vous-même. Pour les autres symboles/périodes - réception des données par les fonctions. Et il fonctionne sur toutes les plates-formes. Je ne sais pas pour la compensation dans mql4 - je n'ai probablement pas ouvert le quadruple. Mais des constructions identiques fonctionnent de la même manière dans mql5 et mql4. Par conséquent, on peut utiliser les recommandations pour mql5 et pour quadruple sans "conséquences".

 
Alexey Viktorov:

Le principe de la synchronisation des données dans MQL4 (où il n'y a pas du tout de synchronisation officielle) et MQL5 est différent. Quelles sont les mêmes constructions que celles dont nous parlons ?