Archives de la version MT. - page 5

 
Roman:

Il ne s'agit pas d'une béquille, mais d'une pratique recommandée par les développeurs.
J'ai trouvé cette fonction dans la description de la boucle while

Une idée m'est venue à l'esprit : si cette fonction met fin à l'exécution du programme correctement, pourquoi ne pas l'utiliser pour TesterStop() ?
C'est dommage que cela ne fonctionne pas pour TesterStop(), nous allons le savoir maintenant.
Mais il est juste de demander aux développeurs si la fonctionIsStopped() doit fonctionner pour la fonction TesterStop() ?
C'est peut-être un bug ?

Mais l'essentiel est que nous ayons trouvé une solution au problème.

Je n'ai pas dit que cela ne fonctionnait pas. J'ai dit que TesterStop() nécessite que le test soit déjà en cours d'exécution depuis un certain temps. )))

Peut-être qu'après ça, ça marchera aussi...
 
Сергей Таболин:

Je n'ai pas dit que ça ne marchait pas. J'ai dit que TesterStop() nécessite que le test soit déjà en cours d'exécution depuis un certain temps. )))

Peut-être qu'après ça, ça marchera aussi...

Je l'ai maintenant.

 
Сергей Таболин:

Je comprends tout et je n'ai pas besoin de béquilles. Et j'ai dû chercher une béquille ici, lire pour quoi faire.

C'est possible. Mais je ne me souviens pas que quelqu'un s'en soit plaint.

Je peux avoir une explication ?

//+------------------------------------------------------------------+
double OnTester()
{
   if(tester_stop) return(нужное вам значение);

   остальной код
}

Quel est le reste du code ? Qu'est-ce que ce code exécute ?

 
Alexey Viktorov:

Je peux vous expliquer ?

Le reste du code, c'est quoi ? Qu'est-ce qui est exécuté dans ce code ?

Personnellement, j'ai un calcul de stabilité de croissance du bilan en cours. ))) Comme je l'ai déjà dit, je vais ouvrir une discussion sur ce sujet.

Et en général, tout peut y être compté.

 
Roman:

Il ne s'agit pas d'une béquille, mais d'une pratique recommandée par les développeurs.
J'ai trouvé cette fonction dans la description de la boucle while

C'est pourquoi j'ai eu une idée : si cette fonction vérifiele fait que le programme est forcé de s'arrêter, pourquoi ne pas l'utiliser pour TesterStop().
C'est dommage que cela ne fonctionne pas pour TesterStop(), nous allons le savoir maintenant.
Mais il est juste de demander aux développeurs si la fonctionIsStopped() doit fonctionner pour la fonction TesterStop() ?
C'est peut-être un bug ?

Mais surtout, une solution au problème a été trouvée.

Cette fonction est destinée à mettre fin à de telles boucles. L'arrêt forcé d'un programme est la fermeture d'une fenêtre Expert Advisor ou la fermeture du terminal lui-même. Si vous démarrez une boucle infinie sans vérifier la fonction IsStopped(), la boucle restant en mémoire continuera à fonctionner. La valeur renvoyée par IsStopped() permet d'interrompre la boucle lorsque le terminal est fermé. Dans d'autres cas, il est inutile, d'après ce que je comprends.

 
Сергей Таболин:

Personnellement, j'ai le calcul de la stabilité de la croissance du bilan en cours. ))) Comme je l'ai déjà dit, je vais ouvrir une discussion sur ce sujet.

Et en général, on peut y calculer n'importe quoi.

Mais la valeur renvoyée par OnTester est traitée quelque part, n'est-ce pas ?

Vous pouvez lire n'importe quoi, mais comment et où utiliser la valeur calculée est une autre question.

 
Alexey Viktorov:

Mais la valeur renvoyée par OnTester est traitée quelque part, n'est-ce pas ?

Vous pouvez lire n'importe quoi, mais comment et où utiliser la valeur calculée est une autre question.

Il est utilisé comme résultat de l'optimisation...


 
Сергей Таболин:

Ceci est utilisé comme résultat de l'optimisation...


Il ne s'agit pas d'une utilisation, mais d'un affichage du résultat de l'optimisation.

 
Alexey Viktorov:

Ce n'est pas l'usage, c'est l'affichage du résultat de l'optimisation.

OnTester() calcule ce résultat. Et l'usage... Je l'utilise pour évaluer l'optimisation...

 
Сергей Таболин:

OnTester() calcule ce résultat. Et l'usage... Je l'utilise pour évaluer l'optimisation...

Mais à en juger par ce morceau de code

//+------------------------------------------------------------------+
double OnTester()
{
   if(tester_stop) return(нужное вам значение);

   остальной код
}
la valeur renvoyée par cette fonction doit être traitée d'une manière ou d'une autre. À quoi sert de renvoyer "moins beaucoup de neuf" s'il n'y a pas de réaction à cela dans le code suivant ?