Erreurs, bugs, questions - page 383

 

Mon conseiller-expert commence à un moment donné à mal se comporter, un message apparaît dans le journal lorsqu'il est retiré du graphique :

Terminaison anormale

Lafonction OnDeinit est vide. Que signifie ce message ?

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
molotkovsm:

Mon conseiller-expert commence à un moment donné à mal se comporter, un message apparaît dans le journal lorsqu'il est retiré du graphique :

Terminaison anormale

Lafonction OnDeinit est vide. Que signifie ce message ?

Que c'est en boucle... ou quelque chose de similaire...
 
AlexSTAL:
Qu'il fait une fixation... ou quelque chose comme ça...
Quoi d'autre, une telle chose pourrait-elle être ? C'est juste que chaque tick de la cotation est affiché, avec les temps d'exécution des sections de code avec des boucles, tout semble aller bien.
 
molotkovsm:
Quoi d'autre, des choses similaires peuvent arriver ? C'est juste que chaque tick d'une cotation est affiché, avec le temps d'exécution des sections de code avec des boucles, tout semble aller bien.
Une terminaison anormale est apparue lorsque j'ai lancé une tâche nécessitant de gros calculs et que j'ai redémarré le terminal sans le savoir. Lorsque j'ai laissé le terminal travailler "seul" pendant environ 15 à 20 minutes, les résultats souhaités sont apparus.
 

Build 439, 441, Win XP 32-bit OS. Désactive les agents avec le message "Too slow agent...". La dernière construction qui a bien fonctionné, à mon avis, était la 425.

L'agent est trop lent...

 
Yedelkin:
Une terminaison anormale est apparue lorsque j'ai lancé une tâche nécessitant de gros calculs et que j'ai redémarré le terminal sans le savoir. Lorsque j'ai laissé le terminal travailler "seul" pendant environ 15 à 20 minutes, les résultats souhaités sont apparus.

Dans les grandes boucles, ajoutez IsStopped() comme condition de sortie.

 
MONTEGRO:

Build 439, 441, Win XP 32-bit OS. Désactive les agents avec le message "Too slow agent...". La dernière construction qui a bien fonctionné, à mon avis, était la 425.

Avez-vous uniquement des agents locaux ?

Cela sera corrigé sous peu

 
stringo:

Avez-vous uniquement des agents locaux ?

Non, ça arrive aussi à ceux qui sont à distance.

stringo:

Cette situation sera résolue dans un avenir proche

Ne serait-il pas génial de publier un paramètre configurable par l'utilisateur sur la durée moyenne pendant laquelle un agent est considéré comme attardé ?

 
MONTEGRO:

Non, ça arrive aussi à ceux qui sont à distance.

Ce serait génial, peut-être un paramètre configurable par l'utilisateur sur le temps moyen auquel un agent est considéré comme lent ?

Avec le local et le distant, c'est l'idée. S'il s'agit uniquement d'agents locaux, la vérification de la lenteur sera désactivée.

Nous n'allons pas introduire un paramètre personnalisé. Nous allons améliorer l'algorithme de détection des agents lents.

En fait, si le message "slow agent failed" apparaît, cela signifie que l'agent trop lent a dupliqué le travail qu'il était en train d'exécuter, et l'a donné à un autre agent. Et cet autre agent a terminé la tâche dupliquée avant l'"agent lent" (en tenant compte du fait que les tâches n'ont pas été distribuées en parallèle, mais avec un retard significatif). Donc, en effet, l'agent "lent" est trop lent, et il a été mis à l'écart pendant un certain temps.

 
stringo:

Dans les grandes boucles, ajoutez IsStopped() comme condition de sortie supplémentaire.

Exactement ! Vous utilisez souvent cette fonction dans votre bibliothèque standard - je commence maintenant à comprendre sa valeur pratique. Merci.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5